From: Florian Westphal Date: Fri, 7 Aug 2015 18:52:04 +0000 (+0200) Subject: tests: add two test cases using binop w. payload X-Git-Tag: v0.5~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ecf855b2f58f1718a6a1c3dcde13b140557844ec;p=thirdparty%2Fnftables.git 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 --- diff --git a/tests/regression/ip/ip.t b/tests/regression/ip/ip.t index fa864dfd7..11a959817 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 18db172a3..ec4897e80 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 be635cdb1..1a2b1b5cc 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 ] +