diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2004-01-28 01:56:27 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2004-01-28 01:56:27 +0000 |
commit | ef9eb28c476556da6147fec3f3756f0fb747652f (patch) | |
tree | 309c2a726a2278d078a9169045a08aa91ac74a05 /usr.sbin/bgpd | |
parent | ac5a4132f86ae478ac9a89cddd19c13541510ce9 (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.c | 7 |
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) { |