From 882968e0a2fe65db5aff29149c87f6d292a1cd2d Mon Sep 17 00:00:00 2001 From: Denis Ovsienko Date: Thu, 6 Sep 2007 14:34:41 +0000 Subject: + fixed bug #400: adjusted rtread_sysctl.c:route_read() --- zebra/ChangeLog | 6 ++++++ zebra/rtread_sysctl.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/zebra/ChangeLog b/zebra/ChangeLog index fa90cd14..646027b9 100644 --- a/zebra/ChangeLog +++ b/zebra/ChangeLog @@ -1,3 +1,9 @@ +2007-09-06 Denis Ovsienko + + * rtread_sysctl.c: (route_read) Set RTF_DONE on the routing + messages when fetching initial kernel FIB, so rtm_read() + doesn't skip them. + 2007-08-21 Denis Ovsienko * ioctl_solaris.c: (if_get_mtu) Don't break things if either diff --git a/zebra/rtread_sysctl.c b/zebra/rtread_sysctl.c index 88527b37..b8f5bde7 100644 --- a/zebra/rtread_sysctl.c +++ b/zebra/rtread_sysctl.c @@ -68,6 +68,8 @@ route_read (void) for (end = buf + bufsiz; buf < end; buf += rtm->rtm_msglen) { rtm = (struct rt_msghdr *) buf; + /* We must set RTF_DONE here, so rtm_read() doesn't ignore the message. */ + SET_FLAG (rtm->rtm_flags, RTF_DONE); rtm_read (rtm); } -- cgit v1.2.1