# Create a set with timeout
0 ipset create test hash:ip,mark family inet6 timeout 4
# Add partly zero valued element
0 ipset add test 2:0:0::1,0x0
# Test partly zero valued element
0 ipset test test 2:0:0::1,0x0
# Delete partly zero valued element
0 ipset del test 2:0:0::1,0x0
# Add first random value
0 ipset add test 2:0:0::1,0x5
# Add second random value
0 ipset add test 2:1:0::0,0x80
# Test first random value
0 ipset test test 2:0:0::1,0x5
# Test second random value
0 ipset test test 2:1:0::0,0x80
# Test value not added to the set
1 ipset test test 2:0:0::1,0x4
# Delete value not added to the set
1 ipset del test 2:0:0::1,0x6
# Test value before first random value
1 ipset test test 2:0:0::0,0x5
# Test value after second random value
1 ipset test test 2:1:0::1,0x80
# Try to add value before first random value
0 ipset add test 2:0:0::0,0x5
# Try to add value after second random value
0 ipset add test 2:1:0::1,0x80
# List set
0 ipset list test > .foo0 && ./sort.sh .foo0
# Check listing
0 ./diff.sh .foo hash:ip6,mark.t.list0
# Sleep 5s so that elements can time out
0 sleep 5
# List set
0 ipset list test > .foo0 && ./sort.sh .foo0
# Check listing
0 ./diff.sh .foo hash:ip6,mark.t.list1
# Delete test set
0 ipset destroy test
# Create set to add a range
0 ipset new test hash:ip,mark -6 hashsize 64
# Add a random value 1
0 ipset add test 1::1,0xc3500
# Add a random value 2
0 ipset add test 1::1,0x87cda0
# Add a random value 3
0 ipset add test 1::3,0x87cda0
# Add a random value 4
0 ipset add test 1::4,0x87cda0
# Add a random value 5
0 ipset add test 1::5,0x87cda0
# Add a random value 6
0 ipset add test 1::6,0x87cda0
# Add a random value 7
0 ipset add test 1::7,0x87cda0
# Add a random value 8
0 ipset add test 1::8,0x87cda0
# Add a random value 9
0 ipset add test 1::9,0x87cda0
# Add a random value 10
0 ipset add test 1::101,0x87cda0
# Add a random value 11
0 ipset add test 1::11,0x87cda0
# Add a random value 12
0 ipset add test 1::12,0x87cda0
# Add a random value 13
0 ipset add test 1::13,0x87cda0
# Add a random value 14
0 ipset add test 1::14,0x87cda0
# Add a random value 15
0 ipset add test 1::15,0x87cda0
# Add a random value 16
0 ipset add test 1::16,0x87cda0
# Add a random value 17
0 ipset add test 1::17,0x87cda0
# Add a random value 18
0 ipset add test 1::18,0x87cda0
# Add a random value 19
0 ipset add test 1::19,0x87cda0
# Add a random value 20
0 ipset add test 1::20,0x87cda0
# Add a random value 21
0 ipset add test 1::21,0x87cda0
# Add a random value 22
0 ipset add test 1::22,0x87cda0
# Add a random value 23
0 ipset add test 1::23,0x87cda0
# Add a random value 24
0 ipset add test 1::24,0x87cda0
# Add a random value 25
0 ipset add test 1::25,0x87cda0
# Add a random value 26
0 ipset add test 1::26,0x87cda0
# Add a random value 27
0 ipset add test 1::27,0x87cda0
# Add a random value 28
0 ipset add test 1::28,0x87cda0
# Add a random value 29
0 ipset add test 1::29,0x87cda0
# Add a random value 30
0 ipset add test 1::301,0x87cda0
# Add a random value 31
0 ipset add test 1::31,0x87cda0
# Add a random value 32
0 ipset add test 1::32,0x87cda0
# Add a random value 33
0 ipset add test 1::33,0x87cda0
# Add a random value 34
0 ipset add test 1::34,0x87cda0
# Add a random value 35
0 ipset add test 1::35,0x87cda0
# Add a random value 36
0 ipset add test 1::36,0x87cda0
# Add a random value 37
0 ipset add test 1::37,0x87cda0
# Add a random value 38
0 ipset add test 1::38,0x87cda0
# Add a random value 39
0 ipset add test 1::39,0x87cda0
# Add a random value 40
0 ipset add test 1::401,0x87cda0
# Add a random value 41
0 ipset add test 1::41,0x87cda0
# Add a random value 42
0 ipset add test 1::42,0x87cda0
# Add a random value 43
0 ipset add test 1::43,0x87cda0
# Add a random value 44
0 ipset add test 1::44,0x87cda0
# Add a random value 45
0 ipset add test 1::45,0x87cda0
# Add a random value 46
0 ipset add test 1::46,0x87cda0
# Add a random value 47
0 ipset add test 1::47,0x87cda0
# Add a random value 48
0 ipset add test 1::48,0x87cda0
# Add a random value 49
0 ipset add test 1::49,0x87cda0
# Add a random value 50
0 ipset add test 1::501,0x87cda0
# Add a random value 51
0 ipset add test 1::51,0x87cda0
# Add a random value 52
0 ipset add test 1::52,0x87cda0
# Add a random value 53
0 ipset add test 1::53,0x87cda0
# Add a random value 54
0 ipset add test 1::54,0x87cda0
# Add a random value 55
0 ipset add test 1::55,0x87cda0
# Add a random value 56
0 ipset add test 1::56,0x87cda0
# Add a random value 57
0 ipset add test 1::57,0x87cda0
# Add a random value 58
0 ipset add test 1::58,0x87cda0
# Add a random value 59
0 ipset add test 1::59,0x87cda0
# Add a random value 60
0 ipset add test 1::601,0x87cda0
# Add a random value 61
0 ipset add test 1::61,0x87cda0
# Add a random value 62
0 ipset add test 1::62,0x87cda0
# Add a random value 63
0 ipset add test 1::63,0x87cda0
# Add a random value 64
0 ipset add test 1::64,0x87cda0
# Add a random value 65, that forces a resizing
0 ipset add test 1::65,0x87cda0
# Check that correct number of elements are added
0 n=`ipset list test|grep 1::|wc -l` && test $n -eq 65
# Destroy set
0 ipset -X test
# Timeout: Check that resizing keeps timeout values
0 ./resizet.sh -6 ipmark
# Counters: create set
0 ipset n test hash:ip,mark -6 counters
# Counters: add element with packet, byte counters
0 ipset a test 2:0:0::1,0x50 packets 5 bytes 3456
# Counters: check element
0 ipset t test 2:0:0::1,0x50
# Counters: check counters
0 ./check_counters test 2::1 5 3456
# Counters: delete element
0 ipset d test 2:0:0::1,0x50
# Counters: test deleted element
1 ipset t test 2:0:0::1,0x50
# Counters: add element with packet, byte counters
0 ipset a test 2:0:0::20,0x1c5 packets 12 bytes 9876
# Counters: check counters
0 ./check_counters test 2::20 12 9876
# Counters: update counters
0 ipset -! a test 2:0:0::20,0x1c5 packets 13 bytes 12479
# Counters: check counters
0 ./check_counters test 2::20 13 12479
# Counters: destroy set
0 ipset x test
# Counters and timeout: create set
0 ipset n test hash:ip,mark -6 counters timeout 600
# Counters and timeout: add element with packet, byte counters
0 ipset a test 2:0:0::1,0x50 packets 5 bytes 3456
# Counters and timeout: check element
0 ipset t test 2:0:0::1,0x50
# Counters and timeout: check counters
0 ./check_extensions test 2::1 600 5 3456
# Counters and timeout: delete element
0 ipset d test 2:0:0::1,0x50
# Counters and timeout: test deleted element
1 ipset t test 2:0:0::1,0x50
# Counters and timeout: add element with packet, byte counters
0 ipset a test 2:0:0::20,0x1c5 packets 12 bytes 9876
# Counters and timeout: check counters
0 ./check_extensions test 2::20 600 12 9876
# Counters and timeout: update counters
0 ipset -! a test 2:0:0::20,0x1c5 packets 13 bytes 12479
# Counters and timeout: check counters
0 ./check_extensions test 2::20 600 13 12479
# Counters and timeout: update timeout
0 ipset -! a test 2:0:0::20,0x1c5 timeout 700
# Counters and timeout: check counters
0 ./check_extensions test 2::20 700 13 12479
# Counters and timeout: destroy set
0 ipset x test
# Create a set with 0x0000FFDE markmask
0 ipset create test hash:ip,mark family inet6 markmask 0x0000FFDE
# Add first value with 0x0521F322 mark
0 ipset add test 2:1::1,0x0521F322
# Test last entry mark was modified to 0x0000F302
0 ipset test test 2:1::1,0x0000F302
# Test that mask is applied for tests as well
0 ipset test test 2:1::1,0x0521F322
# Destroy set
0 ipset x test
# eof
