summaryrefslogtreecommitdiffstats
path: root/tests/py/ip6
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2016-03-07 17:39:36 +0100
committerFlorian Westphal <fw@strlen.de>2016-03-10 14:08:45 +0100
commitc5f59b8ba2be5981e55e6e1d4762a5d56c1b3df0 (patch)
treee1cc97a81ea50ab5053961fefbf4c9c5b38753f7 /tests/py/ip6
parent4a68e3f4157982e2a3423ae2ddea1e44e749e430 (diff)
tests: frag: enable more tests
a couple of tests were disabled since nft did not support this. Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'tests/py/ip6')
-rw-r--r--tests/py/ip6/frag.t6
-rw-r--r--tests/py/ip6/frag.t.payload.inet26
-rw-r--r--tests/py/ip6/frag.t.payload.ip620
3 files changed, 49 insertions, 3 deletions
diff --git a/tests/py/ip6/frag.t b/tests/py/ip6/frag.t
index 1551044d..d68fd064 100644
--- a/tests/py/ip6/frag.t
+++ b/tests/py/ip6/frag.t
@@ -25,8 +25,8 @@ frag reserved { 33-55};ok
frag frag-off 22;ok
frag frag-off != 233;ok
-- frag frag-off 33-45;ok
-- frag frag-off != 33-45;ok
+frag frag-off 33-45;ok
+frag frag-off != 33-45;ok
frag frag-off { 33, 55, 67, 88};ok
- frag frag-off != { 33, 55, 67, 88};ok
frag frag-off { 33-55};ok
@@ -43,7 +43,7 @@ frag frag-off { 33-55};ok
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# BUG more-fragments 1 and frag more-fragments 4
-# frag more-fragments 1
+frag more-fragments 1;ok
# <cmdline>:1:1-44: Error: Could not process rule: Invalid argument
# add rule ip test input frag more-fragments 1
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/tests/py/ip6/frag.t.payload.inet b/tests/py/ip6/frag.t.payload.inet
index e04d128e..52eaafff 100644
--- a/tests/py/ip6/frag.t.payload.inet
+++ b/tests/py/ip6/frag.t.payload.inet
@@ -102,6 +102,24 @@ inet test-inet output
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ cmp neq reg 1 0x00004807 ]
+# frag frag-off 33-45
+inet test-inet output
+ [ meta load nfproto => reg 1 ]
+ [ cmp eq reg 1 0x0000000a ]
+ [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
+ [ cmp gte reg 1 0x00000801 ]
+ [ cmp lte reg 1 0x00006801 ]
+
+# frag frag-off != 33-45
+inet test-inet output
+ [ meta load nfproto => reg 1 ]
+ [ cmp eq reg 1 0x0000000a ]
+ [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
+ [ cmp lt reg 1 0x00000801 ]
+ [ cmp gt reg 1 0x00006801 ]
+
# frag frag-off { 33, 55, 67, 88}
set%d test-inet 3
set%d test-inet 0
@@ -124,6 +142,14 @@ inet test-inet output
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ lookup reg 1 set set%d ]
+# frag more-fragments 1
+inet test-inet output
+ [ meta load nfproto => reg 1 ]
+ [ cmp eq reg 1 0x0000000a ]
+ [ exthdr load 1b @ 44 + 3 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x00000001 ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000001 ]
+
# frag id 1
inet test-inet output
[ meta load nfproto => reg 1 ]
diff --git a/tests/py/ip6/frag.t.payload.ip6 b/tests/py/ip6/frag.t.payload.ip6
index b3da6fef..a2adaaeb 100644
--- a/tests/py/ip6/frag.t.payload.ip6
+++ b/tests/py/ip6/frag.t.payload.ip6
@@ -76,6 +76,20 @@ ip6 test-ip6 output
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ cmp neq reg 1 0x00004807 ]
+# frag frag-off 33-45
+ip6 test-ip6 output
+ [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
+ [ cmp gte reg 1 0x00000801 ]
+ [ cmp lte reg 1 0x00006801 ]
+
+# frag frag-off != 33-45
+ip6 test-ip6 output
+ [ exthdr load 2b @ 44 + 2 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
+ [ cmp lt reg 1 0x00000801 ]
+ [ cmp gt reg 1 0x00006801 ]
+
# frag frag-off { 33, 55, 67, 88}
set%d test-ip6 3
set%d test-ip6 0
@@ -94,6 +108,12 @@ ip6 test-ip6 output
[ bitwise reg 1 = (reg=1 & 0x0000f8ff ) ^ 0x00000000 ]
[ lookup reg 1 set set%d ]
+# frag more-fragments 1
+ip6 test-ip6 output
+ [ exthdr load 1b @ 44 + 3 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x00000001 ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000001 ]
+
# frag id 1
ip6 test-ip6 output
[ exthdr load 4b @ 44 + 4 => reg 1 ]