From: Patrick McHardy Date: Fri, 11 Apr 2014 13:50:15 +0000 (+0200) Subject: parser: fix ether keyword clash X-Git-Tag: v0.2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45be073de9fc162f63b69e6fbec3474156bb363c;p=thirdparty%2Fnftables.git parser: fix ether keyword clash Due to the renaming of the "eth" keyword to "ether", parsing of arphrd type "ether" fails. Fix similar to TCP, UDP etc by allocating a constant arphrd expression for the ether keyword without a following key. Signed-off-by: Patrick McHardy --- diff --git a/src/parser.y b/src/parser.y index af348578..de5c0edf 100644 --- a/src/parser.y +++ b/src/parser.y @@ -1639,6 +1639,13 @@ eth_hdr_expr : ETHER eth_hdr_field { $$ = payload_expr_alloc(&@$, &proto_eth, $2); } + | ETHER + { + uint16_t data = ARPHRD_ETHER; + $$ = constant_expr_alloc(&@$, &arphrd_type, + BYTEORDER_BIG_ENDIAN, + sizeof(data) * BITS_PER_BYTE, &data); + } ; eth_hdr_field : SADDR { $$ = ETHHDR_SADDR; }