Blame SOURCES/0048-tests-py-Move-tcpopt.t-to-any-directory.patch

0341a5
From c925727c50aa0c916105deaca95cb2f7292ea906 Mon Sep 17 00:00:00 2001
0341a5
From: Phil Sutter <psutter@redhat.com>
0341a5
Date: Mon, 12 Jul 2021 17:44:08 +0200
0341a5
Subject: [PATCH] tests/py: Move tcpopt.t to any/ directory
0341a5
0341a5
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1979334
0341a5
Upstream Status: nftables commit d566fecdfcc37
0341a5
0341a5
commit d566fecdfcc37b721729d26a90af01fc87e09c89
0341a5
Author: Phil Sutter <phil@nwl.cc>
0341a5
Date:   Tue Mar 10 12:56:18 2020 +0100
0341a5
0341a5
    tests/py: Move tcpopt.t to any/ directory
0341a5
0341a5
    Merge tcpopt.t files in ip, ip6 and inet into a common one, they were
0341a5
    just marignally different.
0341a5
0341a5
    Signed-off-by: Phil Sutter <phil@nwl.cc>
0341a5
---
0341a5
 tests/py/{inet => any}/tcpopt.t             |   3 +
0341a5
 tests/py/{inet => any}/tcpopt.t.json        |  70 ++-
0341a5
 tests/py/{inet => any}/tcpopt.t.json.output |   0
0341a5
 tests/py/any/tcpopt.t.payload               | 603 ++++++++++++++++++++
0341a5
 tests/py/inet/tcpopt.t.payload              | 200 -------
0341a5
 tests/py/ip/tcpopt.t                        |  38 --
0341a5
 tests/py/ip/tcpopt.t.json                   | 416 --------------
0341a5
 tests/py/ip/tcpopt.t.json.output            |  16 -
0341a5
 tests/py/ip/tcpopt.t.payload                | 181 ------
0341a5
 tests/py/ip6/tcpopt.t                       |  37 --
0341a5
 tests/py/ip6/tcpopt.t.json                  | 416 --------------
0341a5
 tests/py/ip6/tcpopt.t.json.output           |  16 -
0341a5
 tests/py/ip6/tcpopt.t.payload               | 181 ------
0341a5
 13 files changed, 649 insertions(+), 1528 deletions(-)
0341a5
 rename tests/py/{inet => any}/tcpopt.t (94%)
0341a5
 rename tests/py/{inet => any}/tcpopt.t.json (88%)
0341a5
 rename tests/py/{inet => any}/tcpopt.t.json.output (100%)
0341a5
 create mode 100644 tests/py/any/tcpopt.t.payload
0341a5
 delete mode 100644 tests/py/inet/tcpopt.t.payload
0341a5
 delete mode 100644 tests/py/ip/tcpopt.t
0341a5
 delete mode 100644 tests/py/ip/tcpopt.t.json
0341a5
 delete mode 100644 tests/py/ip/tcpopt.t.json.output
0341a5
 delete mode 100644 tests/py/ip/tcpopt.t.payload
0341a5
 delete mode 100644 tests/py/ip6/tcpopt.t
0341a5
 delete mode 100644 tests/py/ip6/tcpopt.t.json
0341a5
 delete mode 100644 tests/py/ip6/tcpopt.t.json.output
0341a5
 delete mode 100644 tests/py/ip6/tcpopt.t.payload
0341a5
0341a5
diff --git a/tests/py/inet/tcpopt.t b/tests/py/any/tcpopt.t
0341a5
similarity index 94%
0341a5
rename from tests/py/inet/tcpopt.t
0341a5
rename to tests/py/any/tcpopt.t
0341a5
index b457691..08b1dcb 100644
0341a5
--- a/tests/py/inet/tcpopt.t
0341a5
+++ b/tests/py/any/tcpopt.t
0341a5
@@ -1,5 +1,7 @@
0341a5
 :input;type filter hook input priority 0
0341a5
 
0341a5
+*ip;test-ip4;input
0341a5
+*ip6;test-ip6;input
0341a5
 *inet;test-inet;input
0341a5
 
0341a5
 tcp option eol kind 1;ok
0341a5
@@ -19,6 +21,7 @@ tcp option sack0 left 1;ok;tcp option sack left 1
0341a5
 tcp option sack1 left 1;ok
0341a5
 tcp option sack2 left 1;ok
0341a5
 tcp option sack3 left 1;ok
0341a5
+tcp option sack right 1;ok
0341a5
 tcp option sack0 right 1;ok;tcp option sack right 1
0341a5
 tcp option sack1 right 1;ok
0341a5
 tcp option sack2 right 1;ok
0341a5
diff --git a/tests/py/inet/tcpopt.t.json b/tests/py/any/tcpopt.t.json
0341a5
similarity index 88%
0341a5
rename from tests/py/inet/tcpopt.t.json
0341a5
rename to tests/py/any/tcpopt.t.json
0341a5
index 45e9c29..48eb339 100644
0341a5
--- a/tests/py/inet/tcpopt.t.json
0341a5
+++ b/tests/py/any/tcpopt.t.json
0341a5
@@ -8,7 +8,7 @@
0341a5
                     "name": "eol"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -24,7 +24,7 @@
0341a5
                     "name": "noop"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -40,7 +40,7 @@
0341a5
                     "name": "maxseg"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -56,7 +56,7 @@
0341a5
                     "name": "maxseg"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -72,7 +72,7 @@
0341a5
                     "name": "maxseg"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -88,7 +88,7 @@
0341a5
                     "name": "window"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -104,7 +104,7 @@
0341a5
                     "name": "window"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -120,7 +120,7 @@
0341a5
                     "name": "window"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -136,7 +136,7 @@
0341a5
                     "name": "sack-permitted"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -152,7 +152,7 @@
0341a5
                     "name": "sack-permitted"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -168,7 +168,7 @@
0341a5
                     "name": "sack"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -184,7 +184,7 @@
0341a5
                     "name": "sack"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -200,7 +200,7 @@
0341a5
                     "name": "sack"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -216,7 +216,7 @@
0341a5
                     "name": "sack0"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -232,7 +232,7 @@
0341a5
                     "name": "sack1"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -248,7 +248,7 @@
0341a5
                     "name": "sack2"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -264,7 +264,23 @@
0341a5
                     "name": "sack3"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
+            "right": 1
0341a5
+        }
0341a5
+    }
0341a5
+]
0341a5
+
0341a5
+# tcp option sack right 1
0341a5
+[
0341a5
+    {
0341a5
+        "match": {
0341a5
+            "left": {
0341a5
+                "tcp option": {
0341a5
+                    "field": "right",
0341a5
+                    "name": "sack"
0341a5
+                }
0341a5
+            },
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -280,7 +296,7 @@
0341a5
                     "name": "sack0"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -296,7 +312,7 @@
0341a5
                     "name": "sack1"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -312,7 +328,7 @@
0341a5
                     "name": "sack2"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -328,7 +344,7 @@
0341a5
                     "name": "sack3"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -344,7 +360,7 @@
0341a5
                     "name": "timestamp"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -360,7 +376,7 @@
0341a5
                     "name": "timestamp"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -376,7 +392,7 @@
0341a5
                     "name": "timestamp"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -392,7 +408,7 @@
0341a5
                     "name": "timestamp"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": 1
0341a5
         }
0341a5
     }
0341a5
@@ -407,7 +423,7 @@
0341a5
                     "name": "window"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": true
0341a5
         }
0341a5
     }
0341a5
@@ -422,7 +438,7 @@
0341a5
                     "name": "window"
0341a5
                 }
0341a5
             },
0341a5
-	    "op": "==",
0341a5
+            "op": "==",
0341a5
             "right": false
0341a5
         }
0341a5
     }
0341a5
diff --git a/tests/py/inet/tcpopt.t.json.output b/tests/py/any/tcpopt.t.json.output
0341a5
similarity index 100%
0341a5
rename from tests/py/inet/tcpopt.t.json.output
0341a5
rename to tests/py/any/tcpopt.t.json.output
0341a5
diff --git a/tests/py/any/tcpopt.t.payload b/tests/py/any/tcpopt.t.payload
0341a5
new file mode 100644
0341a5
index 0000000..63751cf
0341a5
--- /dev/null
0341a5
+++ b/tests/py/any/tcpopt.t.payload
0341a5
@@ -0,0 +1,603 @@
0341a5
+# tcp option eol kind 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 0 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option eol kind 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 0 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option eol kind 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 0 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option noop kind 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 1 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option noop kind 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 1 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option noop kind 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 1 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option maxseg kind 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 2 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option maxseg kind 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 2 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option maxseg kind 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 2 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option maxseg length 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 2 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option maxseg length 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 2 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option maxseg length 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 2 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option maxseg size 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 2b @ 2 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000100 ]
0341a5
+
0341a5
+# tcp option maxseg size 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 2b @ 2 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000100 ]
0341a5
+
0341a5
+# tcp option maxseg size 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 2b @ 2 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000100 ]
0341a5
+
0341a5
+# tcp option window kind 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window kind 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window kind 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window length 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window length 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window length 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window count 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window count 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window count 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack-permitted kind 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 4 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack-permitted kind 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 4 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack-permitted kind 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 4 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack-permitted length 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 4 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack-permitted length 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 4 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack-permitted length 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 4 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack kind 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 5 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack kind 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 5 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack kind 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 5 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack length 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 5 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack length 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 5 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack length 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 5 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option sack left 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack left 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack left 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack0 left 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack0 left 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack0 left 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack1 left 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 10 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack1 left 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 10 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack1 left 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 10 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack2 left 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 18 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack2 left 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 18 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack2 left 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 18 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack3 left 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 26 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack3 left 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 26 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack3 left 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 26 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack right 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack right 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack right 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack0 right 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack0 right 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack0 right 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack1 right 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 14 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack1 right 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 14 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack1 right 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 14 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack2 right 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 22 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack2 right 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 22 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack2 right 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 22 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack3 right 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 30 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack3 right 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 30 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option sack3 right 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 5 + 30 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option timestamp kind 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 8 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option timestamp kind 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 8 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option timestamp kind 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 8 + 0 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option timestamp length 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 8 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option timestamp length 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 8 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option timestamp length 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 8 + 1 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option timestamp tsval 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 8 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option timestamp tsval 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 8 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option timestamp tsval 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 8 + 2 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option timestamp tsecr 1
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 8 + 6 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option timestamp tsecr 1
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 8 + 6 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option timestamp tsecr 1
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 4b @ 8 + 6 => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x01000000 ]
0341a5
+
0341a5
+# tcp option window exists
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 0 present => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window exists
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 0 present => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window exists
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 0 present => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000001 ]
0341a5
+
0341a5
+# tcp option window missing
0341a5
+ip 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 0 present => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000000 ]
0341a5
+
0341a5
+# tcp option window missing
0341a5
+ip6 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 0 present => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000000 ]
0341a5
+
0341a5
+# tcp option window missing
0341a5
+inet 
0341a5
+  [ meta load l4proto => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000006 ]
0341a5
+  [ exthdr load tcpopt 1b @ 3 + 0 present => reg 1 ]
0341a5
+  [ cmp eq reg 1 0x00000000 ]
0341a5
+
0341a5
+# tcp option maxseg size set 1360
0341a5
+ip 
0341a5
+  [ immediate reg 1 0x00005005 ]
0341a5
+  [ exthdr write tcpopt reg 1 => 2b @ 2 + 2 ]
0341a5
+
0341a5
+# tcp option maxseg size set 1360
0341a5
+ip6 
0341a5
+  [ immediate reg 1 0x00005005 ]
0341a5
+  [ exthdr write tcpopt reg 1 => 2b @ 2 + 2 ]
0341a5
+
0341a5
+# tcp option maxseg size set 1360
0341a5
+inet 
0341a5
+  [ immediate reg 1 0x00005005 ]
0341a5
+  [ exthdr write tcpopt reg 1 => 2b @ 2 + 2 ]
0341a5
+
0341a5
diff --git a/tests/py/inet/tcpopt.t.payload b/tests/py/inet/tcpopt.t.payload
0341a5
deleted file mode 100644
0341a5
index 7e254ed..0000000
0341a5
--- a/tests/py/inet/tcpopt.t.payload
0341a5
+++ /dev/null
0341a5
@@ -1,200 +0,0 @@
0341a5
-# tcp option eol kind 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 0 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option noop kind 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 1 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option maxseg kind 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 2 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option maxseg length 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 2 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option maxseg size 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 2b @ 2 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000100 ]
0341a5
-
0341a5
-# tcp option window kind 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option window length 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option window count 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack-permitted kind 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 4 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack-permitted length 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 4 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack kind 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 5 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack length 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 5 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack left 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack0 left 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack1 left 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 10 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack2 left 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 18 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack3 left 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 26 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack right 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack0 right 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack1 right 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 14 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack2 right 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 22 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack3 right 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 30 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option timestamp kind 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 8 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option timestamp length 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 8 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option timestamp tsval 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 8 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option timestamp tsecr 1
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 8 + 6 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option window exists
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 0 present => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option window missing
0341a5
-inet test-inet input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 0 present => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000000 ]
0341a5
-
0341a5
-# tcp option maxseg size set 1360
0341a5
-inet test-inet input
0341a5
-  [ immediate reg 1 0x00005005 ]
0341a5
-  [ exthdr write tcpopt reg 1 => 2b @ 2 + 2 ]
0341a5
diff --git a/tests/py/ip/tcpopt.t b/tests/py/ip/tcpopt.t
0341a5
deleted file mode 100644
0341a5
index 7ee50a8..0000000
0341a5
--- a/tests/py/ip/tcpopt.t
0341a5
+++ /dev/null
0341a5
@@ -1,38 +0,0 @@
0341a5
-:input;type filter hook input priority 0
0341a5
-
0341a5
-*ip;test-ip;input
0341a5
-
0341a5
-tcp option eol kind 1;ok
0341a5
-tcp option noop kind 1;ok
0341a5
-tcp option maxseg kind 1;ok
0341a5
-tcp option maxseg length 1;ok
0341a5
-tcp option maxseg size 1;ok
0341a5
-tcp option window kind 1;ok
0341a5
-tcp option window length 1;ok
0341a5
-tcp option window count 1;ok
0341a5
-tcp option sack-permitted kind 1;ok
0341a5
-tcp option sack-permitted length 1;ok
0341a5
-tcp option sack kind 1;ok
0341a5
-tcp option sack length 1;ok
0341a5
-tcp option sack left 1;ok
0341a5
-tcp option sack0 left 1;ok;tcp option sack left 1
0341a5
-tcp option sack1 left 1;ok
0341a5
-tcp option sack2 left 1;ok
0341a5
-tcp option sack3 left 1;ok
0341a5
-tcp option sack right 1;ok
0341a5
-tcp option sack0 right 1;ok;tcp option sack right 1
0341a5
-tcp option sack1 right 1;ok
0341a5
-tcp option sack2 right 1;ok
0341a5
-tcp option sack3 right 1;ok
0341a5
-tcp option timestamp kind 1;ok
0341a5
-tcp option timestamp length 1;ok
0341a5
-tcp option timestamp tsval 1;ok
0341a5
-tcp option timestamp tsecr 1;ok
0341a5
-
0341a5
-tcp option foobar;fail
0341a5
-tcp option foo bar;fail
0341a5
-tcp option eol left;fail
0341a5
-tcp option eol left 1;fail
0341a5
-tcp option eol left 1;fail
0341a5
-tcp option sack window;fail
0341a5
-tcp option sack window 1;fail
0341a5
diff --git a/tests/py/ip/tcpopt.t.json b/tests/py/ip/tcpopt.t.json
0341a5
deleted file mode 100644
0341a5
index d573dd1..0000000
0341a5
--- a/tests/py/ip/tcpopt.t.json
0341a5
+++ /dev/null
0341a5
@@ -1,416 +0,0 @@
0341a5
-# tcp option eol kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "eol"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option noop kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "noop"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option maxseg kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "maxseg"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option maxseg length 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "length",
0341a5
-                    "name": "maxseg"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option maxseg size 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "size",
0341a5
-                    "name": "maxseg"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option window kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "window"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option window length 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "length",
0341a5
-                    "name": "window"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option window count 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "count",
0341a5
-                    "name": "window"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack-permitted kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "sack-permitted"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack-permitted length 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "length",
0341a5
-                    "name": "sack-permitted"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack length 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "length",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack left 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "left",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack0 left 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "left",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack1 left 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "left",
0341a5
-                    "name": "sack1"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack2 left 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "left",
0341a5
-                    "name": "sack2"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack3 left 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "left",
0341a5
-                    "name": "sack3"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack0 right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack0"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack1 right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack1"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack2 right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack2"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack3 right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack3"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option timestamp kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "timestamp"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option timestamp length 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "length",
0341a5
-                    "name": "timestamp"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option timestamp tsval 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "tsval",
0341a5
-                    "name": "timestamp"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option timestamp tsecr 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "tsecr",
0341a5
-                    "name": "timestamp"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
diff --git a/tests/py/ip/tcpopt.t.json.output b/tests/py/ip/tcpopt.t.json.output
0341a5
deleted file mode 100644
0341a5
index 81dd8ad..0000000
0341a5
--- a/tests/py/ip/tcpopt.t.json.output
0341a5
+++ /dev/null
0341a5
@@ -1,16 +0,0 @@
0341a5
-# tcp option sack0 right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
diff --git a/tests/py/ip/tcpopt.t.payload b/tests/py/ip/tcpopt.t.payload
0341a5
deleted file mode 100644
0341a5
index b2e5bdb..0000000
0341a5
--- a/tests/py/ip/tcpopt.t.payload
0341a5
+++ /dev/null
0341a5
@@ -1,181 +0,0 @@
0341a5
-# tcp option eol kind 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 0 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option noop kind 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 1 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option maxseg kind 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 2 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option maxseg length 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 2 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option maxseg size 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 2b @ 2 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000100 ]
0341a5
-
0341a5
-# tcp option window kind 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option window length 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option window count 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack-permitted kind 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 4 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack-permitted length 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 4 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack kind 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 5 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack length 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 5 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack left 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack0 left 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack1 left 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 10 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack2 left 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 18 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack3 left 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 26 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack right 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack0 right 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack1 right 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 14 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack2 right 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 22 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack3 right 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 30 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option timestamp kind 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 8 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option timestamp length 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 8 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option timestamp tsval 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 8 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option timestamp tsecr 1
0341a5
-ip test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 8 + 6 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
diff --git a/tests/py/ip6/tcpopt.t b/tests/py/ip6/tcpopt.t
0341a5
deleted file mode 100644
0341a5
index 497f69f..0000000
0341a5
--- a/tests/py/ip6/tcpopt.t
0341a5
+++ /dev/null
0341a5
@@ -1,37 +0,0 @@
0341a5
-:input;type filter hook input priority 0
0341a5
-*ip6;test-ip6;input
0341a5
-
0341a5
-tcp option eol kind 1;ok
0341a5
-tcp option noop kind 1;ok
0341a5
-tcp option maxseg kind 1;ok
0341a5
-tcp option maxseg length 1;ok
0341a5
-tcp option maxseg size 1;ok
0341a5
-tcp option window kind 1;ok
0341a5
-tcp option window length 1;ok
0341a5
-tcp option window count 1;ok
0341a5
-tcp option sack-permitted kind 1;ok
0341a5
-tcp option sack-permitted length 1;ok
0341a5
-tcp option sack kind 1;ok
0341a5
-tcp option sack length 1;ok
0341a5
-tcp option sack left 1;ok
0341a5
-tcp option sack0 left 1;ok;tcp option sack left 1
0341a5
-tcp option sack1 left 1;ok
0341a5
-tcp option sack2 left 1;ok
0341a5
-tcp option sack3 left 1;ok
0341a5
-tcp option sack right 1;ok
0341a5
-tcp option sack0 right 1;ok;tcp option sack right 1
0341a5
-tcp option sack1 right 1;ok
0341a5
-tcp option sack2 right 1;ok
0341a5
-tcp option sack3 right 1;ok
0341a5
-tcp option timestamp kind 1;ok
0341a5
-tcp option timestamp length 1;ok
0341a5
-tcp option timestamp tsval 1;ok
0341a5
-tcp option timestamp tsecr 1;ok
0341a5
-
0341a5
-tcp option foobar;fail
0341a5
-tcp option foo bar;fail
0341a5
-tcp option eol left;fail
0341a5
-tcp option eol left 1;fail
0341a5
-tcp option eol left 1;fail
0341a5
-tcp option sack window;fail
0341a5
-tcp option sack window 1;fail
0341a5
diff --git a/tests/py/ip6/tcpopt.t.json b/tests/py/ip6/tcpopt.t.json
0341a5
deleted file mode 100644
0341a5
index d573dd1..0000000
0341a5
--- a/tests/py/ip6/tcpopt.t.json
0341a5
+++ /dev/null
0341a5
@@ -1,416 +0,0 @@
0341a5
-# tcp option eol kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "eol"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option noop kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "noop"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option maxseg kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "maxseg"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option maxseg length 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "length",
0341a5
-                    "name": "maxseg"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option maxseg size 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "size",
0341a5
-                    "name": "maxseg"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option window kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "window"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option window length 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "length",
0341a5
-                    "name": "window"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option window count 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "count",
0341a5
-                    "name": "window"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack-permitted kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "sack-permitted"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack-permitted length 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "length",
0341a5
-                    "name": "sack-permitted"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack length 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "length",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack left 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "left",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack0 left 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "left",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack1 left 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "left",
0341a5
-                    "name": "sack1"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack2 left 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "left",
0341a5
-                    "name": "sack2"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack3 left 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "left",
0341a5
-                    "name": "sack3"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack0 right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack0"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack1 right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack1"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack2 right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack2"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option sack3 right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack3"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option timestamp kind 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "kind",
0341a5
-                    "name": "timestamp"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option timestamp length 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "length",
0341a5
-                    "name": "timestamp"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option timestamp tsval 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "tsval",
0341a5
-                    "name": "timestamp"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
-# tcp option timestamp tsecr 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "tsecr",
0341a5
-                    "name": "timestamp"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
diff --git a/tests/py/ip6/tcpopt.t.json.output b/tests/py/ip6/tcpopt.t.json.output
0341a5
deleted file mode 100644
0341a5
index 81dd8ad..0000000
0341a5
--- a/tests/py/ip6/tcpopt.t.json.output
0341a5
+++ /dev/null
0341a5
@@ -1,16 +0,0 @@
0341a5
-# tcp option sack0 right 1
0341a5
-[
0341a5
-    {
0341a5
-        "match": {
0341a5
-            "left": {
0341a5
-                "tcp option": {
0341a5
-                    "field": "right",
0341a5
-                    "name": "sack"
0341a5
-                }
0341a5
-            },
0341a5
-	    "op": "==",
0341a5
-            "right": 1
0341a5
-        }
0341a5
-    }
0341a5
-]
0341a5
-
0341a5
diff --git a/tests/py/ip6/tcpopt.t.payload b/tests/py/ip6/tcpopt.t.payload
0341a5
deleted file mode 100644
0341a5
index 4b18919..0000000
0341a5
--- a/tests/py/ip6/tcpopt.t.payload
0341a5
+++ /dev/null
0341a5
@@ -1,181 +0,0 @@
0341a5
-# tcp option eol kind 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 0 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option noop kind 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 1 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option maxseg kind 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 2 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option maxseg length 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 2 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option maxseg size 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 2b @ 2 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000100 ]
0341a5
-
0341a5
-# tcp option window kind 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option window length 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option window count 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 3 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack-permitted kind 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 4 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack-permitted length 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 4 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack kind 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 5 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack length 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 5 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option sack left 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack0 left 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack1 left 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 10 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack2 left 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 18 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack3 left 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 26 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack right 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack0 right 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 6 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack1 right 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 14 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack2 right 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 22 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option sack3 right 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 5 + 30 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option timestamp kind 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 8 + 0 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option timestamp length 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 1b @ 8 + 1 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000001 ]
0341a5
-
0341a5
-# tcp option timestamp tsval 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 8 + 2 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-
0341a5
-# tcp option timestamp tsecr 1
0341a5
-ip6 test-ip input
0341a5
-  [ meta load l4proto => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x00000006 ]
0341a5
-  [ exthdr load tcpopt 4b @ 8 + 6 => reg 1 ]
0341a5
-  [ cmp eq reg 1 0x01000000 ]
0341a5
-- 
0341a5
2.31.1
0341a5