From f2010f9c65ca69584c34c762fb3e5e957958478e Mon Sep 17 00:00:00 2001 From: Jan Moskyto Matejka Date: Mon, 13 Jun 2016 15:49:53 +0200 Subject: Static: Protocol rework wrt. struct nexthop changes; MPLS label support --- conf/confbase.Y | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'conf') diff --git a/conf/confbase.Y b/conf/confbase.Y index aec4aeb4..11393fe2 100644 --- a/conf/confbase.Y +++ b/conf/confbase.Y @@ -64,6 +64,7 @@ CF_DECLS struct proto_spec ps; struct channel_limit cl; struct timeformat *tf; + u32 *lbl; } %token END CLI_MARKER INVALID_TOKEN ELSECOL DDOT @@ -82,6 +83,7 @@ CF_DECLS %type ipa %type net_ip4_ net_ip6_ net_ip6 net_ip_ net_ip net_or_ipa %type net_ net_any net_roa4_ net_roa6_ net_roa_ +%type label_stack_start label_stack %type text opttext @@ -266,6 +268,22 @@ net_or_ipa: } ; +label_stack_start: NUM +{ + $$ = cfg_allocz(sizeof(u32) * (NEXTHOP_MAX_LABEL_STACK+1)); + $$[0] = 1; + $$[1] = $1; +}; + +label_stack: + label_stack_start + | label_stack '/' NUM { + if ($1[0] >= NEXTHOP_MAX_LABEL_STACK) + cf_error("Too many labels in stack."); + $1[++$1[0]] = $3; + $$ = $1; + } +; datetime: TEXT { -- cgit v1.2.3