diff options
author | Elise Lennion <elise.lennion@gmail.com> | 2017-01-26 15:21:45 -0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2017-01-27 13:33:20 +0100 |
commit | 7e6c6d92d2a1e770e55e8e27314f55df9b198ce9 (patch) | |
tree | ed6a59be01dd91ebd5713f2bf043a78e5debf19b /tests/py | |
parent | 153ef09be469ae9de41d912c7885f33ce47d843d (diff) |
tests: py: Add tests for stateful objects
These test for adding counters and quotas, to tables of different
families, and for referencing the objects in rules.
Signed-off-by: Elise Lennion <elise.lennion@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tests/py')
-rw-r--r-- | tests/py/any/objects.t | 13 | ||||
-rw-r--r-- | tests/py/ip/objects.t | 15 | ||||
-rw-r--r-- | tests/py/ip/objects.t.payload | 31 |
3 files changed, 59 insertions, 0 deletions
diff --git a/tests/py/any/objects.t b/tests/py/any/objects.t new file mode 100644 index 00000000..d44696da --- /dev/null +++ b/tests/py/any/objects.t @@ -0,0 +1,13 @@ +:output;type filter hook output priority 0 +:ingress;type filter hook ingress device lo priority 0 + +*ip;test-ip4;output +*ip6;test-ip6;output +*inet;test-inet;output +*arp;test-arp;output +*bridge;test-bridge;output +*netdev;test-netdev;ingress + +%cnt1 type counter;ok +%qt1 type quota 25 mbytes;ok +%qt2 type quota over 1 kbytes;ok diff --git a/tests/py/ip/objects.t b/tests/py/ip/objects.t new file mode 100644 index 00000000..8109402d --- /dev/null +++ b/tests/py/ip/objects.t @@ -0,0 +1,15 @@ +:output;type filter hook output priority 0 + +*ip;test-ip4;output + +%cnt1 type counter;ok +%cnt2 type counter;ok +%qt1 type quota 25 mbytes;ok +%qt2 type quota over 1 kbytes;ok + +ip saddr 192.168.1.3 counter name "cnt2";ok +ip saddr 192.168.1.3 counter name "cnt3";fail +counter name tcp dport map {443 : "cnt1", 80 : "cnt2", 22 : "cnt1"};ok +ip saddr 192.168.1.3 quota name "qt1";ok +ip saddr 192.168.1.3 quota name "qt3";fail +quota name tcp dport map {443 : "qt1", 80 : "qt2", 22 : "qt1"};ok diff --git a/tests/py/ip/objects.t.payload b/tests/py/ip/objects.t.payload new file mode 100644 index 00000000..b5cad4d1 --- /dev/null +++ b/tests/py/ip/objects.t.payload @@ -0,0 +1,31 @@ +# ip saddr 192.168.1.3 counter name "cnt2" +ip test-ip4 output + [ payload load 4b @ network header + 12 => reg 1 ] + [ cmp eq reg 1 0x0301a8c0 ] + [ objref type 1 name cnt2 ] + +# counter name tcp dport map {443 : "cnt1", 80 : "cnt2", 22 : "cnt1"} +__objmap%d test-ip4 43 +__objmap%d test-ip4 0 + element 0000bb01 : 0 [end] element 00005000 : 0 [end] element 00001600 : 0 [end] +ip test-ip4 output + [ payload load 1b @ network header + 9 => reg 1 ] + [ cmp eq reg 1 0x00000006 ] + [ payload load 2b @ transport header + 2 => reg 1 ] + [ objref sreg 1 set __objmap%d id 1 ] + +# ip saddr 192.168.1.3 quota name "qt1" +ip test-ip4 output + [ payload load 4b @ network header + 12 => reg 1 ] + [ cmp eq reg 1 0x0301a8c0 ] + [ objref type 2 name qt1 ] + +# quota name tcp dport map {443 : "qt1", 80 : "qt2", 22 : "qt1"} +__objmap%d test-ip4 43 +__objmap%d test-ip4 0 + element 0000bb01 : 0 [end] element 00005000 : 0 [end] element 00001600 : 0 [end] +ip test-ip4 output + [ payload load 1b @ network header + 9 => reg 1 ] + [ cmp eq reg 1 0x00000006 ] + [ payload load 2b @ transport header + 2 => reg 1 ] + [ objref sreg 1 set __objmap%d id 1 ] |