From 45be073de9fc162f63b69e6fbec3474156bb363c Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Fri, 11 Apr 2014 15:50:15 +0200 Subject: 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 --- src/parser.y | 7 +++++++ 1 file changed, 7 insertions(+) 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; } -- cgit v1.2.3