diff options
Diffstat (limited to 'proto/bgp/attrs.c')
-rw-r--r-- | proto/bgp/attrs.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c index a7b6d0cd..4c67b161 100644 --- a/proto/bgp/attrs.c +++ b/proto/bgp/attrs.c @@ -94,13 +94,12 @@ void bgp_set_attr_u32(ea_list **to, uint code, uint flags, u32 val) void bgp_set_attr_ptr(ea_list **to, uint code, uint flags, const struct adata *ad) { ASSERT(bgp_attr_known(code)); - ASSERT_DIE(!(bgp_attr_table[code].type & EAF_EMBEDDED)); - ea_set_attr(to, EA_LITERAL_GENERIC( + ea_set_attr(to, EA_LITERAL_DIRECT_ADATA( EA_CODE(PROTOCOL_BGP, code), bgp_attr_table[code].type, flags & ~BAF_EXT_LEN, - .u.ad = ad + ad )); } @@ -109,7 +108,7 @@ bgp_set_attr_data(ea_list **to, uint code, uint flags, void *data, uint len) { ASSERT(bgp_attr_known(code)); - ea_set_attr(to, EA_LITERAL_ADATA( + ea_set_attr(to, EA_LITERAL_STORE_ADATA( EA_CODE(PROTOCOL_BGP, code), bgp_attr_table[code].type, flags & ~BAF_EXT_LEN, |