diff options
author | Maria Matejka <mq@ucw.cz> | 2022-05-05 19:28:56 +0200 |
---|---|---|
committer | Maria Matejka <mq@ucw.cz> | 2022-05-05 19:28:56 +0200 |
commit | f2e725a76882ba6b75c3ce4fb3c760bd83462410 (patch) | |
tree | 48883d91d8cdfaba9420efe33e1b81778e70b0a8 /lib | |
parent | 1c30b689ddd032ef8000fb7836348a48ba3184ff (diff) |
All outstanding MPLS label stacks are stored as adata
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ip.h | 4 | ||||
-rw-r--r-- | lib/route.h | 5 |
2 files changed, 4 insertions, 5 deletions
@@ -363,10 +363,6 @@ static inline ip6_addr ip6_ntoh(ip6_addr a) { return _MI6(ntohl(_I0(a)), ntohl(_I1(a)), ntohl(_I2(a)), ntohl(_I3(a))); } #define MPLS_MAX_LABEL_STACK 8 -typedef struct mpls_label_stack { - uint len; - u32 stack[MPLS_MAX_LABEL_STACK]; -} mpls_label_stack; static inline int mpls_get(const char *buf, int buflen, u32 *stack) diff --git a/lib/route.h b/lib/route.h index 8fdb5d8b..5423ada3 100644 --- a/lib/route.h +++ b/lib/route.h @@ -70,7 +70,6 @@ struct nexthop { struct nexthop *next; byte flags; byte weight; - byte labels_orig; /* Number of labels before hostentry was applied */ byte labels; /* Number of all labels */ u32 label[0]; }; @@ -314,6 +313,10 @@ extern struct ea_class ea_gen_source; static inline u32 rt_get_source_attr(rte *rt) { return ea_get_int(rt->attrs->eattrs, &ea_gen_source, 0); } +/* MPLS labels: Use with a recursive nexthop specification + * to add additional labels to the resolved nexthop */ +extern struct ea_class ea_mpls_labels; + /* Next hop structures */ #define NEXTHOP_MAX_SIZE (sizeof(struct nexthop) + sizeof(u32)*MPLS_MAX_LABEL_STACK) |