summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--filter/config.Y2
-rw-r--r--filter/filter.c2
-rw-r--r--nest/route.h2
-rw-r--r--nest/rt-attr.c4
-rw-r--r--proto/rip/config.Y4
-rw-r--r--proto/rip/rip.c4
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;
}