summaryrefslogtreecommitdiffstats
path: root/tests/hash:net6,net6.t
diff options
context:
space:
mode:
Diffstat (limited to 'tests/hash:net6,net6.t')
-rw-r--r--tests/hash:net6,net6.t151
1 files changed, 151 insertions, 0 deletions
diff --git a/tests/hash:net6,net6.t b/tests/hash:net6,net6.t
new file mode 100644
index 0000000..3d6f447
--- /dev/null
+++ b/tests/hash:net6,net6.t
@@ -0,0 +1,151 @@
+# Create a set with timeout
+0 ipset create test hash:net,net family inet6 hashsize 128 timeout 5
+# Add zero valued element
+1 ipset add test ::/0,::/0
+# Test zero valued element
+1 ipset test test ::/0,::/0
+# Delete zero valued element
+1 ipset del test ::/0,::/0
+# Try to add /0
+1 ipset add test 1:1:1::1/0,1:1:1::1/0
+# Try to add /128
+0 ipset add test 1:1:1::1/128,2:2:2::2/128
+# Add almost zero valued element
+0 ipset add test 0:0:0::0/1,0:0:0::0/1
+# Test almost zero valued element
+0 ipset test test 0:0:0::0/1,0:0:0::0/1
+# Delete almost zero valued element
+0 ipset del test 0:0:0::0/1,0:0:0::0/1
+# Test deleted element
+1 ipset test test 0:0:0::0/1,0:0:0::0/1
+# Delete element not added to the set
+1 ipset del test 0:0:0::0/1,0:0:0::0/1
+# Add first random network
+0 ipset add test 2:0:0::1/24,4:0:0::1/32
+# Add second random network
+0 ipset add test 192:168:68::69/27,172:16:68::69/48
+# Test first random value
+0 ipset test test 2:0:0::255,4:0:0::54
+# Test second random value
+0 ipset test test 192:168:68::95,172:16:68::68
+# Test value not added to the set
+1 ipset test test 3:0:0::1,172:255:24::1
+# Try to add IP address
+0 ipset add test 3:0:0::1,8:0:0::1
+# List set
+0 ipset list test | grep -v Revision: | sed 's/timeout ./timeout x/' > .foo0 && ./sort.sh .foo0
+# Check listing
+0 diff -u -I 'Size in memory.*' .foo hash:net6,net6.t.list0
+# Sleep 5s so that element can time out
+0 sleep 5
+# IP: List set
+0 ipset -L test 2>/dev/null | grep -v Revision: > .foo0 && ./sort.sh .foo0
+# IP: Check listing
+0 diff -u -I 'Size in memory.*' .foo hash:net6,net6.t.list1
+# Flush test set
+0 ipset flush test
+# Add matching IP address entry
+0 ipset -A test 2001:db8::1/64,2001:db8:fe9::1/126
+# Add more-specific non-matching IP address entry
+0 ipset -A test 2001:db8::1/68,2001:db8:fe9::1/64 nomatch
+# Add even-more-specific matching IP address entry
+0 ipset -A test 2001:db8::1/72,2001:db8:fe9::1/64
+# Check non-matching IP
+1 ipset -T test 2001:db8:0:0:0f00::,2001:db8:fe9::1
+# Check non-matching IP with nomatch
+0 ipset -T test 2001:db8:0:0:0f00::,2001:db8:fe9::1 nomatch
+# Check matching IP
+0 ipset -T test 2001:db8::1,2001:db8:fe9::1
+# Delete test set
+0 ipset destroy test
+# Create test set with timeout support
+0 ipset create test hash:net,net family inet6 timeout 30
+# Add a non-matching IP address entry
+0 ipset -A test 1:1:1::1,2:2:2::2 nomatch
+# Add an overlapping matching small net
+0 ipset -A test 1:1:1::/124,2:2:2::/124
+# Add an overlapping non-matching larger net
+0 ipset -A test 1:1:1::/120,2:2:2::/120 nomatch
+# Add an even larger matching net
+0 ipset -A test 1:1:1::/116,2:2:2::/116
+# Check non-matching IP
+1 ipset -T test 1:1:1::1,2:2:2::2
+# Check matching IP from non-matchin small net
+0 ipset -T test 1:1:1::f,2:2:2::f
+# Check non-matching IP from larger net
+1 ipset -T test 1:1:1::10,2:2:2::10
+# Check matching IP from even larger net
+0 ipset -T test 1:1:1::100,2:2:2::100
+# Update non-matching IP to matching one
+0 ipset -! -A test 1:1:1::1,2:2:2::2
+# Delete overlapping small net
+0 ipset -D test 1:1:1::/124,2:2:2::/124
+# Check matching IP
+0 ipset -T test 1:1:1::1,2:2:2::2
+# Add overlapping small net
+0 ipset -A test 1:1:1::/124,2:2:2::/124
+# Update matching IP as a non-matching one, with shorter timeout
+0 ipset -! -A test 1:1:1::1,2:2:2::2 nomatch timeout 2
+# Check non-matching IP
+1 ipset -T test 1:1:1::1,2:2:2::2
+# Sleep 3s so that element can time out
+0 sleep 3
+# Check non-matching IP
+0 ipset -T test 1:1:1::1,2:2:2::2
+# Check matching IP
+0 ipset -T test 1:1:1::f,2:2:2::f
+# Delete test set
+0 ipset destroy test
+# Timeout: Check that resizing keeps timeout values
+0 ./resizet.sh -6 netnet
+# Nomatch: Check that resizing keeps the nomatch flag
+0 ./resizen.sh -6 netnet
+# Counters: create set
+0 ipset n test hash:net,net -6 counters
+# Counters: add element with packet, byte counters
+0 ipset a test 2:0:0::1/64,3:0:0::1/64 packets 5 bytes 3456
+# Counters: check element
+0 ipset t test 2:0:0::1/64,3:0:0::1/64
+# Counters: check counters
+0 ./check_counters test 2:: 5 3456
+# Counters: delete element
+0 ipset d test 2:0:0::1/64,3:0:0::1/64
+# Counters: test deleted element
+1 ipset t test 2:0:0::1/64,3:0:0::1/64
+# Counters: add element with packet, byte counters
+0 ipset a test 2:0:0::20/54,3:0:0::20/54 packets 12 bytes 9876
+# Counters: check counters
+0 ./check_counters test 2:: 12 9876
+# Counters: update counters
+0 ipset -! a test 2:0:0::20/54,3:0:0::20/54 packets 13 bytes 12479
+# Counters: check counters
+0 ./check_counters test 2:: 13 12479
+# Counters: destroy set
+0 ipset x test
+# Counters and timeout: create set
+0 ipset n test hash:net,net -6 counters timeout 600
+# Counters and timeout: add element with packet, byte counters
+0 ipset a test 2:0:0::1/64,3:0:0::1/64 packets 5 bytes 3456
+# Counters and timeout: check element
+0 ipset t test 2:0:0::1/64,3:0:0::1/64
+# Counters and timeout: check counters
+0 ./check_extensions test 2:: 600 5 3456
+# Counters and timeout: delete element
+0 ipset d test 2:0:0::1/64,3:0:0::1/64
+# Counters and timeout: test deleted element
+1 ipset t test 2:0:0::1/64,3:0:0::1/64
+# Counters and timeout: add element with packet, byte counters
+0 ipset a test 2:0:0::20/54,3:0:0::20/54 packets 12 bytes 9876
+# Counters and timeout: check counters
+0 ./check_extensions test 2:: 600 12 9876
+# Counters and timeout: update counters
+0 ipset -! a test 2:0:0::20/54,3:0:0::20/54 packets 13 bytes 12479
+# Counters and timeout: check counters
+0 ./check_extensions test 2:: 600 13 12479
+# Counters and timeout: update timeout
+0 ipset -! a test 2:0:0::20/54,3:0:0::20/54 timeout 700
+# Counters and timeout: check counters
+0 ./check_extensions test 2:: 700 13 12479
+# Counters and timeout: destroy set
+0 ipset x test
+# eof