3 AT_SETUP([dpctl - add-dp del-dp])
5 AT_CHECK([ovs-appctl dpctl/add-dp dummy@br0])
6 AT_CHECK([ovs-appctl dpctl/add-dp dummy@br0], [2], [],
7 [ovs-vswitchd: add_dp (File exists)
8 ovs-appctl: ovs-vswitchd: server returned an error
10 AT_CHECK([ovs-appctl dpctl/del-dp dummy@br0])
11 AT_CHECK([ovs-appctl dpctl/del-dp dummy@br0], [2], [], [stderr])
12 AT_CHECK([sed 's/(.*)/(...)/' stderr], [0], [dnl
13 ovs-vswitchd: opening datapath (...)
14 ovs-appctl: ovs-vswitchd: server returned an error
19 AT_SETUP([dpctl - add-if set-if del-if])
20 OVS_VSWITCHD_START([], [], [=override])
21 AT_CHECK([ovs-appctl dpctl/add-dp dummy@br0])
22 AT_CHECK([ovs-appctl dpctl/show dummy@br0], [0], [dnl
24 lookups: hit:0 missed:0 lost:0
26 port 0: br0 (dummy-internal)
28 AT_CHECK([ovs-appctl dpctl/add-if dummy@br0 vif1.0,type=dummy,port_no=5])
29 AT_CHECK([ovs-appctl dpctl/show dummy@br0], [0], [dnl
31 lookups: hit:0 missed:0 lost:0
33 port 0: br0 (dummy-internal)
34 port 5: vif1.0 (dummy)
36 AT_CHECK([ovs-appctl dpctl/add-if dummy@br0 vif1.0,type=dummy], [2], [],
38 AT_CHECK([sed 's/(.*)/(...)/' stderr], [0],
39 [ovs-vswitchd: adding vif1.0 to dummy@br0 failed (...)
40 ovs-appctl: ovs-vswitchd: server returned an error
42 AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 vif1.0,port_no=5])
43 AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 vif1.0,type=system], [2], [],
44 [ovs-vswitchd: vif1.0: can't change type from dummy to system
45 ovs-appctl: ovs-vswitchd: server returned an error
47 AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 br0,type=dummy-internal], [0])
48 AT_CHECK([ovs-appctl dpctl/set-if dummy@br0 br0,type=internal], [2], [],
49 [ovs-vswitchd: br0: can't change type from dummy-internal to internal
50 ovs-appctl: ovs-vswitchd: server returned an error
52 AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 vif1.0])
53 AT_CHECK([ovs-appctl dpctl/show dummy@br0], [0], [dnl
55 lookups: hit:0 missed:0 lost:0
57 port 0: br0 (dummy-internal)
59 AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 vif1.0], [2], [],
60 [ovs-vswitchd: no port named vif1.0
61 ovs-appctl: ovs-vswitchd: server returned an error
63 AT_CHECK([ovs-appctl dpctl/show dummy@br0], [0], [dnl
65 lookups: hit:0 missed:0 lost:0
67 port 0: br0 (dummy-internal)
69 AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 nonexistent], [2], [],
70 [ovs-vswitchd: no port named nonexistent
71 ovs-appctl: ovs-vswitchd: server returned an error
73 AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 br0], [2], [], [stderr])
74 AT_CHECK([sed 's/(.*)/(...)/' stderr], [0],
75 [ovs-vswitchd: deleting port br0 from dummy@br0 failed (...)
76 ovs-appctl: ovs-vswitchd: server returned an error
78 AT_CHECK([ovs-appctl dpctl/del-dp dummy@br0])
79 AT_CHECK([ovs-appctl dpctl/del-if dummy@br0 br0], [2], [], [stderr])
80 AT_CHECK([sed 's/(.*)/(...)/' stderr], [0],
81 [ovs-vswitchd: opening datapath (...)
82 ovs-appctl: ovs-vswitchd: server returned an error
84 OVS_VSWITCHD_STOP(["/dummy@br0: port_del failed/d
85 /dummy@br0: failed to add vif1.0 as port/d
86 /Dropped 1 log messages in last/d"])
89 AT_SETUP([dpctl - add/mod/del-flows])
91 AT_CHECK([ovs-appctl dpctl/add-dp dummy@br0])
92 AT_DATA([flows.txt], [dnl
93 in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x1234) 2
95 AT_CHECK([ovs-appctl dpctl/add-flows dummy@br0 flows.txt], [0], [dnl
97 AT_CHECK([ovs-appctl dpctl/dump-flows dummy@br0 | sort], [0], [dnl
98 flow-dump from the main thread:
99 recirc_id(0),in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x1234), packets:0, bytes:0, used:never, actions:2
101 AT_DATA([flows.txt], [dnl
102 in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x1234) 3
104 AT_CHECK([ovs-appctl dpctl/mod-flows dummy@br0 flows.txt], [0], [dnl
106 AT_CHECK([ovs-appctl dpctl/dump-flows dummy@br0 | sort], [0], [dnl
107 flow-dump from the main thread:
108 recirc_id(0),in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x1234), packets:0, bytes:0, used:never, actions:3
110 AT_DATA([flows.txt], [dnl
111 in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x1234)
113 AT_CHECK([ovs-appctl dpctl/del-flows dummy@br0 flows.txt], [0], [dnl
115 AT_CHECK([ovs-appctl dpctl/dump-flows dummy@br0 | sort], [0], [dnl
117 AT_DATA([flows.txt], [dnl
118 add in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x1234) 2
119 add in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:03),eth_type(0x1234) 2
120 add in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:04),eth_type(0x1234) 2
121 modify in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x1234) 1
122 delete in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:03),eth_type(0x1234)
124 AT_CHECK([ovs-appctl dpctl/add-flows dummy@br0 flows.txt], [0], [dnl
126 AT_CHECK([ovs-appctl dpctl/dump-flows dummy@br0 | sort], [0], [dnl
127 flow-dump from the main thread:
128 recirc_id(0),in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x1234), packets:0, bytes:0, used:never, actions:1
129 recirc_id(0),in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:04),eth_type(0x1234), packets:0, bytes:0, used:never, actions:2
131 AT_CHECK([ovs-appctl dpctl/del-flows dummy@br0], [0], [dnl
133 AT_CHECK([ovs-appctl dpctl/dump-flows dummy@br0 | sort], [0], [dnl
135 AT_CHECK([ovs-appctl dpctl/del-dp dummy@br0])