[quagga-dev 10868] Re: [PATCH 2/4] zebra: quagga-re-onlink-support.patch

Christian Franke chris at opensourcerouting.org
Tue Oct 29 11:39:40 GMT 2013

On 10/26/2013 05:39 PM, Joakim Tjernlund wrote:
> Christian Franke <nobody at nowhere.ws> wrote on 2013/10/24 16:45:58:
>> Quagga master supports NEXTHOP_IPV4_IFINDEX properly, so the only thing
>> that still has to be done on top of this patch would be adding a way
>> that allows routing daemons to set the NEXTHOP_FLAG_ONLINK via the IPC
>> protocol. (I only required that flag internally in zebra to address the
>> case of some recursive routes. Therefore, the patch didn't add a way to
>> set that flag via IPC, that shouldn't be too complicated though.)
> Would it have be explicit? Maybe it can be worked out "automagically"?
> If the networks don't match, just add ONLINK attribute ?

If I understand you correctly, you suggest that:
A ZEBRA_NEXTHOP_IPV4_IFINDEX should never be considered inactive as long
as the interface is present. Rather, if the IP address doesn't concur
with any configured IP-network on the interface, we should set onlink.

Although I feel like this might cause unexpected results, I couldn't
come up with an example of a problematic case, so it might viable to do
it that way.

One question that comes to my mind, though: Wouldn't it then be easier
to just always set onlink when we encounter ZEBRA_NEXTHOP_IPV4_IFINDEX?
The only difference that I see is that a route installed without onlink
will be removed from the FIB when the matching IP-Network is
deconfigured from the outgoing interface.
In that case, Zebra would notice that the route is gone and readd it
with onlink set if your suggested change was implemented, wouldn't it?


More information about the Quagga-dev mailing list