From: Ondrej Zajicek Date: Tue, 4 Apr 2023 03:20:49 +0000 (+0200) Subject: BGP: Fix bgp_med handling X-Git-Tag: v3.0-alpha1~6^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f881b98d9b48e7a60c46dffc29009a86dac63233;p=thirdparty%2Fbird.git BGP: Fix bgp_med handling Missing translation from BGP attribute ID to eattr ID in bgp_unset_attr() broke automatic removal of bgp_med during export to EBGP peers. Thanks to Edward Sun for the bugreport. --- diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h index a36949c2a..0461ea28a 100644 --- a/proto/bgp/bgp.h +++ b/proto/bgp/bgp.h @@ -587,7 +587,9 @@ bgp_set_attr_data(ea_list **to, struct linpool *pool, uint code, uint flags, voi bgp_set_attr(to, pool, code, flags, (uintptr_t) a); } -#define bgp_unset_attr(to, pool, code) ea_unset_attr(to, pool, 0, code) +static inline void +bgp_unset_attr(ea_list **to, struct linpool *pool, uint code) +{ ea_unset_attr(to, pool, 0, EA_CODE(PROTOCOL_BGP, code)); } int bgp_encode_mp_reach_mrt(struct bgp_write_state *s, eattr *a, byte *buf, uint size);