diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index 8072b83b49..3e46c7043e 100644 --- a/bgpd/bgp_route.h +++ b/bgpd/bgp_route.h @@ -469,12 +469,16 @@ struct bgp_aggregate { ? 0 \ : ((nhlen) < IPV6_MAX_BYTELEN ? AFI_IP : AFI_IP6)) +#define BGP_ATTR_MP_NEXTHOP_LEN_IP6(attr) \ + ((attr)->mp_nexthop_len == BGP_ATTR_NHLEN_IPV6_GLOBAL || \ + (attr)->mp_nexthop_len == BGP_ATTR_NHLEN_IPV6_GLOBAL_AND_LL || \ + (attr)->mp_nexthop_len == BGP_ATTR_NHLEN_VPNV6_GLOBAL || \ + (attr)->mp_nexthop_len == BGP_ATTR_NHLEN_VPNV6_GLOBAL_AND_LL) + #define BGP_ATTR_NEXTHOP_AFI_IP6(attr) \ - (!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP)) \ - && ((attr)->mp_nexthop_len == BGP_ATTR_NHLEN_IPV6_GLOBAL \ - || (attr)->mp_nexthop_len == BGP_ATTR_NHLEN_IPV6_GLOBAL_AND_LL \ - || (attr)->mp_nexthop_len == BGP_ATTR_NHLEN_VPNV6_GLOBAL \ - || (attr)->mp_nexthop_len == BGP_ATTR_NHLEN_VPNV6_GLOBAL_AND_LL)) + (!CHECK_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP)) && \ + BGP_ATTR_MP_NEXTHOP_LEN_IP6(attr)) + #define BGP_PATH_COUNTABLE(BI) \ (!CHECK_FLAG((BI)->flags, BGP_PATH_HISTORY) \ && !CHECK_FLAG((BI)->flags, BGP_PATH_REMOVED))