From: Maria Matejka Date: Mon, 30 May 2022 14:47:30 +0000 (+0200) Subject: Merge commit 'ef4313e1667a8745c8d8813ac78342ec7c035895' into haugesund X-Git-Tag: v3.0-alpha1~171^2~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d7bec897ab772cdccce10b296d4efd48d9181297;p=thirdparty%2Fbird.git Merge commit 'ef4313e1667a8745c8d8813ac78342ec7c035895' into haugesund --- d7bec897ab772cdccce10b296d4efd48d9181297 diff --cc proto/bgp/attrs.c index 5df9c0f42,a7b6d0cd8..e5165a96c --- a/proto/bgp/attrs.c +++ b/proto/bgp/attrs.c @@@ -2270,17 -2292,12 +2292,17 @@@ bgp_rte_modify_stale(struct rte *r, str if (ad && int_set_contains(ad, BGP_COMM_LLGR_STALE)) return r; - r = rte_cow_rta(r, pool); - bgp_set_attr_ptr(&(r->attrs->eattrs), BA_COMMUNITY, flags, + rta *a = rta_do_cow(r->attrs, pool); + + _Thread_local static rte e0; + e0 = *r; + e0.attrs = a; + - bgp_set_attr_ptr(&(a->eattrs), pool, BA_COMMUNITY, flags, ++ bgp_set_attr_ptr(&(a->eattrs), BA_COMMUNITY, flags, int_set_add(pool, ad, BGP_COMM_LLGR_STALE)); - r->pflags |= BGP_REF_STALE; + e0.pflags |= BGP_REF_STALE; - return r; + return &e0; }