From: Ondrej Zajicek Date: Thu, 8 Apr 2010 16:41:17 +0000 (+0200) Subject: On BSD, consider unmarked non-device routes as alien. X-Git-Tag: v1.2.2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9f380fe83187a95ead715e516696024e73f3fb7;p=thirdparty%2Fbird.git On BSD, consider unmarked non-device routes as alien. --- diff --git a/sysdep/bsd/krt-sock.c b/sysdep/bsd/krt-sock.c index d991ea13f..9c8b71f78 100644 --- a/sysdep/bsd/krt-sock.c +++ b/sysdep/bsd/krt-sock.c @@ -296,7 +296,7 @@ krt_read_rt(struct ks_msg *msg, struct krt_proto *p, int scan) { log(L_ERR "%s (%I/%d) - missing gateway", errmsg, idst, pxlen); return; } u32 self_mask = RTF_PROTO1; - u32 alien_mask = RTF_STATIC | RTF_PROTO1; + u32 alien_mask = RTF_STATIC | RTF_PROTO1 | RTF_GATEWAY; #ifdef RTF_PROTO2 alien_mask |= RTF_PROTO2; @@ -306,6 +306,14 @@ krt_read_rt(struct ks_msg *msg, struct krt_proto *p, int scan) alien_mask |= RTF_PROTO3; #endif +#ifdef RTF_REJECT + alien_mask |= RTF_REJECT; +#endif + +#ifdef RTF_BLACKHOLE + alien_mask |= RTF_BLACKHOLE; +#endif + if (flags & (RTF_DYNAMIC | RTF_MODIFIED)) src = KRT_SRC_REDIRECT; else if (flags & self_mask)