diff options
author | Florian Westphal <fw@strlen.de> | 2015-08-07 20:52:04 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2015-08-07 21:21:47 +0200 |
commit | ecf855b2f58f1718a6a1c3dcde13b140557844ec (patch) | |
tree | cc957aa0aae5f31f4d7bfd09564c8459b24f7834 | |
parent | b4100ba0a86b0f8ed5cfc6af9b754e2e97e50b69 (diff) |
tests: add two test cases using binop w. payload
[ payload load 4b @ network header + 12 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0xff000000 ) ^ 0x00000000 ]
[ cmp eq reg 1 ...
.. to make sure that later support to match header elements that have odd
(non-byte aligned) lengths/offsets doesn't erronously eliminate explicitly
added binops while searching expressions for implicit binops.
Signed-off-by: Florian Westphal <fw@strlen.de>
-rw-r--r-- | tests/regression/ip/ip.t | 3 | ||||
-rw-r--r-- | tests/regression/ip/ip.t.payload | 12 | ||||
-rw-r--r-- | tests/regression/ip/ip.t.payload.inet | 16 |
3 files changed, 31 insertions, 0 deletions
diff --git a/tests/regression/ip/ip.t b/tests/regression/ip/ip.t index fa864dfd..11a95981 100644 --- a/tests/regression/ip/ip.t +++ b/tests/regression/ip/ip.t @@ -105,3 +105,6 @@ ip saddr != 192.168.1.3-192.168.33.55;ok ip daddr 192.168.0.1;ok ip daddr 192.168.0.1 drop;ok ip daddr 192.168.0.2 log;ok + +ip saddr \& 0xff == 1;ok;ip saddr & 0.0.0.255 == 0.0.0.1 +ip saddr \& 0.0.0.255 \< 0.0.0.127;ok;ip saddr & 0.0.0.255 < 0.0.0.127 diff --git a/tests/regression/ip/ip.t.payload b/tests/regression/ip/ip.t.payload index 18db172a..ec4897e8 100644 --- a/tests/regression/ip/ip.t.payload +++ b/tests/regression/ip/ip.t.payload @@ -335,3 +335,15 @@ ip test-ip4 input [ cmp eq reg 1 0x0200a8c0 ] [ log prefix (null) ] +# ip saddr \& 0xff == 1 +ip test-ip4 input + [ payload load 4b @ network header + 12 => reg 1 ] + [ bitwise reg 1 = (reg=1 & 0xff000000 ) ^ 0x00000000 ] + [ cmp eq reg 1 0x01000000 ] + +# ip saddr \& 0.0.0.255 \< 0.0.0.127 +ip test-ip4 input + [ payload load 4b @ network header + 12 => reg 1 ] + [ bitwise reg 1 = (reg=1 & 0xff000000 ) ^ 0x00000000 ] + [ cmp lt reg 1 0x7f000000 ] + diff --git a/tests/regression/ip/ip.t.payload.inet b/tests/regression/ip/ip.t.payload.inet index be635cdb..1a2b1b5c 100644 --- a/tests/regression/ip/ip.t.payload.inet +++ b/tests/regression/ip/ip.t.payload.inet @@ -441,3 +441,19 @@ inet test-inet input [ cmp eq reg 1 0x0200a8c0 ] [ log prefix (null) ] +# ip saddr \& 0xff == 1 +inet test-inet input + [ meta load nfproto => reg 1 ] + [ cmp eq reg 1 0x00000002 ] + [ payload load 4b @ network header + 12 => reg 1 ] + [ bitwise reg 1 = (reg=1 & 0xff000000 ) ^ 0x00000000 ] + [ cmp eq reg 1 0x01000000 ] + +# ip saddr \& 0.0.0.255 \< 0.0.0.127 +inet test-inet input + [ meta load nfproto => reg 1 ] + [ cmp eq reg 1 0x00000002 ] + [ payload load 4b @ network header + 12 => reg 1 ] + [ bitwise reg 1 = (reg=1 & 0xff000000 ) ^ 0x00000000 ] + [ cmp lt reg 1 0x7f000000 ] + |