From: Maria Matejka Date: Fri, 27 Jun 2025 17:44:35 +0000 (+0200) Subject: Merge remote-tracking branch 'origin/master' into thread-next X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fcf3a2ae74d14fff1dae9e65f51bb5e8c356a36f;p=thirdparty%2Fbird.git Merge remote-tracking branch 'origin/master' into thread-next --- fcf3a2ae74d14fff1dae9e65f51bb5e8c356a36f diff --cc proto/bgp/packets.c index 4f6890f73,4581e1f91..bdbeabd12 --- a/proto/bgp/packets.c +++ b/proto/bgp/packets.c @@@ -1130,14 -1103,11 +1132,15 @@@ bgp_apply_next_hop(struct bgp_parse_sta if (nbr->scope == SCOPE_HOST) WITHDRAW(BAD_NEXT_HOP " - address %I is local", nbr->addr); - a->dest = RTD_UNICAST; - a->nh.gw = nbr->addr; - a->nh.iface = nbr->iface; - a->nh.flags = nbr->flags & NEF_ONLINK ? RNF_ONLINK : 0; - a->igp_metric = c->cf->cost; + ea_set_attr_u32(to, &ea_gen_igp_metric, 0, c->cf->cost); + + struct nexthop_adata_mpls nam; + memset(&nam, 0, sizeof nam); + nam.nhad.nh.gw = nbr->addr; + nam.nhad.nh.iface = nbr->iface; ++ nam.nhad.nh.flags = nbr->flags & NEF_ONLINK ? RNF_ONLINK : 0; + nam.nhad.ad.length = NEXTHOP_NEXT(&nam.nhad.nh) - (void *) nam.nhad.ad.data; + ea_set_attr_data(to, &ea_gen_nexthop, 0, nam.nhad.ad.data, nam.nhad.ad.length); } else /* GW_RECURSIVE */ {