]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
KRT: Support for RTM_CHANGE on BSD
authorOndrej Zajicek <santiago@crfreenet.org>
Wed, 22 Apr 2015 08:53:15 +0000 (10:53 +0200)
committerPavel Tvrdík <pawel.tvrdik@gmail.cz>
Wed, 29 Apr 2015 11:43:15 +0000 (13:43 +0200)
sysdep/bsd/krt-sock.c

index 73f69df5ea02fabe547e78db8c7e5bfe6ef29d57..aaf3b23cec4a668a8308f0f55a8b74e7b513f709 100644 (file)
@@ -336,7 +336,7 @@ krt_read_route(struct ks_msg *msg, struct krt_proto *p, int scan)
   sockaddr dst, gate, mask;
   ip_addr idst, igate, imask;
   void *body = (char *)msg->buf;
-  int new = (msg->rtm.rtm_type == RTM_ADD);
+  int new = (msg->rtm.rtm_type != RTM_DELETE);
   char *errmsg = "KRT: Invalid route received";
   int flags = msg->rtm.rtm_flags;
   int addrs = msg->rtm.rtm_addrs;
@@ -732,6 +732,7 @@ krt_read_msg(struct proto *p, struct ks_msg *msg, int scan)
       if(!scan) return;
     case RTM_ADD:
     case RTM_DELETE:
+    case RTM_CHANGE:
       krt_read_route(msg, (struct krt_proto *)p, scan);
       break;
     case RTM_IFANNOUNCE: