]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
On BSD, consider unmarked non-device routes as alien.
authorOndrej Zajicek <santiago@crfreenet.org>
Thu, 8 Apr 2010 16:41:17 +0000 (18:41 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Thu, 8 Apr 2010 16:41:17 +0000 (18:41 +0200)
sysdep/bsd/krt-sock.c

index d991ea13fb9ae02ce3f194721ff20a91f71fe931..9c8b71f78aa3056f5976de71c0b68b2b74663824 100644 (file)
@@ -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)