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 <anarey@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> --- src/parser.y | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/parser.y b/src/parser.y index 20a836e..38b655d 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"); } ; -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html