1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

ASPA: basic data structures and Static protocol support

This commit is contained in:
Maria Matejka
2023-10-15 16:04:36 +02:00
parent b95dc8f29f
commit 45a2e00509
14 changed files with 173 additions and 15 deletions

View File

@@ -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);