[quagga-dev 16686] Re: [PATCH] Fix bgpd NH validation for directly connected peers
paul at jakma.org
Tue Dec 19 22:43:07 GMT 2017
Thank you very much. Applied.
On Thu, 14 Dec 2017, Mathieu Jadin wrote:
> Since quagga-1.2.0, the Next Hop validation for directly connected peers
> using IPv6 does not work.
> In this setup, BGP updates contain two next hops: a global IPv6 address and a
> link-local IPv6 address (a correct behavior according to RFC 2545).
> This means that the length of the next hop attribute is 32 and not 16.
> The problem comes from the function "make_prefix()" in "bgpd/bgp_nht.c".
> It refuses to build a prefix structure for a route when the length of the
> next hop attribute is different from 16, even if a valid global IPv6 address
> is available.
> The route is mistakenly considered invalid and thus, it is not installed in
> the routing table.
> Therefore, I propose the attached patch to fix this issue.
> This should solve Bug-946 <https://bugzilla.quagga.net/show_bug.cgi?id=946>
> and the message [quagga-users 14883]
> Details: "make_prefix()" was not modified in quagga-1.2.0 but its
> interpretation was changed in commit 3dda6b3eccb9a2a88d607372c83c04c796e7daac
> Before this commit, the failure of "make_prefix()" was interpreted as a
> successful validation of the next hop.
Paul Jakma | paul at jakma.org | @pjakma | Key ID: 0xD86BF79464A2FF6A
"If he learns from his mistakes, pretty soon he'll know everything."
More information about the Quagga-dev