From d2fba515ff94b4a8fb507ac8ca4c45ed25371c47 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Fri, 11 Jun 2021 17:29:14 +0200 Subject: src: add vlan dei the CFI bit has been repurposed as DEI "Drop Eligible Indicator" since 802.1Q-2011. The vlan cfi field is still retained for compatibility. Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1516 Signed-off-by: Pablo Neira Ayuso --- src/parser_bison.y | 2 ++ src/proto.c | 1 + src/scanner.l | 1 + 3 files changed, 4 insertions(+) (limited to 'src') diff --git a/src/parser_bison.y b/src/parser_bison.y index 136ae105..abce0479 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -327,6 +327,7 @@ int nft_lex(void *, void *, void *); %token VLAN "vlan" %token ID "id" %token CFI "cfi" +%token DEI "dei" %token PCP "pcp" %token ARP "arp" @@ -5227,6 +5228,7 @@ vlan_hdr_expr : VLAN vlan_hdr_field close_scope_vlan vlan_hdr_field : ID { $$ = VLANHDR_VID; } | CFI { $$ = VLANHDR_CFI; } + | DEI { $$ = VLANHDR_DEI; } | PCP { $$ = VLANHDR_PCP; } | TYPE { $$ = VLANHDR_TYPE; } ; diff --git a/src/proto.c b/src/proto.c index 63727605..2b61e0ba 100644 --- a/src/proto.c +++ b/src/proto.c @@ -1032,6 +1032,7 @@ const struct proto_desc proto_vlan = { }, .templates = { [VLANHDR_PCP] = VLANHDR_BITFIELD("pcp", 0, 3), + [VLANHDR_DEI] = VLANHDR_BITFIELD("dei", 3, 1), [VLANHDR_CFI] = VLANHDR_BITFIELD("cfi", 3, 1), [VLANHDR_VID] = VLANHDR_BITFIELD("id", 4, 12), [VLANHDR_TYPE] = VLANHDR_TYPE("type", ðertype_type, vlan_type), diff --git a/src/scanner.l b/src/scanner.l index 6dc1be89..6cc7778d 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -429,6 +429,7 @@ addrstring ({macaddr}|{ip4addr}|{ip6addr}) "id" { return ID; } { "cfi" { return CFI; } + "dei" { return DEI; } "pcp" { return PCP; } } "8021ad" { yylval->string = xstrdup(yytext); return STRING; } -- cgit v1.2.3