1
1
AT_BANNER([ovs-ofctl])
3
AT_SETUP([ovs-ofctl parse-flows choice of protocol])
4
# This doesn't cover some potential vlan_tci test cases.
7
'tun_src=1.2.3.4 NXM,OXM' \
8
'tun_dst=1.2.3.4 NXM,OXM' \
12
'metadata=0 NXM,OXM' \
14
'skb_priority=0 none' \
24
'dl_src=00:11:22:33:44:55 any' \
25
'dl_src=00:11:22:33:44:55/00:ff:ff:ff:ff:ff NXM,OXM' \
26
'dl_dst=00:11:22:33:44:55 any' \
27
'dl_dst=00:11:22:33:44:55/00:ff:ff:ff:ff:ff NXM,OXM' \
28
'dl_type=0x1234 any' \
29
'dl_type=0x0800 any' \
30
'dl_type=0x0806 any' \
31
'dl_type=0x86dd any' \
33
'vlan_tci=0x1009 any' \
38
'mpls,mpls_label=5 NXM,OXM' \
39
'mpls,mpls_tc=1 NXM,OXM' \
40
'mpls,mpls_bos=0 NXM,OXM' \
41
'ip,ip_src=1.2.3.4 any' \
42
'ip,ip_src=192.168.0.0/24 any' \
43
'ip,ip_src=192.0.168.0/255.0.255.0 NXM,OXM' \
44
'ip,ip_dst=1.2.3.4 any' \
45
'ip,ip_dst=192.168.0.0/24 any' \
46
'ip,ip_dst=192.0.168.0/255.0.255.0 NXM,OXM' \
47
'ipv6,ipv6_src=::1 NXM,OXM' \
48
'ipv6,ipv6_dst=::1 NXM,OXM' \
49
'ipv6,ipv6_label=5 NXM,OXM' \
51
'ipv6,nw_proto=1 NXM,OXM' \
52
'ip,nw_tos=0xf0 any' \
53
'ipv6,nw_tos=0xf0 NXM,OXM' \
54
'ip,nw_tos_shifted=0x3c any' \
55
'ipv6,nw_tos_shifted=0x3c NXM,OXM' \
56
'ip,nw_ecn=1 NXM,OXM' \
57
'ipv6,nw_ecn=1 NXM,OXM' \
58
'ip,nw_ttl=5 NXM,OXM' \
59
'ipv6,nw_ttl=5 NXM,OXM' \
60
'ip,ip_frag=no NXM,OXM' \
61
'ipv6,ip_frag=no NXM,OXM' \
63
'arp,arp_spa=1.2.3.4 any' \
64
'arp,arp_tpa=1.2.3.4 any' \
65
'arp,arp_sha=00:11:22:33:44:55 NXM,OXM' \
66
'arp,arp_tha=00:11:22:33:44:55 NXM,OXM' \
67
'tcp,tcp_src=80 any' \
68
'tcp,tcp_src=0x1000/0x1000 NXM,OXM' \
69
'tcp6,tcp_src=80 NXM,OXM' \
70
'tcp6,tcp_src=0x1000/0x1000 NXM,OXM' \
71
'tcp,tcp_dst=80 any' \
72
'tcp,tcp_dst=0x1000/0x1000 NXM,OXM' \
73
'tcp6,tcp_dst=80 NXM,OXM' \
74
'tcp6,tcp_dst=0x1000/0x1000 NXM,OXM' \
75
'udp,udp_src=80 any' \
76
'udp,udp_src=0x1000/0x1000 NXM,OXM' \
77
'udp6,udp_src=80 NXM,OXM' \
78
'udp6,udp_src=0x1000/0x1000 NXM,OXM' \
79
'udp,udp_dst=80 any' \
80
'udp,udp_dst=0x1000/0x1000 NXM,OXM' \
81
'udp6,udp_dst=80 NXM,OXM' \
82
'udp6,udp_dst=0x1000/0x1000 NXM,OXM' \
83
'icmp,icmp_type=1 any' \
84
'icmp,icmp_type=1 any' \
85
'icmp6,icmpv6_type=1 NXM,OXM' \
86
'icmp6,icmpv6_code=2 NXM,OXM'
90
echo "### test case: '$1' should have usable protocols '$2'"
91
if test "$2" = none; then
92
AT_CHECK([ovs-ofctl parse-flow "$1,actions=drop"], [1],
93
[usable protocols: none
95
[ovs-ofctl: no usable protocol
98
AT_CHECK_UNQUOTED([ovs-ofctl parse-flow "$1,actions=drop" | sed 1q], [0],
3
105
AT_SETUP([ovs-ofctl parse-flows (OpenFlow 1.0)])
4
106
AT_DATA([flows.txt], [[
6
tcp,tp_src=123,actions=flood
108
tcp,tp_src=123,out_port=5,actions=flood
7
109
in_port=LOCAL dl_vlan=9 dl_src=00:0A:E4:25:6B:B0 actions=drop
8
110
udp dl_vlan_pcp=7 idle_timeout=5 actions=strip_vlan output:0
9
111
tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
10
112
udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
11
113
cookie=0x123456789abcdef hard_timeout=10 priority=60000 actions=controller
12
114
actions=note:41.42.43,note:00.01.02.03.04.05.06.07,note
13
actions=set_field:fe80:0123:4567:890a:a6ba:dbff:fefe:59fa->ipv6_src
115
ip,actions=set_field:10.4.3.77->ip_src
14
116
in_port=0 actions=resubmit:0
117
actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
17
120
AT_CHECK([ovs-ofctl parse-flows flows.txt
19
122
AT_CHECK([[sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout]], [0],
20
123
[[usable protocols: any
21
124
chosen protocol: OpenFlow10-table_id
22
OFPT_FLOW_MOD: ADD tcp,tp_src=123 actions=FLOOD
125
OFPT_FLOW_MOD: ADD tcp,tp_src=123 out_port:5 actions=FLOOD
23
126
OFPT_FLOW_MOD: ADD in_port=LOCAL,dl_vlan=9,dl_src=00:0a:e4:25:6b:b0 actions=drop
24
127
OFPT_FLOW_MOD: ADD udp,dl_vlan_pcp=7 idle:5 actions=strip_vlan,output:0
25
128
OFPT_FLOW_MOD: ADD tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
26
129
OFPT_FLOW_MOD: ADD udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
27
130
OFPT_FLOW_MOD: ADD priority=60000 cookie:0x123456789abcdef hard:10 actions=CONTROLLER:65535
28
131
OFPT_FLOW_MOD: ADD actions=note:41.42.43.00.00.00,note:00.01.02.03.04.05.06.07.00.00.00.00.00.00,note:00.00.00.00.00.00
29
OFPT_FLOW_MOD: ADD actions=load:0xa6badbfffefe59fa->NXM_NX_IPV6_SRC[0..63],load:0xfe8001234567890a->NXM_NX_IPV6_SRC[64..127]
132
OFPT_FLOW_MOD: ADD ip actions=load:0xa04034d->NXM_OF_IP_SRC[]
30
133
OFPT_FLOW_MOD: ADD in_port=0 actions=resubmit:0
134
OFPT_FLOW_MOD: ADD actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)