From: Pablo Neira Ayuso Date: Tue, 27 May 2014 15:24:39 +0000 (+0200) Subject: parser: use symbolic expression for ether too X-Git-Tag: v0.3~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6ae104c470eba0f8ccd78177235cb5bc724a39f3;p=thirdparty%2Fnftables.git parser: use symbolic expression for ether too Like in 0dbced3 ("parser: use symbolic expressions for parsing keywords as protocol values"), convert `ether' to use a symbolic expression. This fixes: # nft add rule ip filter input meta iiftype ether # nft list table filter table ip filter { ... iiftype 256 which was converted to network byte order. Reported-by: Ana Rey Signed-off-by: Pablo Neira Ayuso --- diff --git a/src/parser.y b/src/parser.y index 20a836e7..38b655d7 100644 --- a/src/parser.y +++ b/src/parser.y @@ -1848,10 +1848,9 @@ eth_hdr_expr : ETHER eth_hdr_field } | ETHER { - uint16_t data = ARPHRD_ETHER; - $$ = constant_expr_alloc(&@$, &arphrd_type, - BYTEORDER_BIG_ENDIAN, - sizeof(data) * BITS_PER_BYTE, &data); + $$ = symbol_expr_alloc(&@$, SYMBOL_VALUE, + current_scope(state), + "ether"); } ;