]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
src: meta: always prefix 'meta' for almost all tokens
authorFlorian Westphal <fw@strlen.de>
Tue, 3 Jul 2018 14:16:51 +0000 (16:16 +0200)
committerFlorian Westphal <fw@strlen.de>
Sat, 21 Jul 2018 09:30:56 +0000 (11:30 +0200)
got following bug report:

nft add ... ct mark set mark and 0x10

... always sets 0.
What reporter meant to write instead was 'ct mark', not 'mark'.

We can't just remove support for 'mark' and force
'meta mark', but we can start to discourage it by printing meta prefix too.

Later on, we could start to print deprecation warning if needed.
Followup patch can also change
"iifname" etc. to "meta iifname".

Signed-off-by: Florian Westphal <fw@strlen.de>
19 files changed:
doc/nft.xml
src/meta.c
tests/py/any/ct.t
tests/py/any/dup.t
tests/py/any/dup.t.json
tests/py/any/dup.t.payload
tests/py/any/fwd.t
tests/py/any/fwd.t.json
tests/py/any/fwd.t.json.output
tests/py/any/fwd.t.payload
tests/py/any/meta.t
tests/py/bridge/meta.t
tests/py/bridge/reject.t
tests/py/inet/map.t
tests/py/inet/reject.t
tests/py/ip/ip_tcp.t
tests/py/ip/reject.t
tests/py/ip6/map.t
tests/py/ip6/reject.t

index 190a8eec098737d4ab6d1de5325b117826e16bbf..6fbf0399489b5433ca2a571cbdc42c5941368806 100644 (file)
@@ -3148,7 +3148,7 @@ filter prerouting fib saddr . iif oif missing drop
 filter prerouting fib daddr . iif type != { local, broadcast, multicast } drop
 
 # perform lookup in a specific 'blackhole' table (0xdead, needs ip appropriate ip rule)
-filter prerouting meta mark set 0xdead fib daddr . mark type vmap { blackhole : drop, prohibit : jump prohibited, unreachable : drop }
+filter prerouting meta mark set 0xdead fib daddr . meta mark type vmap { blackhole : drop, prohibit : jump prohibited, unreachable : drop }
                                        </programlisting>
                                </example>
                        </para>
index ff0cb122d7dfa694358e01084cf3d9da7f29ded6..1bd91db275d679dd4600b6675762a4d6d0c2e17b 100644 (file)
@@ -446,18 +446,15 @@ const struct meta_template meta_templates[] = {
                                                BITS_PER_BYTE, BYTEORDER_HOST_ENDIAN),
 };
 
-static bool meta_key_is_qualified(enum nft_meta_keys key)
+static bool meta_key_is_unqualified(enum nft_meta_keys key)
 {
        switch (key) {
-       case NFT_META_LEN:
-       case NFT_META_NFPROTO:
-       case NFT_META_L4PROTO:
-       case NFT_META_PROTOCOL:
-       case NFT_META_PRIORITY:
-       case NFT_META_PRANDOM:
-       case NFT_META_SECPATH:
-       case NFT_META_BRI_IIFNAME:
-       case NFT_META_BRI_OIFNAME:
+       case NFT_META_IIF:
+       case NFT_META_OIF:
+       case NFT_META_IIFNAME:
+       case NFT_META_OIFNAME:
+       case NFT_META_IIFGROUP:
+       case NFT_META_OIFGROUP:
                return true;
        default:
                return false;
@@ -466,11 +463,11 @@ static bool meta_key_is_qualified(enum nft_meta_keys key)
 
 static void meta_expr_print(const struct expr *expr, struct output_ctx *octx)
 {
-       if (meta_key_is_qualified(expr->meta.key))
-               nft_print(octx, "meta %s",
+       if (meta_key_is_unqualified(expr->meta.key))
+               nft_print(octx, "%s",
                          meta_templates[expr->meta.key].token);
        else
-               nft_print(octx, "%s",
+               nft_print(octx, "meta %s",
                          meta_templates[expr->meta.key].token);
 }
 
@@ -594,11 +591,11 @@ struct expr *meta_expr_alloc(const struct location *loc, enum nft_meta_keys key)
 
 static void meta_stmt_print(const struct stmt *stmt, struct output_ctx *octx)
 {
-       if (meta_key_is_qualified(stmt->meta.key))
-               nft_print(octx, "meta %s set ",
+       if (meta_key_is_unqualified(stmt->meta.key))
+               nft_print(octx, "%s set ",
                          meta_templates[stmt->meta.key].token);
        else
-               nft_print(octx, "%s set ",
+               nft_print(octx, "meta %s set ",
                          meta_templates[stmt->meta.key].token);
 
        expr_print(stmt->meta.expr, octx);
index 5ed3b4a0f0900524fdcca67fc5412085193f04cc..b5c13524408f3a2026f0259025165232ad3e5434 100644 (file)
@@ -55,8 +55,8 @@ ct mark set 0x11 xor 0x1331;ok;ct mark set 0x00001320
 ct mark set 0x11333 and 0x11;ok;ct mark set 0x00000011
 ct mark set 0x12 or 0x11;ok;ct mark set 0x00000013
 ct mark set 0x11;ok;ct mark set 0x00000011
-ct mark set mark;ok;ct mark set mark
-ct mark set mark map { 1 : 10, 2 : 20, 3 : 30 };ok;ct mark set mark map { 0x00000003 : 0x0000001e, 0x00000002 : 0x00000014, 0x00000001 : 0x0000000a}
+ct mark set mark;ok;ct mark set meta mark
+ct mark set mark map { 1 : 10, 2 : 20, 3 : 30 };ok;ct mark set meta mark map { 0x00000003 : 0x0000001e, 0x00000002 : 0x00000014, 0x00000001 : 0x0000000a}
 
 ct mark set {0x11333, 0x11};fail
 ct zone set {123, 127};fail
@@ -130,7 +130,7 @@ ct reply zone 1;ok
 ct zone set 1;ok
 ct original zone set 1;ok
 ct reply zone set 1;ok
-ct zone set mark map { 1 : 1,  2 : 2 };ok;ct zone set mark map { 0x00000001 : 1, 0x00000002 : 2}
+ct zone set mark map { 1 : 1,  2 : 2 };ok;ct zone set meta mark map { 0x00000001 : 1, 0x00000002 : 2}
 ct both zone set 1;fail
 
 ct invalid;fail
index d42cf343d7d16bfcab2eafa4159924229592aada..181b4195f7c27df8753ba5988ca926932fe62d92 100644 (file)
@@ -3,5 +3,5 @@
 *netdev;test-netdev;ingress
 
 dup to "lo";ok
-dup to mark map { 0x00000001 : "lo", 0x00000002 : "lo"};ok
+dup to meta mark map { 0x00000001 : "lo", 0x00000002 : "lo"};ok
 
index 5927f7ea3db28ca2de8242b7f15b89bb2c7158d4..030938581abe5935e7caf87cdb384fd4d4739f84 100644 (file)
@@ -7,7 +7,7 @@
     }
 ]
 
-# dup to mark map { 0x00000001 : "lo", 0x00000002 : "lo"}
+# dup to meta mark map { 0x00000001 : "lo", 0x00000002 : "lo"}
 [
     {
         "dup": {
index 4a615b2fe2e96cd95cec89d8cec5f6feb2f18dd6..51ff782c0525f6de22c78b4df407e99bd1f88999 100644 (file)
@@ -3,7 +3,7 @@ netdev test-netdev ingress
   [ immediate reg 1 0x00000001 ]
   [ dup sreg_dev 1 ]
 
-# dup to mark map { 0x00000001 : "lo", 0x00000002 : "lo"}
+# dup to meta mark map { 0x00000001 : "lo", 0x00000002 : "lo"}
 __map%d test-netdev b
 __map%d test-netdev 0
        element 00000001  : 00000001 0 [end]    element 00000002  : 00000001 0 [end]
index 986a16d9e2c8c40977bcc56c5c400043b6c30811..2e34d55a9702d6aca8611c361f7d12e7cdcb35b7 100644 (file)
@@ -3,6 +3,6 @@
 *netdev;test-netdev;ingress
 
 fwd to "lo";ok
-fwd to mark map { 0x00000001 : "lo", 0x00000002 : "lo"};ok
+fwd to meta mark map { 0x00000001 : "lo", 0x00000002 : "lo"};ok
 
 fwd ip to 192.168.2.200 device "lo";ok
index e58a8ad25829b7d933ea0ed4bdc69220e291b30f..c4ad430f3a2345db9c92242732497b5cf7b0afec 100644 (file)
@@ -7,7 +7,7 @@
     }
 ]
 
-# fwd to mark map { 0x00000001 : "lo", 0x00000002 : "lo"}
+# fwd to meta mark map { 0x00000001 : "lo", 0x00000002 : "lo"}
 [
     {
         "fwd": {
index e4bad620b22d44bd5f6a2de8544df17ed112a92d..e5f66a3619639aaa9c64092cc3384644b7378e6e 100644 (file)
@@ -1,4 +1,4 @@
-# fwd to mark map { 0x00000001 : "lo", 0x00000002 : "lo"}
+# fwd to meta mark map { 0x00000001 : "lo", 0x00000002 : "lo"}
 [
     {
         "fwd": {
index 966c08b0959c3862e4aed244c714f94cf9e4d61c..f03077a60e2d1c91183bb32c1ed439025e2624e9 100644 (file)
@@ -3,7 +3,7 @@ netdev test-netdev ingress
   [ immediate reg 1 0x00000001 ]
   [ fwd sreg_dev 1 ]
 
-# fwd to mark map { 0x00000001 : "lo", 0x00000002 : "lo"}
+# fwd to meta mark map { 0x00000001 : "lo", 0x00000002 : "lo"}
 __map%d test-netdev b
 __map%d test-netdev 0
        element 00000001  : 00000001 0 [end]    element 00000002  : 00000001 0 [end]
index b3bb0504f0ff79dfe5db16b5bbb92cae0f706bf3..d69b8b4eaf0bf5e38942eab31b2bd9ad16a69cf9 100644 (file)
@@ -49,17 +49,17 @@ meta priority {bcad:dada, bcad:dadc, aaaa:bbbb};ok
 meta priority set cafe:beef;ok
 meta priority != {bcad:dada, bcad:dadc, aaaa:bbbb};ok
 
-meta mark 0x4;ok;mark 0x00000004
-meta mark 0x32;ok;mark 0x00000032
-meta mark and 0x03 == 0x01;ok;mark & 0x00000003 == 0x00000001
-meta mark and 0x03 != 0x01;ok;mark & 0x00000003 != 0x00000001
-meta mark 0x10;ok;mark 0x00000010
-meta mark != 0x10;ok;mark != 0x00000010
-
-meta mark or 0x03 == 0x01;ok;mark | 0x00000003 == 0x00000001
-meta mark or 0x03 != 0x01;ok;mark | 0x00000003 != 0x00000001
-meta mark xor 0x03 == 0x01;ok;mark 0x00000002
-meta mark xor 0x03 != 0x01;ok;mark != 0x00000002
+meta mark 0x4;ok;meta mark 0x00000004
+meta mark 0x32;ok;meta mark 0x00000032
+meta mark and 0x03 == 0x01;ok;meta mark & 0x00000003 == 0x00000001
+meta mark and 0x03 != 0x01;ok;meta mark & 0x00000003 != 0x00000001
+meta mark 0x10;ok;meta mark 0x00000010
+meta mark != 0x10;ok;meta mark != 0x00000010
+
+meta mark or 0x03 == 0x01;ok;meta mark | 0x00000003 == 0x00000001
+meta mark or 0x03 != 0x01;ok;meta mark | 0x00000003 != 0x00000001
+meta mark xor 0x03 == 0x01;ok;meta mark 0x00000002
+meta mark xor 0x03 != 0x01;ok;meta mark != 0x00000002
 
 meta iif "lo" accept;ok;iif "lo" accept
 meta iif != "lo" accept;ok;iif != "lo" accept
@@ -72,12 +72,12 @@ meta iifname "dummy*";ok;iifname "dummy*"
 meta iifname "dummy\*";ok;iifname "dummy\*"
 meta iifname "";fail
 
-meta iiftype {ether, ppp, ipip, ipip6, loopback, sit, ipgre};ok;iiftype {ether, ppp, ipip, ipip6, loopback, sit, ipgre}
-meta iiftype != {ether, ppp, ipip, ipip6, loopback, sit, ipgre};ok;iiftype != {ether, ppp, ipip, ipip6, loopback, sit, ipgre}
-meta iiftype != ether;ok;iiftype != ether
-meta iiftype ether;ok;iiftype ether
-meta iiftype != ppp;ok;iiftype != ppp
-meta iiftype ppp;ok;iiftype ppp
+meta iiftype {ether, ppp, ipip, ipip6, loopback, sit, ipgre};ok
+meta iiftype != {ether, ppp, ipip, ipip6, loopback, sit, ipgre};ok
+meta iiftype != ether;ok
+meta iiftype ether;ok
+meta iiftype != ppp;ok
+meta iiftype ppp;ok
 
 meta oif "lo" accept;ok;oif "lo" accept
 meta oif != "lo" accept;ok;oif != "lo" accept
@@ -91,34 +91,34 @@ meta oifname "dummy*";ok;oifname "dummy*"
 meta oifname "dummy\*";ok;oifname "dummy\*"
 meta oifname "";fail
 
-meta oiftype {ether, ppp, ipip, ipip6, loopback, sit, ipgre};ok;oiftype {ether, ppp, ipip, ipip6, loopback, sit, ipgre}
-meta oiftype != {ether, ppp, ipip, ipip6, loopback, sit, ipgre};ok;oiftype != {ether, ppp, ipip, ipip6, loopback, sit, ipgre}
-meta oiftype != ether;ok;oiftype != ether
-meta oiftype ether;ok;oiftype ether
-
-meta skuid {"bin", "root", "daemon"} accept;ok;skuid { 0, 1, 2} accept
-meta skuid != {"bin", "root", "daemon"} accept;ok;skuid != { 1, 0, 2} accept
-meta skuid "root";ok;skuid 0
-meta skuid != "root";ok;skuid != 0
-meta skuid lt 3000 accept;ok;skuid < 3000 accept
-meta skuid gt 3000 accept;ok;skuid > 3000 accept
-meta skuid eq 3000 accept;ok;skuid 3000 accept
-meta skuid 3001-3005 accept;ok;skuid 3001-3005 accept
-meta skuid != 2001-2005 accept;ok;skuid != 2001-2005 accept
-meta skuid { 2001-2005} accept;ok;skuid { 2001-2005} accept
-meta skuid != { 2001-2005} accept;ok;skuid != { 2001-2005} accept
-
-meta skgid {"bin", "root", "daemon"} accept;ok;skgid { 0, 1, 2} accept
-meta skgid != {"bin", "root", "daemon"} accept;ok;skgid != { 1, 0, 2} accept
-meta skgid "root";ok;skgid 0
-meta skgid != "root";ok;skgid != 0
-meta skgid lt 3000 accept;ok;skgid < 3000 accept
-meta skgid gt 3000 accept;ok;skgid > 3000 accept
-meta skgid eq 3000 accept;ok;skgid 3000 accept
-meta skgid 2001-2005 accept;ok;skgid 2001-2005 accept
-meta skgid != 2001-2005 accept;ok;skgid != 2001-2005 accept
-meta skgid { 2001-2005} accept;ok;skgid { 2001-2005} accept
-meta skgid != { 2001-2005} accept;ok;skgid != { 2001-2005} accept
+meta oiftype {ether, ppp, ipip, ipip6, loopback, sit, ipgre};ok
+meta oiftype != {ether, ppp, ipip, ipip6, loopback, sit, ipgre};ok
+meta oiftype != ether;ok
+meta oiftype ether;ok
+
+meta skuid {"bin", "root", "daemon"} accept;ok;meta skuid { 0, 1, 2} accept
+meta skuid != {"bin", "root", "daemon"} accept;ok;meta skuid != { 1, 0, 2} accept
+meta skuid "root";ok;meta skuid 0
+meta skuid != "root";ok;meta skuid != 0
+meta skuid lt 3000 accept;ok;meta skuid < 3000 accept
+meta skuid gt 3000 accept;ok;meta skuid > 3000 accept
+meta skuid eq 3000 accept;ok;meta skuid 3000 accept
+meta skuid 3001-3005 accept;ok;meta skuid 3001-3005 accept
+meta skuid != 2001-2005 accept;ok;meta skuid != 2001-2005 accept
+meta skuid { 2001-2005} accept;ok;meta skuid { 2001-2005} accept
+meta skuid != { 2001-2005} accept;ok;meta skuid != { 2001-2005} accept
+
+meta skgid {"bin", "root", "daemon"} accept;ok;meta skgid { 0, 1, 2} accept
+meta skgid != {"bin", "root", "daemon"} accept;ok;meta skgid != { 1, 0, 2} accept
+meta skgid "root";ok;meta skgid 0
+meta skgid != "root";ok;meta skgid != 0
+meta skgid lt 3000 accept;ok;meta skgid < 3000 accept
+meta skgid gt 3000 accept;ok;meta skgid > 3000 accept
+meta skgid eq 3000 accept;ok;meta skgid 3000 accept
+meta skgid 2001-2005 accept;ok;meta skgid 2001-2005 accept
+meta skgid != 2001-2005 accept;ok;meta skgid != 2001-2005 accept
+meta skgid { 2001-2005} accept;ok;meta skgid { 2001-2005} accept
+meta skgid != { 2001-2005} accept;ok;meta skgid != { 2001-2005} accept
 
 # BUG: meta nftrace 2 and meta nftrace 1
 # $ sudo nft add rule ip test input meta nftrace 2
@@ -130,14 +130,14 @@ meta skgid != { 2001-2005} accept;ok;skgid != { 2001-2005} accept
 # add rule ip test input meta nftrace 1
 # -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-meta mark set 0xffffffc8 xor 0x16;ok;mark set 0xffffffde
-meta mark set 0x16 and 0x16;ok;mark set 0x00000016
-meta mark set 0xffffffe9 or 0x16;ok;mark set 0xffffffff
-meta mark set 0xffffffde and 0x16;ok;mark set 0x00000016
-meta mark set 0xf045ffde or 0x10;ok;mark set 0xf045ffde
-meta mark set 0xffffffde or 0x16;ok;mark set 0xffffffde
-meta mark set 0x32 or 0xfffff;ok;mark set 0x000fffff
-meta mark set 0xfffe xor 0x16;ok;mark set 0x0000ffe8
+meta mark set 0xffffffc8 xor 0x16;ok;meta mark set 0xffffffde
+meta mark set 0x16 and 0x16;ok;meta mark set 0x00000016
+meta mark set 0xffffffe9 or 0x16;ok;meta mark set 0xffffffff
+meta mark set 0xffffffde and 0x16;ok;meta mark set 0x00000016
+meta mark set 0xf045ffde or 0x10;ok;meta mark set 0xf045ffde
+meta mark set 0xffffffde or 0x16;ok;meta mark set 0xffffffde
+meta mark set 0x32 or 0xfffff;ok;meta mark set 0x000fffff
+meta mark set 0xfffe xor 0x16;ok;meta mark set 0x0000ffe8
 
 meta mark set {0xffff, 0xcc};fail
 meta pkttype set {unicast, multicast, broadcast};fail
@@ -145,29 +145,29 @@ meta pkttype set {unicast, multicast, broadcast};fail
 meta iif "lo";ok;iif "lo"
 meta oif "lo";ok;oif "lo"
 meta oifname "dummy2" accept;ok;oifname "dummy2" accept
-meta skuid 3000;ok;skuid 3000
-meta skgid 3000;ok;skgid 3000
+meta skuid 3000;ok
+meta skgid 3000;ok
 # BUG:  meta nftrace 1;ok
 # <cmdline>:1:1-37: Error: Could not process rule: Operation not supported
 - meta nftrace 1;ok
-meta rtclassid "cosmos";ok;rtclassid "cosmos"
-
-meta pkttype broadcast;ok;pkttype broadcast
-meta pkttype host;ok;pkttype host
-meta pkttype multicast;ok;pkttype multicast
-meta pkttype != broadcast;ok;pkttype != broadcast
-meta pkttype != host;ok;pkttype != host
-meta pkttype != multicast;ok;pkttype != multicast
+meta rtclassid "cosmos";ok
+
+meta pkttype broadcast;ok
+meta pkttype host;ok
+meta pkttype multicast;ok
+meta pkttype != broadcast;ok
+meta pkttype != host;ok
+meta pkttype != multicast;ok
 meta pkttype broadcastttt;fail
-pkttype { broadcast, multicast} accept;ok
+pkttype { broadcast, multicast} accept;ok;meta pkttype { broadcast, multicast} accept
 
-meta cpu 1;ok;cpu 1
-meta cpu != 1;ok;cpu != 1
-meta cpu 1-3;ok;cpu 1-3
-meta cpu != 1-2;ok;cpu != 1-2
-meta cpu { 2,3};ok;cpu { 2,3}
-meta cpu { 2-3, 5-7};ok;cpu { 2-3, 5-7}
-meta cpu != { 2,3};ok;cpu != { 2,3}
+meta cpu 1;ok
+meta cpu != 1;ok
+meta cpu 1-3;ok
+meta cpu != 1-2;ok
+meta cpu { 2,3};ok
+meta cpu { 2-3, 5-7};ok
+meta cpu != { 2,3};ok
 
 meta iifgroup 0;ok;iifgroup "default"
 meta iifgroup != 0;ok;iifgroup != "default"
@@ -190,17 +190,17 @@ meta oifgroup {11-33};ok;oifgroup {11-33}
 meta oifgroup != { 11,33};ok;oifgroup != { 11,33}
 meta oifgroup != {11-33};ok;oifgroup != {11-33}
 
-meta cgroup 1048577;ok;cgroup 1048577
-meta cgroup != 1048577;ok;cgroup != 1048577
-meta cgroup { 1048577, 1048578 };ok;cgroup { 1048577, 1048578}
-meta cgroup != { 1048577, 1048578};ok;cgroup != { 1048577, 1048578}
-meta cgroup 1048577-1048578;ok;cgroup 1048577-1048578
-meta cgroup != 1048577-1048578;ok;cgroup != 1048577-1048578
-meta cgroup {1048577-1048578};ok;cgroup { 1048577-1048578}
-meta cgroup != { 1048577-1048578};ok;cgroup != { 1048577-1048578}
+meta cgroup 1048577;ok;meta cgroup 1048577
+meta cgroup != 1048577;ok;meta cgroup != 1048577
+meta cgroup { 1048577, 1048578 };ok;meta cgroup { 1048577, 1048578}
+meta cgroup != { 1048577, 1048578};ok;meta cgroup != { 1048577, 1048578}
+meta cgroup 1048577-1048578;ok;meta cgroup 1048577-1048578
+meta cgroup != 1048577-1048578;ok;meta cgroup != 1048577-1048578
+meta cgroup {1048577-1048578};ok;meta cgroup { 1048577-1048578}
+meta cgroup != { 1048577-1048578};ok;meta cgroup != { 1048577-1048578}
 
 meta iif . meta oif { "lo" . "lo" };ok;iif . oif { "lo" . "lo" }
-meta iif . meta oif . meta mark { "lo" . "lo" . 0x0000000a };ok;iif . oif . mark { "lo" . "lo" . 0x0000000a }
+meta iif . meta oif . meta mark { "lo" . "lo" . 0x0000000a };ok;iif . oif . meta mark { "lo" . "lo" . 0x0000000a }
 meta iif . meta oif vmap { "lo" . "lo" : drop };ok;iif . oif vmap { "lo" . "lo" : drop }
 
 meta random eq 1;ok;meta random 1
index f8710b25f0a7f9d71935350d7c8f7da63ebe5917..88e819f7768c0d993bd9927067e150f8e9c98c81 100644 (file)
@@ -2,5 +2,5 @@
 
 *bridge;test-bridge;input
 
-meta obrname "br0";ok;meta obrname "br0"
-meta ibrname "br0";ok;meta ibrname "br0"
+meta obrname "br0";ok
+meta ibrname "br0";ok
index 67deac8d3b5e47dd38abe3da2a6bdf2eba489dc8..d1c2ecab5fc0785178d6ef3a8fabee6497c5331f 100644 (file)
@@ -16,7 +16,7 @@ reject with icmpv6 type admin-prohibited;ok;ether type ip6 reject with icmpv6 ty
 reject with icmpv6 type addr-unreachable;ok;ether type ip6 reject with icmpv6 type addr-unreachable
 reject with icmpv6 type port-unreachable;ok;ether type ip6 reject
 
-mark 12345 ip protocol tcp reject with tcp reset;ok;mark 0x00003039 ip protocol 6 reject with tcp reset
+mark 12345 ip protocol tcp reject with tcp reset;ok;meta mark 0x00003039 ip protocol 6 reject with tcp reset
 
 reject;ok
 ether type ip reject;ok
index 5075540bcba73554966ce8fb3683b392fb223fb4..e83490a8c7ef81aff073a8d65568dd44031bac19 100644 (file)
@@ -5,5 +5,5 @@
 *inet;test-inet;input
 *netdev;test-netdev;ingress
 
-mark set ip saddr map { 10.2.3.2 : 0x0000002a, 10.2.3.1 : 0x00000017};ok;mark set ip saddr map { 10.2.3.1 : 0x00000017, 10.2.3.2 : 0x0000002a}
-mark set ip hdrlength map { 5 : 0x00000017, 4 : 0x00000001};ok;mark set ip hdrlength map { 4 : 0x00000001, 5 : 0x00000017}
+mark set ip saddr map { 10.2.3.2 : 0x0000002a, 10.2.3.1 : 0x00000017};ok;meta mark set ip saddr map { 10.2.3.1 : 0x00000017, 10.2.3.2 : 0x0000002a}
+mark set ip hdrlength map { 5 : 0x00000017, 4 : 0x00000001};ok;meta mark set ip hdrlength map { 4 : 0x00000001, 5 : 0x00000017}
index 7679407e6f8d44cffe355b45811acab2fb08e62a..cb3caa4aca5c83e7af5151bf43d18df50820e74f 100644 (file)
@@ -16,7 +16,7 @@ reject with icmpv6 type admin-prohibited;ok;meta nfproto ipv6 reject with icmpv6
 reject with icmpv6 type addr-unreachable;ok;meta nfproto ipv6 reject with icmpv6 type addr-unreachable
 reject with icmpv6 type port-unreachable;ok;meta nfproto ipv6 reject
 
-mark 12345 reject with tcp reset;ok;meta l4proto 6 mark 0x00003039 reject with tcp reset
+mark 12345 reject with tcp reset;ok;meta l4proto 6 meta mark 0x00003039 reject with tcp reset
 
 reject;ok
 meta nfproto ipv4 reject;ok
index 450df7271bf68e2618653f78cc80ac06df603aea..467da3ef293278ab206d527a73758295687eb6f7 100644 (file)
@@ -7,4 +7,4 @@
 ip protocol tcp tcp dport 22;ok;tcp dport 22
 
 # but not here
-ip protocol tcp meta mark set 1 tcp dport 22;ok;ip protocol 6 mark set 0x00000001 tcp dport 22
+ip protocol tcp meta mark set 1 tcp dport 22;ok;ip protocol 6 meta mark set 0x00000001 tcp dport 22
index 7befe697fa2396425532bdc33d3accf112dd8e08..cc5561a0bcc04cf8356fa591718121a878c9d86d 100644 (file)
@@ -10,7 +10,7 @@ reject with icmp type port-unreachable;ok;reject
 reject with icmp type net-prohibited;ok
 reject with icmp type host-prohibited;ok
 reject with icmp type admin-prohibited;ok
-mark 0x80000000 reject with tcp reset;ok
+mark 0x80000000 reject with tcp reset;ok;meta mark 0x80000000 reject with tcp reset
 
 reject with icmp type no-route;fail
 reject with icmpv6 type no-route;fail
index 3377f8d3de27a44270709e1d1f13e1be46bc92f9..4d06e87f93494b583b3c84f3b5f444677a131888 100644 (file)
@@ -1,5 +1,5 @@
 :input;type filter hook input priority 0
 *ip6;test-ip6;input
 
-mark set ip6 saddr and ::ffff map { ::2 : 0x0000002a, ::ffff : 0x00000017};ok;mark set ip6 saddr & ::ffff map { ::2 : 0x0000002a, ::ffff : 0x00000017}
+mark set ip6 saddr and ::ffff map { ::2 : 0x0000002a, ::ffff : 0x00000017};ok;meta mark set ip6 saddr & ::ffff map { ::2 : 0x0000002a, ::ffff : 0x00000017}
 
index a95f2e3fe14a2c489b6a810e27e7bfa60cff0c1e..7fa04eecc9741c5f0cf485b751eb59e31a2e3484 100644 (file)
@@ -9,7 +9,7 @@ reject with icmpv6 type addr-unreachable;ok
 reject with icmpv6 type port-unreachable;ok;reject
 reject with icmpv6 type policy-fail;ok
 reject with icmpv6 type reject-route;ok
-mark 0x80000000 reject with tcp reset;ok
+mark 0x80000000 reject with tcp reset;ok;meta mark 0x80000000 reject with tcp reset
 
 reject with icmpv6 type host-unreachable;fail
 reject with icmp type host-unreachable;fail