]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
tests: py: add tests for limit stateful object
authorPablo M. Bermudo Garay <pablombg@gmail.com>
Mon, 28 Aug 2017 18:20:49 +0000 (20:20 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 4 Sep 2017 20:45:24 +0000 (22:45 +0200)
The patch also reorganizes ip/objects.t file.

Signed-off-by: Pablo M. Bermudo Garay <pablombg@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
tests/py/any/objects.t
tests/py/ip/objects.t
tests/py/ip/objects.t.payload

index d44696da183660d17436f15cfa26aea556102049..89a9545fe952c014e3c57780d93624767f322359 100644 (file)
@@ -11,3 +11,5 @@
 %cnt1 type counter;ok
 %qt1 type quota 25 mbytes;ok
 %qt2 type quota over 1 kbytes;ok
+%lim0 type limit rate 400/minute;ok
+%lim2 type limit rate over 1024 bytes/second burst 512 bytes;ok
index 742ec6af25726bbf0d0af2c7f7f4e0aa3d2f5d27..76b802ac969b0087fdef56bf018777dadb716e87 100644 (file)
@@ -2,19 +2,33 @@
 
 *ip;test-ip4;output
 
+# counter
 %cnt1 type counter;ok
 %cnt2 type counter;ok
-%qt1 type quota 25 mbytes;ok
-%qt2 type quota over 1 kbytes;ok
-%cthelp2 type ct helper { type \"ftp\" protocol tcp\; l3proto ip6\; };fail
 
 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
+
+# quota
+%qt1 type quota 25 mbytes;ok
+%qt2 type quota over 1 kbytes;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
 
+# ct helper
 %cthelp1 type ct helper { type \"ftp\" protocol tcp\; };ok
+%cthelp2 type ct helper { type \"ftp\" protocol tcp\; l3proto ip6\; };fail
+
 ct helper set "cthelp1";ok
 ct helper set tcp dport map {21 : "cthelp1", 2121 : "cthelp1" };ok
+
+# limit
+%lim1 type limit rate 400/minute;ok
+%lim2 type limit rate over 1024 bytes/second burst 512 bytes;ok
+
+ip saddr 192.168.1.3 limit name "lim1";ok
+ip saddr 192.168.1.3 limit name "lim3";fail
+limit name tcp dport map {443 : "lim1", 80 : "lim2", 22 : "lim1"};ok
index 7f16c5ac599e657a8839d3a52c541795077c6b9d..007eaddb490b146d2e6b58e29dabc6f83eb9978c 100644 (file)
@@ -43,3 +43,19 @@ ip test-ip4 output
   [ 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 limit name "lim1"
+ip test-ip4 output
+  [ payload load 4b @ network header + 12 => reg 1 ]
+  [ cmp eq reg 1 0x0301a8c0 ]
+  [ objref type 4 name lim1 ]
+
+# limit name tcp dport map {443 : "lim1", 80 : "lim2", 22 : "lim1"}
+__objmap%d test-ip4 43 size 3
+__objmap%d test-ip4 0
+        element 0000bb01  : 0 [end]     element 00005000  : 0 [end]     element 00001600  : 0 [end]
+ip test-ip4 output
+  [ meta load l4proto => reg 1 ]
+  [ cmp eq reg 1 0x00000006 ]
+  [ payload load 2b @ transport header + 2 => reg 1 ]
+  [ objref sreg 1 set __objmap%d id 1 ]