diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2011-05-15 12:04:19 +0200 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2011-05-15 12:04:19 +0200 |
commit | bb4f6b818fe371b754abd61cffb97cb5145e8e1d (patch) | |
tree | 34fb558facd8bc4ca1f1cdda8cc62eb4fd929e6f /tests | |
parent | 774c80b578172aa7797ea60264e8a929302d5e83 (diff) |
Support range for IPv4 at adding/deleting elements for hash:*net* types
The range internally is converted to the network(s) equal to the range.
Example:
# ipset new test hash:net
# ipset add test 10.2.0.0-10.2.1.12
# ipset list test
Name: test
Type: hash:net
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 16888
References: 0
Members:
10.2.1.12
10.2.1.0/29
10.2.0.0/24
10.2.1.8/30
Diffstat (limited to 'tests')
-rw-r--r-- | tests/hash:ip,port,net.t | 8 | ||||
-rw-r--r-- | tests/hash:net,port.t | 8 | ||||
-rw-r--r-- | tests/hash:net.t | 14 | ||||
-rw-r--r-- | tests/hash:net.t.list2 | 10 |
4 files changed, 38 insertions, 2 deletions
diff --git a/tests/hash:ip,port,net.t b/tests/hash:ip,port,net.t index 89b046c..c13ccc4 100644 --- a/tests/hash:ip,port,net.t +++ b/tests/hash:ip,port,net.t @@ -46,4 +46,12 @@ 0 n=`ipset list test|grep 10.0|wc -l` && test $n -eq 3072 # Destroy set 0 ipset -X test +# Create set to add a range and with range notation in the network +0 ipset new test hash:ip,port,net hashsize 64 +# Add a range which forces a resizing +0 ipset add test 10.0.0.0-10.0.3.255,tcp:80-82,192.168.0.0-192.168.2.255 +# Check that correct number of elements are added +0 n=`ipset list test|grep 10.0|wc -l` && test $n -eq 6144 +# Destroy set +0 ipset -X test # eof diff --git a/tests/hash:net,port.t b/tests/hash:net,port.t index d5f420c..519292c 100644 --- a/tests/hash:net,port.t +++ b/tests/hash:net,port.t @@ -62,4 +62,12 @@ 0 n=`ipset list test|grep 10.0|wc -l` && test $n -eq 1026 # Destroy set 0 ipset -X test +# Create set to add a range and with range notation in the network +0 ipset new test hash:net,port hashsize 64 +# Add a range which forces a resizing +0 ipset add test 10.0.0.0-10.0.2.255,tcp:80-1105 +# Check that correct number of elements are added +0 n=`ipset list test|grep 10.0|wc -l` && test $n -eq 2052 +# Destroy set +0 ipset -X test # eof diff --git a/tests/hash:net.t b/tests/hash:net.t index 9947bf6..8ccc3f2 100644 --- a/tests/hash:net.t +++ b/tests/hash:net.t @@ -38,12 +38,22 @@ 0 diff -u -I 'Size in memory.*' .foo hash:net.t.list0 # Sleep 5s so that element can time out 0 sleep 5 -# IP: List set +# List set 0 ipset -L test 2>/dev/null > .foo0 && ./sort.sh .foo0 -# IP: Check listing +# Check listing 0 diff -u -I 'Size in memory.*' .foo hash:net.t.list1 # Flush test set 0 ipset flush test # Delete test set 0 ipset destroy test +# Create test set +0 ipset new test hash:net +# Add networks in range notation +0 ipset add test 10.2.0.0-10.2.1.12 +# List set +0 ipset -L test 2>/dev/null > .foo0 && ./sort.sh .foo0 +# Check listing +0 diff -u -I 'Size in memory.*' .foo hash:net.t.list2 +# Delete test set +0 ipset destroy test # eof diff --git a/tests/hash:net.t.list2 b/tests/hash:net.t.list2 new file mode 100644 index 0000000..dad3f22 --- /dev/null +++ b/tests/hash:net.t.list2 @@ -0,0 +1,10 @@ +Name: test +Type: hash:net +Header: family inet hashsize 1024 maxelem 65536 +Size in memory: 17016 +References: 0 +Members: +10.2.0.0/24 +10.2.1.0/29 +10.2.1.12 +10.2.1.8/30 |