diff options
author | Fernando Fernandez Mancera <ffmancera@riseup.net> | 2018-10-23 17:06:22 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2018-10-23 17:46:47 +0200 |
commit | 03eafe098d5eead786cbbe6f79348f05819cd99e (patch) | |
tree | 852498d1288759dafa8773c04fc24e3f54d4512a /tests/py/inet | |
parent | d7ef1e206bd9b36607dddcf337fada11d743b61f (diff) |
osf: add ttl option support
Add support for ttl option in "osf" expression. Example:
table ip foo {
chain bar {
type filter hook input priority filter; policy accept;
osf ttl skip name "Linux"
}
}
Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tests/py/inet')
-rw-r--r-- | tests/py/inet/osf.t | 3 | ||||
-rw-r--r-- | tests/py/inet/osf.t.json | 3 | ||||
-rw-r--r-- | tests/py/inet/osf.t.payload | 68 |
3 files changed, 72 insertions, 2 deletions
diff --git a/tests/py/inet/osf.t b/tests/py/inet/osf.t index bccfc751..fd5d9ed8 100644 --- a/tests/py/inet/osf.t +++ b/tests/py/inet/osf.t @@ -5,6 +5,9 @@ *inet;osfinet;osfchain osf name "Linux";ok +osf ttl loose name "Linux";ok +osf ttl skip name "Linux";ok +osf ttl nottl name "Linux";fail osf name "morethansixteenbytes";fail osf name ;fail osf name { "Windows", "MacOs" };ok diff --git a/tests/py/inet/osf.t.json b/tests/py/inet/osf.t.json index 4bb413ca..45335cab 100644 --- a/tests/py/inet/osf.t.json +++ b/tests/py/inet/osf.t.json @@ -4,6 +4,7 @@ "match": { "left": { "osf": { + "ttl": 0, "key": "name" } }, @@ -19,6 +20,7 @@ "match": { "left": { "osf": { + "ttl": 0, "key": "name" } }, @@ -58,6 +60,7 @@ }, "key": { "osf": { + "ttl": 0, "key": "name" } } diff --git a/tests/py/inet/osf.t.payload b/tests/py/inet/osf.t.payload index 850ca29e..9b8f0bc0 100644 --- a/tests/py/inet/osf.t.payload +++ b/tests/py/inet/osf.t.payload @@ -13,19 +13,83 @@ inet osfinet osfchain [ osf dreg 1 ] [ cmp eq reg 1 0x756e694c 0x00000078 0x00000000 0x00000000 ] +# osf ttl loose name "Linux" +ip osfip osfchain + [ osf dreg 1 ] + [ cmp eq reg 1 0x756e694c 0x00000078 0x00000000 0x00000000 ] + +# osf ttl loose name "Linux" +ip6 osfip6 osfchain + [ osf dreg 1 ] + [ cmp eq reg 1 0x756e694c 0x00000078 0x00000000 0x00000000 ] + +# osf ttl loose name "Linux" +inet osfinet osfchain + [ osf dreg 1 ] + [ cmp eq reg 1 0x756e694c 0x00000078 0x00000000 0x00000000 ] + +# osf ttl skip name "Linux" +ip osfip osfchain + [ osf dreg 1 ] + [ cmp eq reg 1 0x756e694c 0x00000078 0x00000000 0x00000000 ] + +# osf ttl skip name "Linux" +ip6 osfip6 osfchain + [ osf dreg 1 ] + [ cmp eq reg 1 0x756e694c 0x00000078 0x00000000 0x00000000 ] + +# osf ttl skip name "Linux" +inet osfinet osfchain + [ osf dreg 1 ] + [ cmp eq reg 1 0x756e694c 0x00000078 0x00000000 0x00000000 ] + +# osf name { "Windows", "MacOs" } +__set%d osfip 3 size 2 +__set%d osfip 0 + element 646e6957 0073776f 00000000 00000000 : 0 [end] element 4f63614d 00000073 00000000 00000000 : 0 [end] +ip osfip osfchain + [ osf dreg 1 ] + [ lookup reg 1 set __set%d ] + +# osf name { "Windows", "MacOs" } +__set%d osfip6 3 size 2 +__set%d osfip6 0 + element 646e6957 0073776f 00000000 00000000 : 0 [end] element 4f63614d 00000073 00000000 00000000 : 0 [end] +ip6 osfip6 osfchain + [ osf dreg 1 ] + [ lookup reg 1 set __set%d ] + # osf name { "Windows", "MacOs" } __set%d osfinet 3 size 2 __set%d osfinet 0 element 646e6957 0073776f 00000000 00000000 : 0 [end] element 4f63614d 00000073 00000000 00000000 : 0 [end] -inet osfinet osfchain +inet osfinet osfchain [ osf dreg 1 ] [ lookup reg 1 set __set%d ] # ct mark set osf name map { "Windows" : 0x00000001, "MacOs" : 0x00000002 } __map%d osfip b size 2 __map%d osfip 0 - element 646e6957 0073776f 00000000 00000000 : 00000001 0 [end] element 4f63614d 00000073 00000000 00000000 : 00000002 0 [end] + element 646e6957 0073776f 00000000 00000000 : 00000001 0 [end] element 4f63614d 00000073 00000000 00000000 : 00000002 0 [end] ip osfip osfchain [ osf dreg 1 ] [ lookup reg 1 set __map%d dreg 1 ] [ ct set mark with reg 1 ] + +# ct mark set osf name map { "Windows" : 0x00000001, "MacOs" : 0x00000002 } +__map%d osfip6 b size 2 +__map%d osfip6 0 + element 646e6957 0073776f 00000000 00000000 : 00000001 0 [end] element 4f63614d 00000073 00000000 00000000 : 00000002 0 [end] +ip6 osfip6 osfchain + [ osf dreg 1 ] + [ lookup reg 1 set __map%d dreg 1 ] + [ ct set mark with reg 1 ] + +# ct mark set osf name map { "Windows" : 0x00000001, "MacOs" : 0x00000002 } +__map%d osfinet b size 2 +__map%d osfinet 0 + element 646e6957 0073776f 00000000 00000000 : 00000001 0 [end] element 4f63614d 00000073 00000000 00000000 : 00000002 0 [end] +inet osfinet osfchain + [ osf dreg 1 ] + [ lookup reg 1 set __map%d dreg 1 ] + [ ct set mark with reg 1 ] |