These are technically all just routing headers with different types, so unify them under the same scope. Signed-off-by: Phil Sutter <phil@xxxxxx> --- src/parser_bison.y | 6 +++--- src/scanner.l | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/parser_bison.y b/src/parser_bison.y index c8fb154353924..a4f98e59e282a 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -5792,7 +5792,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); } @@ -5804,7 +5804,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); } @@ -5813,7 +5813,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 eb8c3a130aac9..6975d9f226ef2 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; } } <SCANSTATE_EXPR_RT,SCANSTATE_TYPE>{ "classid" { return CLASSID; } -- 2.34.1