diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2015-04-22 10:53:15 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2015-04-22 10:53:15 +0200 |
commit | 90097f4fb924922b416247abf291fb21f39dc8e1 (patch) | |
tree | b411fbe875f06991f3e6deb8c7656ef8cf1aabbc /sysdep/bsd/krt-sock.c | |
parent | deec752ef941eef4c36c21c5c5426d08e98c7a44 (diff) |
KRT: Support for RTM_CHANGE on BSD
Diffstat (limited to 'sysdep/bsd/krt-sock.c')
-rw-r--r-- | sysdep/bsd/krt-sock.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdep/bsd/krt-sock.c b/sysdep/bsd/krt-sock.c index 73f69df5..aaf3b23c 100644 --- a/sysdep/bsd/krt-sock.c +++ b/sysdep/bsd/krt-sock.c @@ -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: |