diff options
author | pilot <pilot> | 2007-08-17 14:16:30 +0000 |
---|---|---|
committer | pilot <pilot> | 2007-08-17 14:16:30 +0000 |
commit | 508d97d446443fbef48c9e37a75fa56e07d531ba (patch) | |
tree | 2e9fe1b6046c5b822fcb38dc7c61dff54c4b316f /zebra/kernel_socket.c | |
parent | e32d73251d8178749324a80ad46deff94bc3e0cb (diff) | |
download | quagga-508d97d446443fbef48c9e37a75fa56e07d531ba.tar.bz2 quagga-508d97d446443fbef48c9e37a75fa56e07d531ba.tar.xz |
Fixed bug #394 "RTF_DONE is ignored in rtm_read()"
Diffstat (limited to 'zebra/kernel_socket.c')
-rw-r--r-- | zebra/kernel_socket.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c index 9d33dd44..9d2310b9 100644 --- a/zebra/kernel_socket.c +++ b/zebra/kernel_socket.c @@ -741,6 +741,8 @@ rtm_read (struct rt_msghdr *rtm) /* Read destination and netmask and gateway from rtm message structure. */ flags = rtm_read_mesg (rtm, &dest, &mask, &gate, ifname, &ifnlen); + if (!(flags & RTF_DONE)) + return; if (IS_ZEBRA_DEBUG_KERNEL) zlog_debug ("%s: got rtm of type %d (%s)", __func__, rtm->rtm_type, LOOKUP (rtm_type_str, rtm->rtm_type)); @@ -794,8 +796,6 @@ rtm_read (struct rt_msghdr *rtm) { char buf[INET_ADDRSTRLEN], gate_buf[INET_ADDRSTRLEN]; int ret; - if (!(flags & RTF_DONE)) - return; if (! IS_ZEBRA_DEBUG_RIB) return; ret = rib_lookup_ipv4_route (&p, &gate); |