summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_route.c1
-rw-r--r--tests/topotests/bgp_nexthop_ipv6/r4/show_bgp_ipv6_step2.json48
-rw-r--r--tests/topotests/bgp_nexthop_ipv6/r5/show_bgp_ipv6_step2.json48
3 files changed, 13 insertions, 84 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index d69c263196..5fd058b6b5 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -2472,6 +2472,7 @@ bool subgroup_announce_check(struct bgp_dest *dest, struct bgp_path_info *pi,
if (IN6_IS_ADDR_LINKLOCAL(&attr->mp_nexthop_local))
global_and_ll = true;
} else if (!ibgp_to_ibgp && !transparent &&
+ !CHECK_FLAG(from->af_flags[afi][safi], PEER_FLAG_REFLECTOR_CLIENT) &&
IN6_IS_ADDR_LINKLOCAL(&peer->nexthop.v6_local) && peer->shared_network &&
(from == bgp->peer_self || peer->sort == BGP_PEER_EBGP))
global_and_ll = true;
diff --git a/tests/topotests/bgp_nexthop_ipv6/r4/show_bgp_ipv6_step2.json b/tests/topotests/bgp_nexthop_ipv6/r4/show_bgp_ipv6_step2.json
index 35a31e63f9..5506f07f29 100644
--- a/tests/topotests/bgp_nexthop_ipv6/r4/show_bgp_ipv6_step2.json
+++ b/tests/topotests/bgp_nexthop_ipv6/r4/show_bgp_ipv6_step2.json
@@ -9,13 +9,7 @@
"ip": "fd00:0:2::1",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-sw",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
@@ -28,13 +22,7 @@
"ip": "fd00:0:2::2",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-sw",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
@@ -47,13 +35,7 @@
"ip": "fd00:0:2::3",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-sw",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
@@ -117,13 +99,7 @@
"ip": "fd00:0:2::1",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-sw",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
@@ -136,13 +112,7 @@
"ip": "fd00:0:2::2",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-sw",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
@@ -155,13 +125,7 @@
"ip": "fd00:0:2::3",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-sw",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
diff --git a/tests/topotests/bgp_nexthop_ipv6/r5/show_bgp_ipv6_step2.json b/tests/topotests/bgp_nexthop_ipv6/r5/show_bgp_ipv6_step2.json
index d0875474ae..afcf7c3ffc 100644
--- a/tests/topotests/bgp_nexthop_ipv6/r5/show_bgp_ipv6_step2.json
+++ b/tests/topotests/bgp_nexthop_ipv6/r5/show_bgp_ipv6_step2.json
@@ -9,13 +9,7 @@
"ip": "fd00:0:3::9",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-r5",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
@@ -28,13 +22,7 @@
"ip": "fd00:0:3::9",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-r5",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
@@ -47,13 +35,7 @@
"ip": "fd00:0:3::9",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-r5",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
@@ -117,13 +99,7 @@
"ip": "fd00:0:3::9",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-r5",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
@@ -136,13 +112,7 @@
"ip": "fd00:0:3::9",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-r5",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]
@@ -155,13 +125,7 @@
"ip": "fd00:0:3::9",
"hostname": "rr",
"afi": "ipv6",
- "scope": "global"
- },
- {
- "ip": "link-local:rr:eth-r5",
- "hostname": "rr",
- "afi": "ipv6",
- "scope": "link-local",
+ "scope": "global",
"used": true
}
]