summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Scalbert <louis.scalbert@6wind.com>2024-03-28 15:00:37 +0100
committerLouis Scalbert <louis.scalbert@6wind.com>2024-04-23 11:28:36 +0200
commit2de4dfc97adfec788e45e148b4204196d612c81c (patch)
tree40ad22557824428ada250d3784da5858538569a8
parentee0378cdbb458f9d3710f1fb557368ace8d72477 (diff)
bgpd: fix "used" json key on link-local nexthop
When a peer has no IPv6 global address to send as nexthop, it sends the IPv6 link-local instead as global. "show bgp ipv6 json" displays the same address in global and link-local scopes. > "nexthops": [ > { > "ip": "fe80::a495:38ff:fea6:6ea3", > "afi": "ipv6", > "scope": "global", > "used": true > }, > { > "ip": "fe80::a495:38ff:fea6:6ea3", > "afi": "ipv6", > "scope": "link-local" > } > ] However, "used" key is set on the global nexthop but not in link-local. It is correct but it makes difficult to test JSON to expect the usage of a link-local. The contrary is also correct. Set "used" key on the link-local nexhop instead to facilitate the tests. Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
-rw-r--r--bgpd/bgp_route.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 848e8ffd8d..185ad0e317 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -9629,10 +9629,7 @@ void route_vty_out(struct vty *vty, const struct prefix *p,
json_object_string_add(json_nexthop_ll, "scope",
"link-local");
- if ((IPV6_ADDR_CMP(&attr->mp_nexthop_global,
- &attr->mp_nexthop_local) !=
- 0) &&
- !CHECK_FLAG(attr->nh_flags,
+ if (!CHECK_FLAG(attr->nh_flags,
BGP_ATTR_NH_MP_PREFER_GLOBAL))
json_object_boolean_true_add(
json_nexthop_ll, "used");