diff options
| author | Donald Sharp <donaldsharp72@gmail.com> | 2025-02-12 12:28:34 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-12 12:28:34 -0500 |
| commit | 219794cf2202759dfdab0dc730aae8e792581659 (patch) | |
| tree | 39701e74acc5f6c43f799877519b98c185d14001 | |
| parent | e9e72912a4c3e80c0c5ff89c21cb17e31363c904 (diff) | |
| parent | 8a64ccbf68e0e0058ebd069c1e41587a7745d0e0 (diff) | |
Merge pull request #18124 from FRRouting/mergify/bp/stable/10.2/pr-18062
Cid 1636504 (backport #18062)
| -rw-r--r-- | bgpd/bgp_evpn_mh.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/bgpd/bgp_evpn_mh.c b/bgpd/bgp_evpn_mh.c index 8acf4ea676..57f638240d 100644 --- a/bgpd/bgp_evpn_mh.c +++ b/bgpd/bgp_evpn_mh.c @@ -1198,10 +1198,9 @@ int bgp_evpn_type1_route_process(struct peer *peer, afi_t afi, safi_t safi, struct prefix_rd prd; esi_t esi; uint32_t eth_tag; - mpls_label_t label; + mpls_label_t label[BGP_MAX_LABELS] = {}; struct in_addr vtep_ip; struct prefix_evpn p; - uint8_t num_labels = 0; if (psize != BGP_EVPN_TYPE1_PSIZE) { flog_err(EC_BGP_EVPN_ROUTE_INVALID, @@ -1225,8 +1224,7 @@ int bgp_evpn_type1_route_process(struct peer *peer, afi_t afi, safi_t safi, eth_tag = ntohl(eth_tag); pfx += EVPN_ETH_TAG_BYTES; - memcpy(&label, pfx, BGP_LABEL_BYTES); - num_labels++; + memcpy(&label[0], pfx, BGP_LABEL_BYTES); /* EAD route prefix doesn't include the nexthop in the global * table @@ -1236,10 +1234,10 @@ int bgp_evpn_type1_route_process(struct peer *peer, afi_t afi, safi_t safi, /* Process the route. */ if (attr) { bgp_update(peer, (struct prefix *)&p, addpath_id, attr, afi, safi, ZEBRA_ROUTE_BGP, - BGP_ROUTE_NORMAL, &prd, &label, num_labels, 0, NULL); + BGP_ROUTE_NORMAL, &prd, &label[0], 1, 0, NULL); } else { bgp_withdraw(peer, (struct prefix *)&p, addpath_id, afi, safi, ZEBRA_ROUTE_BGP, - BGP_ROUTE_NORMAL, &prd, &label, num_labels); + BGP_ROUTE_NORMAL, &prd, &label[0], 1); } return 0; } |
