From c5ca731e6433559bb5ed5a62deaef7f39ef89432 Mon Sep 17 00:00:00 2001 From: kh_shi Date: Thu, 12 Sep 2019 09:07:25 +0000 Subject: [PATCH] bgpd: prefer-global command not working on IPv4 peers `set ipv6 next-hop prefer-global` is not working on IPv4 peers. In MP-BGP, bgp routers can advertising IPv6 routes over IPv4 peers. Remove the peer's remote address AFI type checking. Signed-off-by: shikenghua --- bgpd/bgp_routemap.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c index b1f1819b6b..1835565364 100644 --- a/bgpd/bgp_routemap.c +++ b/bgpd/bgp_routemap.c @@ -2731,10 +2731,8 @@ route_set_ipv6_nexthop_prefer_global(void *rule, const struct prefix *prefix, path = object; peer = path->peer; - if ((CHECK_FLAG(peer->rmap_type, PEER_RMAP_TYPE_IN) - || CHECK_FLAG(peer->rmap_type, PEER_RMAP_TYPE_IMPORT)) - && peer->su_remote - && sockunion_family(peer->su_remote) == AF_INET6) { + if (CHECK_FLAG(peer->rmap_type, PEER_RMAP_TYPE_IN) + || CHECK_FLAG(peer->rmap_type, PEER_RMAP_TYPE_IMPORT)) { /* Set next hop preference to global */ path->attr->mp_nexthop_prefer_global = true; SET_FLAG(path->attr->rmap_change_flags, -- 2.39.5