From 0d0f6554a5c233bf2bf830ae319191c4b1808d49 Mon Sep 17 00:00:00 2001 From: Maria Matejka Date: Sat, 26 Mar 2022 11:56:02 +0100 Subject: Unified attribute and filter types This commit removes the EAF_TYPE_* namespace completely and also for route attributes, filter-based types T_* are used. This simplifies fetching and setting route attributes from filters. Also, there is now union bval which serves as an universal value holder instead of private unions held separately by eattr and filter code. --- proto/babel/babel.c | 6 +++--- proto/babel/config.Y | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'proto/babel') diff --git a/proto/babel/babel.c b/proto/babel/babel.c index 8040345f..a6cc7aa3 100644 --- a/proto/babel/babel.c +++ b/proto/babel/babel.c @@ -654,7 +654,7 @@ babel_announce_rte(struct babel_proto *p, struct babel_entry *e) *a0.eattrs = (ea_list) { .count = 3 }; a0.eattrs->attrs[0] = (eattr) { .id = EA_BABEL_METRIC, - .type = EAF_TYPE_INT, + .type = T_INT, .u.data = r->metric, }; @@ -663,13 +663,13 @@ babel_announce_rte(struct babel_proto *p, struct babel_entry *e) memcpy(ad->data, &(r->router_id), sizeof(u64)); a0.eattrs->attrs[1] = (eattr) { .id = EA_BABEL_ROUTER_ID, - .type = EAF_TYPE_OPAQUE, + .type = T_OPAQUE, .u.ptr = ad, }; a0.eattrs->attrs[2] = (eattr) { .id = EA_BABEL_SEQNO, - .type = EAF_TYPE_INT, + .type = T_INT, .u.data = r->seqno, }; diff --git a/proto/babel/config.Y b/proto/babel/config.Y index 05210fa4..fa745993 100644 --- a/proto/babel/config.Y +++ b/proto/babel/config.Y @@ -163,7 +163,7 @@ babel_iface_opt_list: babel_iface: babel_iface_start iface_patt_list_nopx babel_iface_opt_list babel_iface_finish; -dynamic_attr: BABEL_METRIC { $$ = f_new_dynamic_attr(EAF_TYPE_INT, T_INT, EA_BABEL_METRIC); } ; +dynamic_attr: BABEL_METRIC { $$ = f_new_dynamic_attr(T_INT, EA_BABEL_METRIC); } ; CF_CLI_HELP(SHOW BABEL, ..., [[Show information about Babel protocol]]); -- cgit v1.2.3