KRT: Support for RTM_CHANGE on BSD

This commit is contained in:
Ondrej Zajicek 2015-04-22 10:53:15 +02:00
parent deec752ef9
commit 90097f4fb9

View file

@ -336,7 +336,7 @@ krt_read_route(struct ks_msg *msg, struct krt_proto *p, int scan)
sockaddr dst, gate, mask; sockaddr dst, gate, mask;
ip_addr idst, igate, imask; ip_addr idst, igate, imask;
void *body = (char *)msg->buf; 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"; char *errmsg = "KRT: Invalid route received";
int flags = msg->rtm.rtm_flags; int flags = msg->rtm.rtm_flags;
int addrs = msg->rtm.rtm_addrs; 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; if(!scan) return;
case RTM_ADD: case RTM_ADD:
case RTM_DELETE: case RTM_DELETE:
case RTM_CHANGE:
krt_read_route(msg, (struct krt_proto *)p, scan); krt_read_route(msg, (struct krt_proto *)p, scan);
break; break;
case RTM_IFANNOUNCE: case RTM_IFANNOUNCE: