From ecf855b2f58f1718a6a1c3dcde13b140557844ec Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Fri, 7 Aug 2015 20:52:04 +0200 Subject: 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 --- tests/regression/ip/ip.t | 3 +++ tests/regression/ip/ip.t.payload | 12 ++++++++++++ tests/regression/ip/ip.t.payload.inet | 16 ++++++++++++++++ 3 files changed, 31 insertions(+) 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 ] + -- cgit v1.2.3