summaryrefslogtreecommitdiffstats
path: root/tests/py/ip/sets.t
blob: b159ad8d98ccda6255ecadfd7c8d010dc8fdfe92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
:input;type filter hook input priority 0
:ingress;type filter hook ingress device lo priority 0

*ip;test-ip4;input
*inet;test-inet;input
*netdev;test-netdev;ingress

!w type ipv4_addr;ok
!x type inet_proto;ok
!y type inet_service;ok
!z type time;ok

!set1 type ipv4_addr;ok
?set1 192.168.3.4;ok

?set1 192.168.3.4;ok
?set1 192.168.3.5 192.168.3.6;ok
?set1 192.168.3.5 192.168.3.6;ok
?set1 192.168.3.8 192.168.3.9;ok
?set1 192.168.3.10 192.168.3.11;ok
?set1 1234:1234:1234:1234:1234:1234:1234:1234;fail
?set2 192.168.3.4;fail

!set2 type ipv4_addr;ok
?set2 192.168.3.4;ok
?set2 192.168.3.5 192.168.3.6;ok
?set2 192.168.3.5 192.168.3.6;ok
?set2 192.168.3.8 192.168.3.9;ok
?set2 192.168.3.10 192.168.3.11;ok

ip saddr @set1 drop;ok
ip saddr != @set1 drop;ok
ip saddr @set2 drop;ok
ip saddr != @set2 drop;ok
ip saddr @set33 drop;fail
ip saddr != @set33 drop;fail

!set3 type ipv4_addr flags interval;ok
?set3 192.168.0.0/16;ok
?set3 172.16.0.0/12;ok
?set3 10.0.0.0/8;ok

!set4 type ipv4_addr flags interval;ok
?set4 192.168.1.0/24;ok
?set4 192.168.0.0/24;ok
?set4 192.168.2.0/24;ok
?set4 192.168.1.1;fail
?set4 192.168.3.0/24;ok

!set5 type ipv4_addr . ipv4_addr;ok
ip saddr . ip daddr @set5 drop;ok
set add ip saddr . ip daddr @set5;ok

# test nested anonymous sets
ip saddr { { 1.1.1.0, 3.3.3.0 }, 2.2.2.0 };ok;ip saddr { 1.1.1.0, 2.2.2.0, 3.3.3.0 }
ip saddr { { 1.1.1.0/24, 3.3.3.0/24 }, 2.2.2.0/24 };ok;ip saddr { 1.1.1.0/24, 2.2.2.0/24, 3.3.3.0/24 }