From: Florian Westphal Date: Thu, 27 Oct 2016 12:31:34 +0000 (+0200) Subject: meta: fix pkttype name and add 'other' symbol X-Git-Tag: v0.7~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a7f6de536408336770e352cde939f8cb09a644d;p=thirdparty%2Fnftables.git meta: fix pkttype name and add 'other' symbol 'unicast' doesn't check for unicast packets; it checks for PACKET_HOST, i.e. a packet coming in for this host. A unicast address to some other machine (e.g. because nic is in promisc mode) will have PACKET_OTHER. So at best this is misleading, so this patch changes it to 'host'. The unicast entry is retained for compat purpose. Signed-off-by: Florian Westphal Acked-by: Pablo Neira Ayuso --- diff --git a/src/meta.c b/src/meta.c index 34f9ee8e..bd1e4f28 100644 --- a/src/meta.c +++ b/src/meta.c @@ -327,9 +327,11 @@ static const struct datatype gid_type = { static const struct symbol_table pkttype_type_tbl = { .symbols = { - SYMBOL("unicast", PACKET_HOST), + SYMBOL("host", PACKET_HOST), + SYMBOL("unicast", PACKET_HOST), /* backwards compat */ SYMBOL("broadcast", PACKET_BROADCAST), SYMBOL("multicast", PACKET_MULTICAST), + SYMBOL("other", PACKET_OTHERHOST), SYMBOL_LIST_END, }, }; diff --git a/tests/py/any/meta.t b/tests/py/any/meta.t index a1249e8b..76ce06be 100644 --- a/tests/py/any/meta.t +++ b/tests/py/any/meta.t @@ -152,10 +152,10 @@ meta skgid 3000;ok;skgid 3000 meta rtclassid "cosmos";ok;rtclassid "cosmos" meta pkttype broadcast;ok;pkttype broadcast -meta pkttype unicast;ok;pkttype unicast +meta pkttype host;ok;pkttype host meta pkttype multicast;ok;pkttype multicast meta pkttype != broadcast;ok;pkttype != broadcast -meta pkttype != unicast;ok;pkttype != unicast +meta pkttype != host;ok;pkttype != host meta pkttype != multicast;ok;pkttype != multicast meta pkttype broadcastttt;fail meta pkttype { broadcast, multicast} accept;ok diff --git a/tests/py/any/meta.t.payload b/tests/py/any/meta.t.payload index 65d1cd42..f000bc80 100644 --- a/tests/py/any/meta.t.payload +++ b/tests/py/any/meta.t.payload @@ -530,7 +530,7 @@ ip test-ip4 input [ meta load pkttype => reg 1 ] [ cmp eq reg 1 0x00000001 ] -# meta pkttype unicast +# meta pkttype host ip test-ip4 input [ meta load pkttype => reg 1 ] [ cmp eq reg 1 0x00000000 ] @@ -545,7 +545,7 @@ ip test-ip4 input [ meta load pkttype => reg 1 ] [ cmp neq reg 1 0x00000001 ] -# meta pkttype != unicast +# meta pkttype != host ip test-ip4 input [ meta load pkttype => reg 1 ] [ cmp neq reg 1 0x00000000 ]