diff --git a/filter/f-util.c b/filter/f-util.c index 6a42b9d3..1f3c79a3 100644 --- a/filter/f-util.c +++ b/filter/f-util.c @@ -33,10 +33,10 @@ f_new_inst(void) } struct f_inst * -f_new_dynamic_attr(int code) +f_new_dynamic_attr(int type, int code) { struct f_inst *f = f_new_inst(); - f->aux = EAF_TYPE_INT | EAF_INLINE; + f->aux = type; f->a2.i = code; return f; } diff --git a/filter/filter.h b/filter/filter.h index bbf30408..3f05f6a3 100644 --- a/filter/filter.h +++ b/filter/filter.h @@ -57,7 +57,7 @@ struct filter { void filters_postconfig(void); struct f_inst *f_new_inst(void); -struct f_inst *f_new_dynamic_attr(int code); +struct f_inst *f_new_dynamic_attr(int type, int code); struct f_tree *f_new_tree(void); struct f_tree *build_tree(struct f_tree *); diff --git a/proto/rip/config.Y b/proto/rip/config.Y index e1094a50..99b0f9a4 100644 --- a/proto/rip/config.Y +++ b/proto/rip/config.Y @@ -98,8 +98,8 @@ rip_iface_list: | rip_iface_list ',' rip_iface ; -CF_ADDTO(dynamic_attr, RIP_METRIC { $$ = f_new_dynamic_attr(EA_RIP_METRIC); }) -CF_ADDTO(dynamic_attr, RIP_TAG { $$ = f_new_dynamic_attr(EA_RIP_TAG); }) +CF_ADDTO(dynamic_attr, RIP_METRIC { $$ = f_new_dynamic_attr(EAF_TYPE_INT | EAF_INLINE, EA_RIP_METRIC); }) +CF_ADDTO(dynamic_attr, RIP_TAG { $$ = f_new_dynamic_attr(EAF_TYPE_INT | EAF_INLINE, EA_RIP_TAG); }) CF_CODE