summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2014-05-27 17:24:39 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2014-05-27 18:04:48 +0200
commit6ae104c470eba0f8ccd78177235cb5bc724a39f3 (patch)
tree8cae623393ca5ae15f8a3b0f17cb1eb1f3bf4262
parentdcb0a6141f4d4c6f7ad9a051a7c129bc136caf0c (diff)
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 <anarey@gmail.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/parser.y7
1 files changed, 3 insertions, 4 deletions
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");
}
;