diff options
| author | Renato Westphal <renato@opensourcerouting.org> | 2017-05-19 10:51:00 -0300 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-05-20 13:06:45 -0400 |
| commit | 8b93b03839681a327900b26c2ee184420cccb7f3 (patch) | |
| tree | 1fcc660dd730b4c25c14faacce477918d4356431 /zebra/interface.c | |
| parent | e50d0a485751e5ed53ff3a283d51f3996ddc25ff (diff) | |
bgpd: fix sending of invalid nexthops on the wire
The bpacket_reformat_for_peer() function rewrites the nexthop of outgoing
route updates on a per-peer basis in order to handle route-maps ("set
ip next-hop") and locally-originated routes missing a nexthop.
In the latter case, RFC 4271 says the following: "When announcing a
locally-originated route to an internal peer, the BGP speaker SHOULD use
the interface address of the router through which the announced network
is reachable for the speaker as the NEXT_HOP".
We were doing this for regular IPv4/IPv6 routes, but not for
VPN/EVPN/ENCAP routes, which were being announced with invalid nexthops
(0.0.0.0 or ::).
This patch fixes this problem.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'zebra/interface.c')
0 files changed, 0 insertions, 0 deletions
