From e554701721cc00771cbd3700e69e9af449c23ff3 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Fri, 23 Jul 2021 18:15:42 +0200 Subject: scanner: rt: Extend scope over rt0, rt2 and srh These are technically all just routing headers with different types, so unify them under the same scope. Signed-off-by: Phil Sutter --- src/parser_bison.y | 6 +++--- src/scanner.l | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/parser_bison.y b/src/parser_bison.y index f7d74e59..cc739c47 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -5803,7 +5803,7 @@ rt_hdr_field : NEXTHDR { $$ = RTHDR_NEXTHDR; } | SEG_LEFT { $$ = RTHDR_SEG_LEFT; } ; -rt0_hdr_expr : RT0 rt0_hdr_field +rt0_hdr_expr : RT0 rt0_hdr_field close_scope_rt { $$ = exthdr_expr_alloc(&@$, &exthdr_rt0, $2); } @@ -5815,7 +5815,7 @@ rt0_hdr_field : ADDR '[' NUM ']' } ; -rt2_hdr_expr : RT2 rt2_hdr_field +rt2_hdr_expr : RT2 rt2_hdr_field close_scope_rt { $$ = exthdr_expr_alloc(&@$, &exthdr_rt2, $2); } @@ -5824,7 +5824,7 @@ rt2_hdr_expr : RT2 rt2_hdr_field rt2_hdr_field : ADDR { $$ = RT2HDR_ADDR; } ; -rt4_hdr_expr : RT4 rt4_hdr_field +rt4_hdr_expr : RT4 rt4_hdr_field close_scope_rt { $$ = exthdr_expr_alloc(&@$, &exthdr_rt4, $2); } diff --git a/src/scanner.l b/src/scanner.l index eb8c3a13..6975d9f2 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -643,13 +643,10 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) } "rt" { scanner_push_start_cond(yyscanner, SCANSTATE_EXPR_RT); return RT; } -"rt0" { return RT0; } -"rt2" { return RT2; } -"srh" { return RT4; } +"rt0" { scanner_push_start_cond(yyscanner, SCANSTATE_EXPR_RT); return RT0; } +"rt2" { scanner_push_start_cond(yyscanner, SCANSTATE_EXPR_RT); return RT2; } +"srh" { scanner_push_start_cond(yyscanner, SCANSTATE_EXPR_RT); return RT4; } "addr" { return ADDR; } -"last-entry" { return LAST_ENT; } -"tag" { return TAG; } -"sid" { return SID; } "hbh" { scanner_push_start_cond(yyscanner, SCANSTATE_EXPR_HBH); return HBH; } @@ -689,6 +686,9 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) "nexthop" { return NEXTHOP; } "seg-left" { return SEG_LEFT; } "mtu" { return MTU; } + "last-entry" { return LAST_ENT; } + "tag" { return TAG; } + "sid" { return SID; } } { "classid" { return CLASSID; } -- cgit v1.2.3