Hi Michael Thanks for the feedback.
On Mon, 25 Apr 2016 15:07:25 -0400, Michael Richardson <[email protected]> said: > [email protected] wrote: >> I'm starting to feel stupid talking to myself here. What are the >> magic words I need to say to get any kind of response to this issue? >> It's a rather fundamental difference in behaviuor and it breaks my use >> case. Help, please. >>>> I've been using quagga for a long time to implement router-style >>>> "loopback" addresses on multi-homed hosts, i.e. I configure a /128 on >>>> the lo device and announce it via BGP. The host receives a default >>>> route ::/0 and I use BGP policies to select which interface to prefer >>>> for outbound traffic. At the same time, the host uses SLAAC to >>>> set up a default route on each interface as a fallback. > Sounds reasonable. > you show: >>>> default via fe80::2a94:fff:fefd:5bc0 dev eth0 proto kernel metric >>>> 1024 expires 1794sec hoplimit 64 > vs >>>> default via fe80::207:7dff:fe76:5980 dev eth0 proto ra metric 1024 >>>> expires 1631sec hoplimit 64 >>>> The obvious difference is that the 3.16 kernel uses proto "ra" instead >>>> of proto "kernel" for the routes learned via SLAAC (i don't know in >>>> which kernel version this started to happen). I'm totally unfamiliar >>>> with the Quagga code, but a glance at >>>> zebra/rt_netlink.c:netlink_routing_table() seems to suggest that >>>> routes of type "kernel" are always ignored due to >>>> if (rtm->rtm_protocol == RTPROT_KERNEL) >>>> return 0; >>>> Since the routes in question are now using proto "ra", they are no >>>> longer ignored, hence the different behaviour of zebrad. >>>> So, my question is whether this is really how it's supposed to be. If >>>> so, how can I override it? I do believe that I should be able to do >>>> that. If it's a bug, maybe routes of type RTPROT_RA should be ignored >>>> as well? > It sounds reasonable to me. > if (rtm->rtm_protocol == RTPROT_KERNEL || rtm->rtm_protocol == RTPROT_RA) > Maybe change that line above and see if works for you? Yes, this solves my problem. If that's really the proper fix, it would be great if somebody could prepare a proper patch for this. -- Alex _______________________________________________ Quagga-dev mailing list [email protected] https://lists.quagga.net/mailman/listinfo/quagga-dev
