summaryrefslogtreecommitdiffstats
path: root/tests/py/ip/ip.t.payload.netdev
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2021-06-16 13:49:08 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2021-06-18 09:40:20 +0200
commita5674886b45c9b3489aef8cc7435dd85afa9494a (patch)
tree476ff27ba9faacfa1e217f643ff87f143cea9208 /tests/py/ip/ip.t.payload.netdev
parentbd51f04f73bd585f6e3f9ed82a5db7d9640198b8 (diff)
evaluate: unbreak verdict maps with implicit map with interval concatenations
Verdict maps in combination with interval concatenations are broken, e.g. # nft add rule x y tcp dport . ip saddr vmap { 1025-65535 . 192.168.10.2 : accept } Retrieve the concatenation field length and count from the map->map expressions that represents the key of the implicit map. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tests/py/ip/ip.t.payload.netdev')
-rw-r--r--tests/py/ip/ip.t.payload.netdev11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/py/ip/ip.t.payload.netdev b/tests/py/ip/ip.t.payload.netdev
index 712cb375..65f8c96a 100644
--- a/tests/py/ip/ip.t.payload.netdev
+++ b/tests/py/ip/ip.t.payload.netdev
@@ -673,3 +673,14 @@ netdev
[ payload load 4b @ network header + 16 => reg 9 ]
[ lookup reg 1 set __set%d ]
+# ip saddr . ip daddr vmap { 192.168.5.1-192.168.5.128 . 192.168.6.1-192.168.6.128 : accept }
+__map%d test-netdev 8f size 1
+__map%d test-netdev 0
+ element 0105a8c0 0106a8c0 - 8005a8c0 8006a8c0 : accept 0 [end]
+netdev
+ [ meta load protocol => reg 1 ]
+ [ cmp eq reg 1 0x00000008 ]
+ [ payload load 4b @ network header + 12 => reg 1 ]
+ [ payload load 4b @ network header + 16 => reg 9 ]
+ [ lookup reg 1 set __map%d dreg 0 ]
+