From 109153dde80ff0afde942fca4e23c9df6d2fc803 Mon Sep 17 00:00:00 2001 From: Trey Aspelund Date: Sun, 17 Jul 2022 02:13:43 +0000 Subject: [PATCH] bgpd: add BGP_ATTR_MP_NEXTHOP_LEN_IP6 macro Move the logic to check the mp_nexthop_len against v6 lengths into its own macro so we can apply that logic elsewhere on its own without always checking for presence of BGP_ATTR_NEXT_HOP. Signed-off-by: Trey Aspelund --- bgpd/bgp_route.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index 8072b83b4..3e46c7043 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)) -- 2.39.5