diff options
author | Florian Westphal <fw@strlen.de> | 2016-07-21 15:57:15 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2016-07-21 17:22:05 +0200 |
commit | 6c0cb3d568322cc4dc9854980fd3b9d6e8c8046e (patch) | |
tree | 933bd16d2995bf5d2fd2d6cbd1cff878852bad45 /tests/py/inet | |
parent | a4fe9cfe788706c0bf1c3a40b7c92f1d2bebf7e7 (diff) |
tests: add basic payload tests
payload set operations should work at least for byte-sized
quantities >= 2 byte.
Before adding support for odd-sized writes (ecn, dscp, ip6 flowlabel
...) add a bunch of tests to cover current state.
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'tests/py/inet')
-rw-r--r-- | tests/py/inet/udp.t | 4 | ||||
-rw-r--r-- | tests/py/inet/udp.t.payload.inet | 17 | ||||
-rw-r--r-- | tests/py/inet/udp.t.payload.ip | 17 | ||||
-rw-r--r-- | tests/py/inet/udp.t.payload.ip6 | 17 | ||||
-rw-r--r-- | tests/py/inet/udp.t.payload.netdev | 18 |
5 files changed, 73 insertions, 0 deletions
diff --git a/tests/py/inet/udp.t b/tests/py/inet/udp.t index 8cff2c69..ea9c87b4 100644 --- a/tests/py/inet/udp.t +++ b/tests/py/inet/udp.t @@ -50,3 +50,7 @@ udp checksum { 33, 55, 67, 88};ok - udp checksum != { 33, 55, 67, 88};ok udp checksum { 33-55};ok - udp checksum != { 33-55};ok + +# limit impact to lo +iif lo udp checksum set 0;ok +iif lo udp dport set 65535;ok diff --git a/tests/py/inet/udp.t.payload.inet b/tests/py/inet/udp.t.payload.inet index 4ca9904b..1f49438d 100644 --- a/tests/py/inet/udp.t.payload.inet +++ b/tests/py/inet/udp.t.payload.inet @@ -220,3 +220,20 @@ inet test-inet input [ payload load 2b @ transport header + 6 => reg 1 ] [ lookup reg 1 set __set%d ] +# iif lo udp checksum set 0 +inet test-inet input + [ meta load iif => reg 1 ] + [ cmp eq reg 1 0x00000001 ] + [ meta load l4proto => reg 1 ] + [ cmp eq reg 1 0x00000011 ] + [ immediate reg 1 0x00000000 ] + [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 ] + +# iif lo udp dport set 65535 +inet test-inet input + [ meta load iif => reg 1 ] + [ cmp eq reg 1 0x00000001 ] + [ meta load l4proto => reg 1 ] + [ cmp eq reg 1 0x00000011 ] + [ immediate reg 1 0x0000ffff ] + [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 ] diff --git a/tests/py/inet/udp.t.payload.ip b/tests/py/inet/udp.t.payload.ip index 56b6051d..8b4550dc 100644 --- a/tests/py/inet/udp.t.payload.ip +++ b/tests/py/inet/udp.t.payload.ip @@ -220,3 +220,20 @@ ip test-ip4 input [ payload load 2b @ transport header + 6 => reg 1 ] [ lookup reg 1 set __set%d ] +# iif lo udp checksum set 0 +ip test-ip4 input + [ meta load iif => reg 1 ] + [ cmp eq reg 1 0x00000001 ] + [ payload load 1b @ network header + 9 => reg 1 ] + [ cmp eq reg 1 0x00000011 ] + [ immediate reg 1 0x00000000 ] + [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 ] + +# iif lo udp dport set 65535 +ip test-ip4 input + [ meta load iif => reg 1 ] + [ cmp eq reg 1 0x00000001 ] + [ payload load 1b @ network header + 9 => reg 1 ] + [ cmp eq reg 1 0x00000011 ] + [ immediate reg 1 0x0000ffff ] + [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 ] diff --git a/tests/py/inet/udp.t.payload.ip6 b/tests/py/inet/udp.t.payload.ip6 index 1f1df668..86204f6c 100644 --- a/tests/py/inet/udp.t.payload.ip6 +++ b/tests/py/inet/udp.t.payload.ip6 @@ -220,3 +220,20 @@ ip6 test-ip6 input [ payload load 2b @ transport header + 6 => reg 1 ] [ lookup reg 1 set __set%d ] +# iif lo udp checksum set 0 +ip6 test-ip6 input + [ meta load iif => reg 1 ] + [ cmp eq reg 1 0x00000001 ] + [ payload load 1b @ network header + 6 => reg 1 ] + [ cmp eq reg 1 0x00000011 ] + [ immediate reg 1 0x00000000 ] + [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 ] + +# iif lo udp dport set 65535 +ip test-ip4 input + [ meta load iif => reg 1 ] + [ cmp eq reg 1 0x00000001 ] + [ payload load 1b @ network header + 6 => reg 1 ] + [ cmp eq reg 1 0x00000011 ] + [ immediate reg 1 0x0000ffff ] + [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 ] diff --git a/tests/py/inet/udp.t.payload.netdev b/tests/py/inet/udp.t.payload.netdev index 4ca9904b..2eb2a76d 100644 --- a/tests/py/inet/udp.t.payload.netdev +++ b/tests/py/inet/udp.t.payload.netdev @@ -220,3 +220,21 @@ inet test-inet input [ payload load 2b @ transport header + 6 => reg 1 ] [ lookup reg 1 set __set%d ] +# iif lo udp checksum set 0 +netdev test-netdev ingress + [ meta load iif => reg 1 ] + [ cmp eq reg 1 0x00000001 ] + [ meta load l4proto => reg 1 ] + [ cmp eq reg 1 0x00000011 ] + [ immediate reg 1 0x00000000 ] + [ payload write reg 1 => 2b @ transport header + 6 csum_type 1 csum_off 6 ] + +# iif lo udp dport set 65535 +netdev test-netdev ingress + [ meta load iif => reg 1 ] + [ cmp eq reg 1 0x00000001 ] + [ meta load l4proto => reg 1 ] + [ cmp eq reg 1 0x00000011 ] + [ immediate reg 1 0x0000ffff ] + [ payload write reg 1 => 2b @ transport header + 2 csum_type 1 csum_off 6 ] + |