mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 03:53:38 +00:00
Merge pull request #5243 from ton31337/fix/do_not_include_nexthop_dash_dash_7.2
bgpd: [7.2] Do not send next-hop as :: in MP_REACH_NLRI if no link-local ex…
This commit is contained in:
commit
21aa0a2b7e
@ -1752,18 +1752,22 @@ int subgroup_announce_check(struct bgp_node *rn, struct bgp_path_info *pi,
|
|||||||
* if
|
* if
|
||||||
* the peer (group) is configured to receive link-local nexthop
|
* the peer (group) is configured to receive link-local nexthop
|
||||||
* unchanged
|
* unchanged
|
||||||
* and it is available in the prefix OR we're not reflecting the route
|
* and it is available in the prefix OR we're not reflecting the route,
|
||||||
* and
|
* link-local nexthop address is valid and
|
||||||
* the peer (group) to whom we're going to announce is on a shared
|
* the peer (group) to whom we're going to announce is on a shared
|
||||||
* network
|
* network
|
||||||
* and this is either a self-originated route or the peer is EBGP.
|
* and this is either a self-originated route or the peer is EBGP.
|
||||||
|
* By checking if nexthop LL address is valid we are sure that
|
||||||
|
* we do not announce LL address as `::`.
|
||||||
*/
|
*/
|
||||||
if (NEXTHOP_IS_V6) {
|
if (NEXTHOP_IS_V6) {
|
||||||
attr->mp_nexthop_len = BGP_ATTR_NHLEN_IPV6_GLOBAL;
|
attr->mp_nexthop_len = BGP_ATTR_NHLEN_IPV6_GLOBAL;
|
||||||
if ((CHECK_FLAG(peer->af_flags[afi][safi],
|
if ((CHECK_FLAG(peer->af_flags[afi][safi],
|
||||||
PEER_FLAG_NEXTHOP_LOCAL_UNCHANGED)
|
PEER_FLAG_NEXTHOP_LOCAL_UNCHANGED)
|
||||||
&& IN6_IS_ADDR_LINKLOCAL(&attr->mp_nexthop_local))
|
&& IN6_IS_ADDR_LINKLOCAL(&attr->mp_nexthop_local))
|
||||||
|| (!reflect && peer->shared_network
|
|| (!reflect
|
||||||
|
&& IN6_IS_ADDR_LINKLOCAL(&peer->nexthop.v6_local)
|
||||||
|
&& peer->shared_network
|
||||||
&& (from == bgp->peer_self
|
&& (from == bgp->peer_self
|
||||||
|| peer->sort == BGP_PEER_EBGP))) {
|
|| peer->sort == BGP_PEER_EBGP))) {
|
||||||
attr->mp_nexthop_len =
|
attr->mp_nexthop_len =
|
||||||
|
Loading…
Reference in New Issue
Block a user