summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Ovsienko <linux@pilot.org.ua>2007-10-24 13:13:21 +0000
committerDenis Ovsienko <linux@pilot.org.ua>2007-10-24 13:13:21 +0000
commit5619f56ba38b255f699f76b327cf82388c4a90cf (patch)
treef6402a98cb0f2fc507ec97fdbc1e0a515ff3ce1a
parentfbdbf1281660de877ef687a82145e82934f35744 (diff)
+ fix the bug reported by Milan Kocian (IPv6 route handling was broken by the RIB debug changeset).
after
-rw-r--r--zebra/ChangeLog6
-rw-r--r--zebra/kernel_socket.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/zebra/ChangeLog b/zebra/ChangeLog
index 0b5cefec..e152729d 100644
--- a/zebra/ChangeLog
+++ b/zebra/ChangeLog
@@ -1,3 +1,9 @@
+2007-10-24 Denis Ovsienko
+
+ * kernel_socket.c: (rtm_read) we used to ignore own messages,
+ but the RIB debug commit broke it for IPv6 case (reported
+ by Milan Kocian). Fixed.
+
2007-10-04 Denis Ovsienko
* zebra_rib.c: (rib_process) escape from the nexthop
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c
index cb23bf9f..a91d76f5 100644
--- a/zebra/kernel_socket.c
+++ b/zebra/kernel_socket.c
@@ -884,6 +884,11 @@ rtm_read (struct rt_msghdr *rtm)
#ifdef HAVE_IPV6
if (dest.sa.sa_family == AF_INET6)
{
+ /* One day we might have a debug section here like one in the
+ * IPv4 case above. Just ignore own messages at the moment.
+ */
+ if (rtm->rtm_type != RTM_GET && rtm->rtm_pid == pid)
+ return;
struct prefix_ipv6 p;
unsigned int ifindex = 0;