diff options
-rw-r--r-- | filter/config.Y | 2 | ||||
-rw-r--r-- | filter/filter.c | 2 | ||||
-rw-r--r-- | nest/route.h | 2 | ||||
-rw-r--r-- | nest/rt-attr.c | 4 | ||||
-rw-r--r-- | proto/rip/config.Y | 4 | ||||
-rw-r--r-- | proto/rip/rip.c | 4 |
6 files changed, 9 insertions, 9 deletions
diff --git a/filter/config.Y b/filter/config.Y index e99d5b7..0859ead 100644 --- a/filter/config.Y +++ b/filter/config.Y @@ -419,7 +419,7 @@ cmd: } | UNSET '(' rtadot dynamic_attr ')' ';' { $$ = $4; - $$->aux = EAF_TYPE_UNDEF | EAF_INLINE; + $$->aux = EAF_TYPE_UNDEF | EAF_TEMP; $$->code = P('e','S'); $$->a1.p = NULL; } diff --git a/filter/filter.c b/filter/filter.c index 7e52664..f0e9cd8 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -361,7 +361,7 @@ interpret(struct f_inst *what) break; } - if (what->aux & EAF_INLINE) { + if (!(what->aux & EAF_TEMP)) { *f_rte = rte_do_cow(*f_rte); l->next = (*f_rte)->attrs->eattrs; (*f_rte)->attrs->eattrs = l; diff --git a/nest/route.h b/nest/route.h index 375ea9b..aa21596 100644 --- a/nest/route.h +++ b/nest/route.h @@ -300,7 +300,7 @@ typedef struct eattr { #define EAF_TYPE_UNDEF 0x0f /* `force undefined' entry */ #define EAF_EMBEDDED 0x01 /* Data stored in eattr.u.data (part of type spec) */ #define EAF_VAR_LENGTH 0x02 /* Attribute length is variable */ -#define EAF_INLINE 0x80 /* Copy of an attribute inlined in rte (temporary ea_lists only) */ +#define EAF_TEMP 0x80 /* A temporary attribute (the one stored in the tmp attr list) */ struct adata { unsigned int length; diff --git a/nest/rt-attr.c b/nest/rt-attr.c index 43bf5fe..75cdf39 100644 --- a/nest/rt-attr.c +++ b/nest/rt-attr.c @@ -253,8 +253,8 @@ ea_dump(ea_list *e) { eattr *a = &e->attrs[i]; debug(" %02x:%02x.%02x", EA_PROTO(a->id), EA_ID(a->id), a->flags); - if (a->type & EAF_INLINE) - debug("*"); + if (a->type & EAF_TEMP) + debug("T"); debug("=%c", "?iO?I?P???S?????" [a->type & EAF_TYPE_MASK]); if (a->type & EAF_EMBEDDED) debug(":%08x", a->u.data); diff --git a/proto/rip/config.Y b/proto/rip/config.Y index 99b0f9a..6e9a72a 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(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_ADDTO(dynamic_attr, RIP_METRIC { $$ = f_new_dynamic_attr(EAF_TYPE_INT | EAF_TEMP, EA_RIP_METRIC); }) +CF_ADDTO(dynamic_attr, RIP_TAG { $$ = f_new_dynamic_attr(EAF_TYPE_INT | EAF_TEMP, EA_RIP_TAG); }) CF_CODE diff --git a/proto/rip/rip.c b/proto/rip/rip.c index 2808e05..1f35673 100644 --- a/proto/rip/rip.c +++ b/proto/rip/rip.c @@ -642,11 +642,11 @@ rip_gen_attrs(struct proto *p, struct linpool *pool, int metric, u16 tag) l->count = 2; l->attrs[0].id = EA_RIP_TAG; l->attrs[0].flags = 0; - l->attrs[0].type = EAF_TYPE_INT | EAF_INLINE; + l->attrs[0].type = EAF_TYPE_INT | EAF_TEMP; l->attrs[0].u.data = tag; l->attrs[1].id = EA_RIP_METRIC; l->attrs[1].flags = 0; - l->attrs[1].type = EAF_TYPE_INT | EAF_INLINE; + l->attrs[1].type = EAF_TYPE_INT | EAF_TEMP; l->attrs[1].u.data = metric; return l; } |