diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2006-11-16 15:55:30 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2006-11-16 15:55:30 +0000 |
commit | 09f75b12fec1215df03993a63bbb7f3b7774f58c (patch) | |
tree | 6c9f0135058c6a7f116ba03c863b3aeddc28c4de | |
parent | c63c36c18b18d84ae7b535b8fe4fb795d2d583eb (diff) |
ignore routing messages for alternate tables for now, from bgpd
-rw-r--r-- | usr.sbin/ospfd/kroute.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.sbin/ospfd/kroute.c b/usr.sbin/ospfd/kroute.c index c9de2511234..f85c9b24e4f 100644 --- a/usr.sbin/ospfd/kroute.c +++ b/usr.sbin/ospfd/kroute.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kroute.c,v 1.33 2006/05/30 22:06:14 claudio Exp $ */ +/* $OpenBSD: kroute.c,v 1.34 2006/11/16 15:55:29 henning Exp $ */ /* * Copyright (c) 2004 Esben Norby <norby@openbsd.org> @@ -778,7 +778,7 @@ int fetchtable(void) { size_t len; - int mib[6]; + int mib[7]; char *buf, *next, *lim; struct rt_msghdr *rtm; struct sockaddr *sa, *rti_info[RTAX_MAX]; @@ -792,6 +792,7 @@ fetchtable(void) mib[3] = AF_INET; mib[4] = NET_RT_DUMP; mib[5] = 0; + mib[6] = 0; /* rtableid */ if (sysctl(mib, 6, NULL, &len, NULL, 0) == -1) { log_warn("sysctl"); @@ -998,6 +999,9 @@ dispatch_rtmsg(void) flags = F_KERNEL; nexthop.s_addr = 0; + if (rtm->rtm_tableid != 0) + continue; + if (rtm->rtm_type == RTM_ADD || rtm->rtm_type == RTM_CHANGE || rtm->rtm_type == RTM_DELETE) { sa = (struct sockaddr *)(rtm + 1); |