summaryrefslogtreecommitdiff
path: root/nest/rt-attr.c
diff options
context:
space:
mode:
Diffstat (limited to 'nest/rt-attr.c')
-rw-r--r--nest/rt-attr.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/nest/rt-attr.c b/nest/rt-attr.c
index c8ef8e08..09176632 100644
--- a/nest/rt-attr.c
+++ b/nest/rt-attr.c
@@ -823,8 +823,10 @@ ea_free(ea_list *o)
}
static int
-get_generic_attr(const eattr *a, byte **buf, int buflen UNUSED)
+get_generic_attr(const eattr *a, byte **buf, int buflen)
{
+ byte *end = (*buf) + buflen;
+
switch (a->id)
{
case EA_GEN_IGP_METRIC:
@@ -843,6 +845,13 @@ get_generic_attr(const eattr *a, byte **buf, int buflen UNUSED)
*buf += bsprintf(*buf, "mpls_class");
return GA_NAME;
+ case EA_ASPA_PROVIDERS:
+ *buf += bsprintf(*buf, "aspa_providers");
+ *(*buf)++ = ':';
+ *(*buf)++ = ' ';
+ *buf += int_set_format(a->u.ptr, ISF_NUMBERS, -1, *buf, end - *buf);
+ return GA_FULL;
+
default:
return GA_UNKNOWN;
}
@@ -1007,7 +1016,7 @@ ea_show(struct cli *c, const eattr *e)
bsprintf(pos, "%08x", e->u.data);
break;
case EAF_TYPE_INT_SET:
- ea_show_int_set(c, ad, 1, pos, buf, end);
+ ea_show_int_set(c, ad, ISF_COMMUNITY_LIST, pos, buf, end);
return;
case EAF_TYPE_EC_SET:
ea_show_ec_set(c, ad, pos, buf, end);