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