]> git.ipfire.org Git - thirdparty/ipset.git/blame - tests/hash:net,net.t
xlate: Fix for fd leak in error path
[thirdparty/ipset.git] / tests / hash:net,net.t
CommitLineData
ab7c1721 1# Create a set with timeout
ad4de228 20 ipset create test hash:net,net hashsize 128 timeout 4
ab7c1721
OS
3# Add zero valued element
41 ipset add test 0.0.0.0/0,0.0.0.0/0
5# Test zero valued element
61 ipset test test 0.0.0.0/0,0.0.0.0/0
7# Delete zero valued element
81 ipset del test 0.0.0.0/0,0.0.0.0/0
9# Try to add /0
101 ipset add test 1.1.1.1/0,1.1.1.1/0
11# Try to add /32
120 ipset add test 1.1.1.1/32,1.1.1.2/32
13# Add almost zero valued element
140 ipset add test 0.0.0.0/1,0.0.0.0/1
15# Test almost zero valued element
160 ipset test test 0.0.0.0/1,0.0.0.0/1
17# Delete almost zero valued element
180 ipset del test 0.0.0.0/1,0.0.0.0/1
19# Test deleted element
201 ipset test test 0.0.0.0/1,0.0.0.0/1
21# Delete element not added to the set
221 ipset del test 0.0.0.0/1,0.0.0.0/1
23# Add first random network
240 ipset add test 2.0.0.1/24,2.0.1.1/24
25# Add second random network
260 ipset add test 192.168.68.69/27,192.168.129.69/27
27# Test first random value
280 ipset test test 2.0.0.255,2.0.1.255
29# Test second random value
300 ipset test test 192.168.68.95,192.168.129.75
31# Test value not added to the set
321 ipset test test 2.0.1.0,2.0.0.1
33# Try to add IP address
340 ipset add test 2.0.0.1,2.0.0.2
35# List set
00e8bd9b 360 ipset list test > .foo0 && ./sort.sh .foo0
ab7c1721 37# Check listing
00e8bd9b 380 ./diff.sh .foo hash:net,net.t.list0
ab7c1721
OS
39# Sleep 5s so that element can time out
400 sleep 5
41# List set
00e8bd9b 420 ipset -L test > .foo0 && ./sort.sh .foo0
ab7c1721 43# Check listing
00e8bd9b 440 ./diff.sh .foo hash:net,net.t.list1
ab7c1721
OS
45# Flush test set
460 ipset flush test
47# Delete test set
480 ipset destroy test
49# Create test set
500 ipset new test hash:net,net
51# Add networks in range notation
520 ipset add test 10.2.0.0-10.2.1.12,10.3.0.0-10.3.1.12
53# List set
00e8bd9b 540 ipset -L test > .foo0 && ./sort.sh .foo0
ab7c1721 55# Check listing
00e8bd9b 560 ./diff.sh .foo hash:net,net.t.list2
ab7c1721
OS
57# Delete test set
580 ipset destroy test
59# Stress test with range notation
600 ./netnetgen.sh | ipset restore
61# List set and check the number of elements
620 n=`ipset -L test|grep '^10.'|wc -l` && test $n -eq 87040
63# Destroy test set
640 ipset destroy test
65# Create test set with timeout support
660 ipset create test hash:net,net timeout 30
67# Add a non-matching IP address entry
680 ipset -A test 1.1.1.1,1.1.1.2 nomatch
69# Add an overlapping matching small net
700 ipset -A test 1.1.1.0/30,1.1.1.0/30
71# Add an overlapping non-matching larger net
720 ipset -A test 1.1.1.0/28,1.1.1.0/28 nomatch
73# Add an even larger matching net
740 ipset -A test 1.1.1.0/26,1.1.1.0/26
75# Check non-matching IP
761 ipset -T test 1.1.1.1,1.1.1.2
77# Check matching IP from non-matchin small net
780 ipset -T test 1.1.1.3,1.1.1.2
79# Check non-matching IP from larger net
801 ipset -T test 1.1.1.4,1.1.1.4
81# Check matching IP from even larger net
820 ipset -T test 1.1.1.16,1.1.1.16
83# Update non-matching IP to matching one
840 ipset -! -A test 1.1.1.1,1.1.1.2
85# Delete overlapping small net
860 ipset -D test 1.1.1.0/30,1.1.1.0/30
87# Check matching IP
880 ipset -T test 1.1.1.1,1.1.1.2
89# Add overlapping small net
900 ipset -A test 1.1.1.0/30,1.1.1.0/30
91# Update matching IP as a non-matching one, with shorter timeout
920 ipset -! -A test 1.1.1.1,1.1.1.2 nomatch timeout 2
93# Check non-matching IP
941 ipset -T test 1.1.1.1,1.1.1.2
95# Sleep 3s so that element can time out
960 sleep 3
97# Check non-matching IP
980 ipset -T test 1.1.1.1,1.1.1.2
99# Check matching IP
1000 ipset -T test 1.1.1.3,1.1.1.2
101# flush ipset
1020 ipset -F test
103# Add matching IP
1040 ipset -A test 10.0.0.0/16,192.168.0.0/24
105# Add more-specific non-matching IP
1060 ipset -A test 10.0.0.0/24,192.168.0.0/24 nomatch
107# Add even more-specific matching IP
1080 ipset -A test 10.0.0.0/30,192.168.0.0/23
109# Check non-matching IP
1101 ipset -T test 10.0.0.10,192.168.0.1
111# Check non-matching IP with nomatch specified
1120 ipset -T test 10.0.0.10,192.168.0.1 nomatch
113# Check matching IP
1140 ipset -T test 10.0.0.1,192.168.0.1
115# Delete test set
1160 ipset destroy test
117# Timeout: Check that resizing keeps timeout values
1180 ./resizet.sh -4 netnet
119# Nomatch: Check that resizing keeps the nomatch flag
1200 ./resizen.sh -4 netnet
121# Counters: create set
1220 ipset n test hash:net,net counters
123# Counters: add element with packet, byte counters
1240 ipset a test 2.0.0.1/24,2.0.0.1/24 packets 5 bytes 3456
125# Counters: check element
1260 ipset t test 2.0.0.1/24,2.0.0.1/24
127# Counters: check counters
1280 ./check_counters test 2.0.0.0/24,2.0.0.0/24 5 3456
129# Counters: delete element
1300 ipset d test 2.0.0.1/24,2.0.0.1/24
131# Counters: test deleted element
1321 ipset t test 2.0.0.1/24,2.0.0.1/24
133# Counters: add element with packet, byte counters
1340 ipset a test 2.0.0.20/25,2.0.0.20/25 packets 12 bytes 9876
135# Counters: check counters
1360 ./check_counters test 2.0.0.0/25,2.0.0.0/25 12 9876
137# Counters: update counters
1380 ipset -! a test 2.0.0.20/25,2.0.0.20/25 packets 13 bytes 12479
139# Counters: check counters
1400 ./check_counters test 2.0.0.0/25,2.0.0.0/25 13 12479
141# Counters: destroy set
1420 ipset x test
143# Counters and timeout: create set
1440 ipset n test hash:net,net counters timeout 600
145# Counters and timeout: add element with packet, byte counters
1460 ipset a test 2.0.0.1/24,2.0.0.1/24 packets 5 bytes 3456
147# Counters and timeout: check element
1480 ipset t test 2.0.0.1/24,2.0.0.1/24
149# Counters and timeout: check counters
1500 ./check_extensions test 2.0.0.0/24,2.0.0.0/24 600 5 3456
151# Counters and timeout: delete element
1520 ipset d test 2.0.0.1/24,2.0.0.1/24
153# Counters and timeout: test deleted element
1541 ipset t test 2.0.0.1/24,2.0.0.1/24
155# Counters and timeout: add element with packet, byte counters
1560 ipset a test 2.0.0.20/25,2.0.0.20/25 packets 12 bytes 9876
157# Counters and timeout: check counters
1580 ./check_extensions test 2.0.0.0/25,2.0.0.0/25 600 12 9876
159# Counters and timeout: update counters
1600 ipset -! a test 2.0.0.20/25,2.0.0.20/25 packets 13 bytes 12479
161# Counters and timeout: check counters
1620 ./check_extensions test 2.0.0.0/25,2.0.0.0/25 600 13 12479
163# Counters and timeout: update timeout
1640 ipset -! a test 2.0.0.20/25,2.0.0.20/25 timeout 700
165# Counters and timeout: check counters
1660 ./check_extensions test 2.0.0.0/25,2.0.0.0/25 700 13 12479
167# Counters and timeout: destroy set
1680 ipset x test
31fc637c
VP
169# Network: Create a set with timeout and netmask
1700 ipset -N test hash:net,net --hashsize 128 --netmask 24 timeout 4
171# Network: Add first random network
1720 ipset -A test 2.0.10.1,2.10.10.254
173# Network: Add second random network
1740 ipset -A test 192.168.68.1,192.168.68.254
175# Network: Test first random value
1760 ipset -T test 2.0.10.11,2.10.10.25
177# Network: Test second random value
1780 ipset -T test 192.168.68.11,192.168.68.5
179# Network: Test value not added to the set
1801 ipset -T test 2.10.1.0,21.0.1.0
181# Network: Add third element
1820 ipset -A test 200.100.10.1,200.100.10.100 timeout 0
183# Network: Add third random network
1840 ipset -A test 200.100.0.12,200.100.0.13
185# Network: Delete the same network
1860 ipset -D test 200.100.0.12,200.100.0.13
187# Network: List set
1880 ipset -L test > .foo0 && ./sort.sh .foo0
189# Network: Check listing
1900 ./diff.sh .foo hash:net,net.t.list3
191# Sleep 5s so that elements can time out
1920 sleep 5
193# Network: List set
1940 ipset -L test > .foo
195# Network: Check listing
1960 ./diff.sh .foo hash:net,net.t.list4
197# Network: Flush test set
1980 ipset -F test
199# Network: add element with 1s timeout
2000 ipset add test 200.100.0.12,80.20.0.12 timeout 1
201# Network: readd element with 3s timeout
2020 ipset add test 200.100.0.12,80.20.0.12 timeout 3 -exist
203# Network: sleep 2s
2040 sleep 2s
205# Network: check readded element
2060 ipset test test 200.100.0.12,80.20.0.12
207# Network: Delete test set
2080 ipset -X test
209# Network: Create a set with timeout and bitmask
2100 ipset -N test hash:net,net --hashsize 128 --bitmask 255.255.255.0 timeout 4
211# Network: Add first random network
2120 ipset -A test 2.0.10.1,2.10.10.254
213# Network: Add second random network
2140 ipset -A test 192.168.68.1,192.168.68.254
215# Network: Test first random value
2160 ipset -T test 2.0.10.11,2.10.10.25
217# Network: Test second random value
2180 ipset -T test 192.168.68.11,192.168.68.5
219# Network: Test value not added to the set
2201 ipset -T test 2.10.1.0,21.0.1.0
221# Network: Add third element
2220 ipset -A test 200.100.10.1,200.100.10.100 timeout 0
223# Network: Add third random network
2240 ipset -A test 200.100.0.12,200.100.0.13
225# Network: Delete the same network
2260 ipset -D test 200.100.0.12,200.100.0.13
227# Network: List set
2280 ipset -L test > .foo0 && ./sort.sh .foo0
229# Network: Check listing
2300 ./diff.sh .foo hash:net,net.t.list5
231# Sleep 5s so that elements can time out
2320 sleep 5
233# Network: List set
2340 ipset -L test > .foo
235# Network: Check listing
2360 ./diff.sh .foo hash:net,net.t.list6
237# Network: Flush test set
2380 ipset -F test
239# Network: add element with 1s timeout
2400 ipset add test 200.100.0.12,80.20.0.12 timeout 1
241# Network: readd element with 3s timeout
2420 ipset add test 200.100.0.12,80.20.0.12 timeout 3 -exist
243# Network: sleep 2s
2440 sleep 2s
245# Network: check readded element
2460 ipset test test 200.100.0.12,80.20.0.12
247# Network: Delete test set
2480 ipset -X test
249# Network: Create a set with bitmask which is not a valid netmask
2500 ipset -N test hash:net,net --hashsize 128 --bitmask 255.255.0.255
251# Network: Add zero valued element
2521 ipset -A test 0.0.0.0
253# Network: Test zero valued element
2541 ipset -T test 0.0.0.0
255# Network: Delete zero valued element
2561 ipset -D test 0.0.0.0
257# Network: Add first random network
2580 ipset -A test 1.2.3.4,22.23.24.25
259# Network: Add second random network
2600 ipset -A test 1.168.122.124,122.23.45.50
261# Network: Test first random value
2620 ipset -T test 1.2.43.4,22.23.2.25
263# Network: Test second random value
2640 ipset -T test 1.168.12.124,122.23.4.50
265# Network: Test value not added to the set
2661 ipset -T test 2.168.122.124,22.23.45.50
267# Network: Test delete value
2680 ipset -D test 1.168.12.124,122.23.0.50
269# Network: List set
2700 ipset -L test > .foo
271# Network: Check listing
2720 ./diff.sh .foo hash:net,net.t.list7
273# Network: Delete test set
2740 ipset -X test
ab7c1721 275# eof