Some routes no longer getting flagged with 'GATEWAY' in fbsd >=8

Brian Somers brian at FreeBSD.org
Mon Jun 17 20:37:48 UTC 2013


Also relevant is this patch....

    http://patchwork.diac24.net/patch/494/mbox/

I guess it seems like more of a workaround than a fix though.


On Jun 17, 2013, at 12:18 PM, "Li, Qing" <qing.li at bluecoat.com> wrote:

> Hi,
> 
> I tried to keep the route messages to be legacy compatible due to reported 
> breakage at the time. Let me revisit the code and get back to you.
> 
> I haven't run the quagga code for years, so please don't mind me request
> some information from you offline.
> 
> --Qing
> 
> 
> ________________________________________
> From: owner-freebsd-net at freebsd.org [owner-freebsd-net at freebsd.org] on behalf of Mack Nagashima [freebsd at mackn.org]
> Sent: Monday, June 17, 2013 11:44 AM
> To: freebsd-net at freebsd.org
> Subject: Some routes no longer getting flagged with 'GATEWAY' in fbsd >=8
> 
> we're in the process of upgrading from fbsd 7 to 9 and noticed a change
> in behavior that might be problematic for us.
> 
> We use quagga to establish bgp sessions with a router.  We have it set
> to redistribute kernel routes.
> Zebra seems to drop anything that doesn't have the 'GATEWAY' flag set on
> a route.
> 
> Prior to fbsd8 this wasn't a problem.  Doing something like the
> following worked fine in fbsd7:
> 
> ifconfig em0 inet 192.168.100.1/24
> ifconfig lo0 inet 192.168.100.100/24 alias
> route add -nostatic 192.168.100.100/32 192.168.100.1
> 
> in fbsd7 this would yield a route with the flags <UP,GATEWAY> according
> to RTM_GET.
> in fbsd8+ the same would yield a route with <UP> without the GATEWAY flag.
> 
> However the RTM_ADD for the 'route add' comes in with <UP,GATEWAY,DONE>
> on fbsd8+ so quagga does add if it's up before the route gets added but
> starting quagga after the route is added ignores it since it's missing
> the GATEWAY flag once in the routing table.  (route delete also fails to
> propagate to quagga since the GATEWAY flag is missing)
> 
> I assume this is all due to the networking overhaul in fbsd8 and perhaps
> it no longer flags any route who's gateway is bound to ANY interface on
> the box as a gateway.
> 
> So the ultimate question is..  is there a way to get the legacy behavior
> and get them flagged with GATEWAY so zebra will see them or a better
> solution with the way networking now works...  (i noticed that issuing a
> 'route change' of an existing route with the GATEWAY flag set seems to
> work as it doesn't drop the flag when the gateway changes under it...)
> 
> Thanks in advance!
> 
> -mackn
> 

--
Brian Somers                                          <brian at Awfulhak.org>
Don't _EVER_ lose your sense of humour !               <brian at FreeBSD.org>



More information about the freebsd-net mailing list