summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2004-01-28 01:56:27 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2004-01-28 01:56:27 +0000
commitef9eb28c476556da6147fec3f3756f0fb747652f (patch)
tree309c2a726a2278d078a9169045a08aa91ac74a05 /usr.sbin/bgpd
parentac5a4132f86ae478ac9a89cddd19c13541510ce9 (diff)
log & ignore RTM_CHANGE messages for that we don't find an exact match
apparently pppd loves to issue change messages twice, once with and once without netmask, and in the latter case we have to play the classless game, which could lead to additional entries with wrong netmask in our internal view of the routing table.
Diffstat (limited to 'usr.sbin/bgpd')
-rw-r--r--usr.sbin/bgpd/kroute.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/kroute.c b/usr.sbin/bgpd/kroute.c
index 231803a1cd3..cd586e27c2b 100644
--- a/usr.sbin/bgpd/kroute.c
+++ b/usr.sbin/bgpd/kroute.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kroute.c,v 1.80 2004/01/27 22:15:13 henning Exp $ */
+/* $OpenBSD: kroute.c,v 1.81 2004/01/28 01:56:26 henning Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -1207,6 +1207,11 @@ dispatch_rtmsg(void)
kif_kr_insert(kr);
kr->r.flags = flags;
}
+ } else if (rtm->rtm_type == RTM_CHANGE) {
+ log_warnx("change req for %s/%u: not "
+ "in table", inet_ntoa(prefix),
+ prefixlen);
+ continue;
} else {
if ((kr = calloc(1,
sizeof(struct kroute_node))) == NULL) {