mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-08 12:49:18 +00:00
bgpd: Use defined constants for NHLEN instead of numeric values
This is better in cases when you need to find specific pattern and/or replacing. Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
This commit is contained in:
parent
90316c973f
commit
0606039c19
@ -781,12 +781,12 @@ void vpn_leak_from_vrf_update(struct bgp *bgp_vpn, /* to */
|
|||||||
static_attr.nexthop.s_addr = nexthop->u.prefix4.s_addr;
|
static_attr.nexthop.s_addr = nexthop->u.prefix4.s_addr;
|
||||||
|
|
||||||
static_attr.mp_nexthop_global_in = nexthop->u.prefix4;
|
static_attr.mp_nexthop_global_in = nexthop->u.prefix4;
|
||||||
static_attr.mp_nexthop_len = 4;
|
static_attr.mp_nexthop_len = BGP_ATTR_NHLEN_IPV4;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
static_attr.mp_nexthop_global = nexthop->u.prefix6;
|
static_attr.mp_nexthop_global = nexthop->u.prefix6;
|
||||||
static_attr.mp_nexthop_len = 16;
|
static_attr.mp_nexthop_len = BGP_ATTR_NHLEN_IPV6_GLOBAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -802,7 +802,8 @@ void vpn_leak_from_vrf_update(struct bgp *bgp_vpn, /* to */
|
|||||||
*/
|
*/
|
||||||
static_attr.mp_nexthop_global_in =
|
static_attr.mp_nexthop_global_in =
|
||||||
static_attr.nexthop;
|
static_attr.nexthop;
|
||||||
static_attr.mp_nexthop_len = 4;
|
static_attr.mp_nexthop_len =
|
||||||
|
BGP_ATTR_NHLEN_IPV4;
|
||||||
/*
|
/*
|
||||||
* XXX Leave static_attr.nexthop
|
* XXX Leave static_attr.nexthop
|
||||||
* intact for NHT
|
* intact for NHT
|
||||||
@ -821,7 +822,8 @@ void vpn_leak_from_vrf_update(struct bgp *bgp_vpn, /* to */
|
|||||||
&& !BGP_ATTR_NEXTHOP_AFI_IP6(path_vrf->attr)) {
|
&& !BGP_ATTR_NEXTHOP_AFI_IP6(path_vrf->attr)) {
|
||||||
static_attr.mp_nexthop_global_in.s_addr =
|
static_attr.mp_nexthop_global_in.s_addr =
|
||||||
static_attr.nexthop.s_addr;
|
static_attr.nexthop.s_addr;
|
||||||
static_attr.mp_nexthop_len = 4;
|
static_attr.mp_nexthop_len =
|
||||||
|
BGP_ATTR_NHLEN_IPV4;
|
||||||
static_attr.flag |=
|
static_attr.flag |=
|
||||||
ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP);
|
ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP);
|
||||||
}
|
}
|
||||||
|
@ -7269,7 +7269,8 @@ void route_vty_out(struct vty *vty, struct prefix *p,
|
|||||||
|
|
||||||
/* We display both LL & GL if both have been
|
/* We display both LL & GL if both have been
|
||||||
* received */
|
* received */
|
||||||
if ((attr->mp_nexthop_len == 32)
|
if ((attr->mp_nexthop_len
|
||||||
|
== BGP_ATTR_NHLEN_IPV6_GLOBAL_AND_LL)
|
||||||
|| (path->peer->conf_if)) {
|
|| (path->peer->conf_if)) {
|
||||||
json_nexthop_ll = json_object_new_object();
|
json_nexthop_ll = json_object_new_object();
|
||||||
json_object_string_add(
|
json_object_string_add(
|
||||||
@ -7301,7 +7302,8 @@ void route_vty_out(struct vty *vty, struct prefix *p,
|
|||||||
} else {
|
} else {
|
||||||
/* Display LL if LL/Global both in table unless
|
/* Display LL if LL/Global both in table unless
|
||||||
* prefer-global is set */
|
* prefer-global is set */
|
||||||
if (((attr->mp_nexthop_len == 32)
|
if (((attr->mp_nexthop_len
|
||||||
|
== BGP_ATTR_NHLEN_IPV6_GLOBAL_AND_LL)
|
||||||
&& !attr->mp_nexthop_prefer_global)
|
&& !attr->mp_nexthop_prefer_global)
|
||||||
|| (path->peer->conf_if)) {
|
|| (path->peer->conf_if)) {
|
||||||
if (path->peer->conf_if) {
|
if (path->peer->conf_if) {
|
||||||
|
@ -2856,12 +2856,15 @@ route_set_ipv6_nexthop_peer(void *rule, const struct prefix *pfx,
|
|||||||
/* Set next hop value and length in attribute. */
|
/* Set next hop value and length in attribute. */
|
||||||
if (IN6_IS_ADDR_LINKLOCAL(&peer_address)) {
|
if (IN6_IS_ADDR_LINKLOCAL(&peer_address)) {
|
||||||
path->attr->mp_nexthop_local = peer_address;
|
path->attr->mp_nexthop_local = peer_address;
|
||||||
if (path->attr->mp_nexthop_len != 32)
|
if (path->attr->mp_nexthop_len
|
||||||
path->attr->mp_nexthop_len = 32;
|
!= BGP_ATTR_NHLEN_IPV6_GLOBAL_AND_LL)
|
||||||
|
path->attr->mp_nexthop_len =
|
||||||
|
BGP_ATTR_NHLEN_IPV6_GLOBAL_AND_LL;
|
||||||
} else {
|
} else {
|
||||||
path->attr->mp_nexthop_global = peer_address;
|
path->attr->mp_nexthop_global = peer_address;
|
||||||
if (path->attr->mp_nexthop_len == 0)
|
if (path->attr->mp_nexthop_len == 0)
|
||||||
path->attr->mp_nexthop_len = 16;
|
path->attr->mp_nexthop_len =
|
||||||
|
BGP_ATTR_NHLEN_IPV6_GLOBAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (CHECK_FLAG(peer->rmap_type, PEER_RMAP_TYPE_OUT)) {
|
} else if (CHECK_FLAG(peer->rmap_type, PEER_RMAP_TYPE_OUT)) {
|
||||||
@ -2926,7 +2929,7 @@ route_set_vpnv4_nexthop(void *rule, const struct prefix *prefix,
|
|||||||
|
|
||||||
/* Set next hop value. */
|
/* Set next hop value. */
|
||||||
path->attr->mp_nexthop_global_in = *address;
|
path->attr->mp_nexthop_global_in = *address;
|
||||||
path->attr->mp_nexthop_len = 4;
|
path->attr->mp_nexthop_len = BGP_ATTR_NHLEN_IPV4;
|
||||||
}
|
}
|
||||||
|
|
||||||
return RMAP_OKAY;
|
return RMAP_OKAY;
|
||||||
|
@ -880,12 +880,12 @@ void add_vnc_route(struct rfapi_descriptor *rfd, /* cookie, VPN UN addr, peer */
|
|||||||
attr.nexthop.s_addr = nexthop->addr.v4.s_addr;
|
attr.nexthop.s_addr = nexthop->addr.v4.s_addr;
|
||||||
|
|
||||||
attr.mp_nexthop_global_in = nexthop->addr.v4;
|
attr.mp_nexthop_global_in = nexthop->addr.v4;
|
||||||
attr.mp_nexthop_len = 4;
|
attr.mp_nexthop_len = BGP_ATTR_NHLEN_IPV4;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
attr.mp_nexthop_global = nexthop->addr.v6;
|
attr.mp_nexthop_global = nexthop->addr.v6;
|
||||||
attr.mp_nexthop_len = 16;
|
attr.mp_nexthop_len = BGP_ATTR_NHLEN_IPV6_GLOBAL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -86,13 +86,13 @@ static void encap_attr_export_ce(struct attr *new, struct attr *orig,
|
|||||||
switch (use_nexthop->family) {
|
switch (use_nexthop->family) {
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
new->nexthop = use_nexthop->u.prefix4;
|
new->nexthop = use_nexthop->u.prefix4;
|
||||||
new->mp_nexthop_len = 4; /* bytes */
|
new->mp_nexthop_len = BGP_ATTR_NHLEN_IPV4; /* bytes */
|
||||||
new->flag |= ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP);
|
new->flag |= ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
new->mp_nexthop_global = use_nexthop->u.prefix6;
|
new->mp_nexthop_global = use_nexthop->u.prefix6;
|
||||||
new->mp_nexthop_len = 16; /* bytes */
|
new->mp_nexthop_len = BGP_ATTR_NHLEN_IPV6_GLOBAL; /* bytes */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -624,13 +624,13 @@ encap_attr_export(struct attr *new, struct attr *orig,
|
|||||||
switch (use_nexthop->family) {
|
switch (use_nexthop->family) {
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
new->nexthop = use_nexthop->u.prefix4;
|
new->nexthop = use_nexthop->u.prefix4;
|
||||||
new->mp_nexthop_len = 4; /* bytes */
|
new->mp_nexthop_len = BGP_ATTR_NHLEN_IPV4; /* bytes */
|
||||||
new->flag |= ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP);
|
new->flag |= ATTR_FLAG_BIT(BGP_ATTR_NEXT_HOP);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
new->mp_nexthop_global = use_nexthop->u.prefix6;
|
new->mp_nexthop_global = use_nexthop->u.prefix6;
|
||||||
new->mp_nexthop_len = 16; /* bytes */
|
new->mp_nexthop_len = BGP_ATTR_NHLEN_IPV6_GLOBAL; /* bytes */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user