NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bin/40455 (route can't change reject to blackhole)
The problem is that rtsock is ignoring flags at RTM_CHANGE. Is this
patch resolving the issue ?
Index: sys/net/rtsock.c
===================================================================
RCS file: /cvsroot/src/sys/net/rtsock.c,v
retrieving revision 1.128
diff -u -p -r1.128 rtsock.c
--- sys/net/rtsock.c 2 May 2010 19:17:56 -0000 1.128
+++ sys/net/rtsock.c 2 May 2010 21:50:21 -0000
@@ -95,6 +95,8 @@ __KERNEL_RCSID(0, "$NetBSD: rtsock.c,v 1
DOMAIN_DEFINE(routedomain); /* forward declare and add to link set */
+#define PRESERVED_RTF (RTF_UP | RTF_GATEWAY | RTF_HOST | RTF_DONE |
RTF_MASK)
+
struct sockaddr route_dst = { .sa_len = 2, .sa_family = PF_ROUTE, };
struct sockaddr route_src = { .sa_len = 2, .sa_family = PF_ROUTE, };
@@ -437,6 +439,9 @@ route_output(struct mbuf *m, ...)
}
rt_setmetrics(rtm->rtm_inits, &rtm->rtm_rmx,
&rt->rt_rmx);
+ if (rt->rt_flags != info.rti_flags)
+ rt->rt_flags = (info.rti_flags & ~PRESERVED_RTF)
+ | (rt->rt_flags & PRESERVED_RTF);
if (rt->rt_ifa && rt->rt_ifa->ifa_rtrequest)
rt->rt_ifa->ifa_rtrequest(RTM_ADD, rt, &info);
/*FALLTHROUGH*/
--
Mihai
Home |
Main Index |
Thread Index |
Old Index