]> git.puffer.fish Git - mirror/frr.git/commit
bgpd: fix invalid ipv4-vpn nexthop for IPv6 peer 12309/head
authorRyoga Saito <ryoga.saito@linecorp.com>
Sat, 12 Nov 2022 08:45:19 +0000 (17:45 +0900)
committerRyoga Saito <ryoga.saito@linecorp.com>
Thu, 17 Nov 2022 10:08:43 +0000 (19:08 +0900)
commit63e7ddb509435d9e178cf51a9a288273fb91bf7e
treecea6545a8fd15227f17375d91a345c854d424455
parent3db8aa8750d1be675f6df1ed765afeb101b6402b
bgpd: fix invalid ipv4-vpn nexthop for IPv6 peer

Given that two routers are connected each other and they have IPv6
addresses and they establish BGP peer with extended-nexthop capability
and one router tries to advertise locally-generated IPv4-VPN routes to
other router.

In this situation, bgpd on the router that tries to advertise IPv4-VPN
routes will be crashed with "invalid MP nexthop length (AFI IP6)".

This issue is happened because MP_REACH_NLRI path attribute is not
generated correctly when ipv4-vpn routes are advertised to IPv6 peer.
When IPv4 routes are leaked from VRF RIB, the nexthop of these routes
are also IPv4 address (0.0.0.0/0 or specific addresses). However,
bgp_packet_mpattr_start only covers the case of IPv6 nexthop (for IPv6
peer).

ipv4-unicast routes were not affected by this issue because the case of
IPv4 nexthop is covered in `else` block.

Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
bgpd/bgp_attr.c