summaryrefslogtreecommitdiff
path: root/proto/bgp/bgp.h
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2022-04-10 19:15:18 +0200
committerMaria Matejka <mq@ucw.cz>2022-05-04 15:37:41 +0200
commitef4313e1667a8745c8d8813ac78342ec7c035895 (patch)
tree30871174114bb21f0052f900d001ad9ce4fdc63e /proto/bgp/bgp.h
parentf2f3163f6c3fba7f9ef03640d7b2f6323873d2cc (diff)
Local route attributes are always allocated from tmp_linpool
Diffstat (limited to 'proto/bgp/bgp.h')
-rw-r--r--proto/bgp/bgp.h29
1 files changed, 4 insertions, 25 deletions
diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h
index d09a5c8f..de5bd836 100644
--- a/proto/bgp/bgp.h
+++ b/proto/bgp/bgp.h
@@ -544,32 +544,11 @@ bgp_find_attr(ea_list *attrs, uint code)
return ea_find(attrs, EA_CODE(PROTOCOL_BGP, code));
}
-eattr *
-bgp_set_attr(ea_list **attrs, struct linpool *pool, uint code, uint flags, union bval val);
+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);
+void bgp_set_attr_data(ea_list **to, uint code, uint flags, void *data, uint len);
-static inline void
-bgp_set_attr_u32(ea_list **to, struct linpool *pool, uint code, uint flags, u32 val)
-{
- union bval bv = { .data = val };
- bgp_set_attr(to, pool, code, flags, bv);
-}
-
-static inline void
-bgp_set_attr_ptr(ea_list **to, struct linpool *pool, uint code, uint flags, const struct adata *ad)
-{
- union bval bv = { .ptr = ad };
- bgp_set_attr(to, pool, code, flags, bv);
-}
-
-static inline void
-bgp_set_attr_data(ea_list **to, struct linpool *pool, uint code, uint flags, void *data, uint len)
-{
- struct adata *a = lp_alloc_adata(pool, len);
- bmemcpy(a->data, data, len);
- bgp_set_attr_ptr(to, pool, code, flags, a);
-}
-
-#define bgp_unset_attr(to, pool, code) ea_unset_attr(to, pool, 0, code)
+#define bgp_unset_attr(to, code) ea_unset_attr(to, 0, code)
int bgp_encode_mp_reach_mrt(struct bgp_write_state *s, eattr *a, byte *buf, uint size);