summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/regression/inet/tcp.t2
-rw-r--r--tests/regression/inet/tcp.t.payload.inet8
-rw-r--r--tests/regression/inet/tcp.t.payload.ip8
-rw-r--r--tests/regression/inet/tcp.t.payload.ip68
-rw-r--r--tests/regression/ip/ip.t4
-rw-r--r--tests/regression/ip/ip.t.payload21
-rw-r--r--tests/regression/ip/ip.t.payload.inet27
7 files changed, 78 insertions, 0 deletions
diff --git a/tests/regression/inet/tcp.t b/tests/regression/inet/tcp.t
index 95267da5..53a16898 100644
--- a/tests/regression/inet/tcp.t
+++ b/tests/regression/inet/tcp.t
@@ -101,3 +101,5 @@ tcp urgptr { 33, 55, 67, 88};ok
- tcp urgptr != { 33, 55, 67, 88};ok
tcp urgptr { 33-55};ok
- tcp urgptr != { 33-55};ok
+
+tcp doff 8;ok
diff --git a/tests/regression/inet/tcp.t.payload.inet b/tests/regression/inet/tcp.t.payload.inet
index e1673dbe..21b21abc 100644
--- a/tests/regression/inet/tcp.t.payload.inet
+++ b/tests/regression/inet/tcp.t.payload.inet
@@ -498,3 +498,11 @@ inet test-inet input
[ payload load 2b @ transport header + 18 => reg 1 ]
[ lookup reg 1 set set%d ]
+# tcp doff 8
+inet test-inet input
+ [ meta load l4proto => reg 1 ]
+ [ cmp eq reg 1 0x00000006 ]
+ [ payload load 1b @ transport header + 12 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000080 ]
+
diff --git a/tests/regression/inet/tcp.t.payload.ip b/tests/regression/inet/tcp.t.payload.ip
index c21cca1b..34c97143 100644
--- a/tests/regression/inet/tcp.t.payload.ip
+++ b/tests/regression/inet/tcp.t.payload.ip
@@ -498,3 +498,11 @@ ip test-ip4 input
[ payload load 2b @ transport header + 18 => reg 1 ]
[ lookup reg 1 set set%d ]
+# tcp doff 8
+ip test-ip4 input
+ [ payload load 1b @ network header + 9 => reg 1 ]
+ [ cmp eq reg 1 0x00000006 ]
+ [ payload load 1b @ transport header + 12 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000080 ]
+
diff --git a/tests/regression/inet/tcp.t.payload.ip6 b/tests/regression/inet/tcp.t.payload.ip6
index 32115edc..44decab4 100644
--- a/tests/regression/inet/tcp.t.payload.ip6
+++ b/tests/regression/inet/tcp.t.payload.ip6
@@ -498,3 +498,11 @@ ip6 test-ip6 input
[ payload load 2b @ transport header + 18 => reg 1 ]
[ lookup reg 1 set set%d ]
+# tcp doff 8
+ip6 test-ip6 input
+ [ payload load 1b @ network header + 6 => reg 1 ]
+ [ cmp eq reg 1 0x00000006 ]
+ [ payload load 1b @ transport header + 12 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000080 ]
+
diff --git a/tests/regression/ip/ip.t b/tests/regression/ip/ip.t
index 6e29ffb9..0339c2ac 100644
--- a/tests/regression/ip/ip.t
+++ b/tests/regression/ip/ip.t
@@ -111,3 +111,7 @@ ip saddr \& 0.0.0.255 \< 0.0.0.127;ok;ip saddr & 0.0.0.255 < 0.0.0.127
ip saddr \& 0xffff0000 == 0xffff0000;ok;ip saddr 255.255.0.0/16
+ip version 4 ip hdrlength 5;ok
+ip hdrlength 0;ok
+ip hdrlength 15;ok
+ip hdrlength 16;fail
diff --git a/tests/regression/ip/ip.t.payload b/tests/regression/ip/ip.t.payload
index 147923c2..da2dc218 100644
--- a/tests/regression/ip/ip.t.payload
+++ b/tests/regression/ip/ip.t.payload
@@ -363,3 +363,24 @@ ip test-ip input
[ payload load 1b @ network header + 9 => reg 10 ]
[ lookup reg 1 set set%d ]
+# ip version 4 ip hdrlength 5
+ip test-ip4 input
+ [ payload load 1b @ network header + 0 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000040 ]
+ [ payload load 1b @ network header + 0 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x0000000f ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000005 ]
+
+# ip hdrlength 0
+ip test-ip4 input
+ [ payload load 1b @ network header + 0 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x0000000f ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000000 ]
+
+# ip hdrlength 15
+ip test-ip4 input
+ [ payload load 1b @ network header + 0 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x0000000f ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x0000000f ]
+
diff --git a/tests/regression/ip/ip.t.payload.inet b/tests/regression/ip/ip.t.payload.inet
index 4caea1e3..35f73ff7 100644
--- a/tests/regression/ip/ip.t.payload.inet
+++ b/tests/regression/ip/ip.t.payload.inet
@@ -477,3 +477,30 @@ inet test-ip input
[ payload load 1b @ network header + 9 => reg 10 ]
[ lookup reg 1 set set%d ]
+# ip version 4 ip hdrlength 5
+inet test-inet input
+ [ meta load nfproto => reg 1 ]
+ [ cmp eq reg 1 0x00000002 ]
+ [ payload load 1b @ network header + 0 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x000000f0 ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000040 ]
+ [ payload load 1b @ network header + 0 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x0000000f ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000005 ]
+
+# ip hdrlength 0
+inet test-inet input
+ [ meta load nfproto => reg 1 ]
+ [ cmp eq reg 1 0x00000002 ]
+ [ payload load 1b @ network header + 0 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x0000000f ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x00000000 ]
+
+# ip hdrlength 15
+inet test-inet input
+ [ meta load nfproto => reg 1 ]
+ [ cmp eq reg 1 0x00000002 ]
+ [ payload load 1b @ network header + 0 => reg 1 ]
+ [ bitwise reg 1 = (reg=1 & 0x0000000f ) ^ 0x00000000 ]
+ [ cmp eq reg 1 0x0000000f ]
+