]> git.proxmox.com Git - ovs.git/blob - tests/ofp-print.at
tests: Fix sparse error on test-ovn.c
[ovs.git] / tests / ofp-print.at
1 AT_BANNER([ofp-print])
2
3 AT_SETUP([empty])
4 AT_KEYWORDS([ofp-print])
5 AT_CHECK([ovs-ofctl ofp-print ''], [0], [OpenFlow message is empty
6 ])
7 AT_CLEANUP
8
9 AT_SETUP([too short])
10 AT_KEYWORDS([ofp-print])
11 AT_CHECK([ovs-ofctl ofp-print aabb], [0], [dnl
12 OpenFlow packet too short (only 2 bytes):
13 00000000 aa bb |.. |
14 ])
15 AT_CLEANUP
16
17 AT_SETUP([wrong OpenFlow version])
18 AT_KEYWORDS([ofp-print])
19 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print 00bb0008eeff0011],
20 [0], [dnl
21 ***decode error: OFPBRC_BAD_TYPE***
22 00000000 00 bb 00 08 ee ff 00 11- |........ |
23 ], [ofp_msgs|WARN|unknown OpenFlow message (version 0, type 187)
24 ])
25 AT_CLEANUP
26
27 AT_SETUP([truncated message])
28 AT_KEYWORDS([ofp-print])
29 AT_CHECK([ovs-ofctl ofp-print 0110ccddeeff0011], [0], [dnl
30 (***truncated to 8 bytes from 52445***)
31 00000000 01 10 cc dd ee ff 00 11- |........ |
32 ])
33 AT_CLEANUP
34
35 AT_SETUP([message only uses part of buffer])
36 AT_KEYWORDS([ofp-print])
37 AT_CHECK([ovs-ofctl ofp-print 01100009eeff00112233], [0], [dnl
38 (***only uses 9 bytes out of 10***)
39 00000000 01 10 00 09 ee ff 00 11-22 33 |........"3 |
40 ])
41 # "
42 AT_CLEANUP
43
44 AT_SETUP([OFPT_HELLO - ordinary])
45 AT_KEYWORDS([ofp-print])
46 AT_CHECK([ovs-ofctl ofp-print 0100000800000000], [0], [dnl
47 OFPT_HELLO (xid=0x0):
48 version bitmap: 0x01
49 ])
50 AT_CLEANUP
51
52 AT_SETUP([OFPT_HELLO with extra data])
53 AT_KEYWORDS([ofp-print])
54 AT_CHECK([ovs-ofctl ofp-print 0100001300000000657874726120646174610a], [0],
55 [dnl
56 OFPT_HELLO (xid=0x0):
57 version bitmap: 0x01
58 unknown data in hello:
59 00000000 01 00 00 13 00 00 00 00-65 78 74 72 61 20 64 61 |........extra da|
60 00000010 74 61 0a |ta. |
61 ])
62 AT_CLEANUP
63
64 AT_SETUP([OFPT_HELLO with version bitmap])
65 AT_KEYWORDS([ofp-print])
66 AT_CHECK([ovs-ofctl ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 f0"], [0],
67 [dnl
68 OFPT_HELLO (xid=0x0):
69 version bitmap: 0x04, 0x05, 0x06, 0x07
70 ])
71 AT_CLEANUP
72
73 AT_SETUP([OFPT_HELLO with version bitmap and extra data])
74 AT_KEYWORDS([ofp-print])
75 AT_CHECK([ovs-ofctl ofp-print "\
76 01 00 00 1b 00 00 00 00 ff ff 00 06 01 02 00 00 \
77 00 01 00 08 00 00 00 f0 61 62 63"], [0],
78 [dnl
79 OFPT_HELLO (xid=0x0):
80 version bitmap: 0x04, 0x05, 0x06, 0x07
81 unknown data in hello:
82 00000000 01 00 00 1b 00 00 00 00-ff ff 00 06 01 02 00 00 |................|
83 00000010 00 01 00 08 00 00 00 f0-61 62 63 |........abc |
84 ])
85 AT_CLEANUP
86
87 AT_SETUP([OFPT_HELLO with higher than supported version])
88 AT_KEYWORDS([ofp-print])
89 AT_CHECK([ovs-ofctl ofp-print "0f 00 00 08 00 00 00 00"], [0],
90 [dnl
91 OFPT_HELLO (OF 0x0f) (xid=0x0):
92 version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
93 ])
94 AT_CHECK([ovs-ofctl ofp-print "40 00 00 08 00 00 00 00"], [0],
95 [dnl
96 OFPT_HELLO (OF 0x40) (xid=0x0):
97 version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
98 ])
99 AT_CHECK([ovs-ofctl ofp-print "3f 00 00 18 00 00 00 00 00 01 00 0c aa aa aa aa aa aa aa aa 00 00 00 00"], [0],
100 [dnl
101 OFPT_HELLO (OF 0x3f) (xid=0x0):
102 version bitmap: 0x01, 0x03, 0x05, 0x07, 0x09, 0x0b, 0x0d, 0x0f, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1b, 0x1d, 0x1f
103 ])
104 AT_CLEANUP
105
106 AT_SETUP([OFPT_HELLO with contradictory version bitmaps])
107 AT_KEYWORDS([ofp-print])
108 dnl Bitmap claims support for no versions at all.
109 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 00"], [0],
110 [OFPT_HELLO (xid=0x0):
111 version bitmap: 0x01
112 unknown data in hello:
113 00000000 01 00 00 10 00 00 00 00-00 01 00 08 00 00 00 00 |................|
114 ], [dnl
115 ofp_util|WARN|peer does not support any OpenFlow version (between 0x01 and 0x1f)
116 ])
117 dnl Bitmap claims support for only versions above 0x1f.
118 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "3f 00 00 18 00 00 00 00 00 01 00 0c 00 00 00 00 aa aa aa aa 00 00 00 00"], [0],
119 [OFPT_HELLO (OF 0x3f) (xid=0x0):
120 version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
121 unknown data in hello:
122 00000000 3f 00 00 18 00 00 00 00-00 01 00 0c 00 00 00 00 |?...............|
123 00000010 aa aa aa aa 00 00 00 00- |........ |
124 ], [dnl
125 ofp_util|WARN|peer does not support any OpenFlow version (between 0x01 and 0x1f)
126 ])
127 dnl Bitmap claims support for nonexistent version 0x00.
128 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 f1"], [0], [dnl
129 OFPT_HELLO (xid=0x0):
130 version bitmap: 0x04, 0x05, 0x06, 0x07
131 ], [dnl
132 ofp_util|WARN|peer claims to support invalid OpenFlow version 0x00
133 ])
134 dnl Bitmap claims support for only nonexistent version 0x00.
135 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 01"], [0], [dnl
136 OFPT_HELLO (xid=0x0):
137 version bitmap: 0x01
138 unknown data in hello:
139 00000000 01 00 00 10 00 00 00 00-00 01 00 08 00 00 00 01 |................|
140 ], [dnl
141 ofp_util|WARN|peer claims to support invalid OpenFlow version 0x00
142 ofp_util|WARN|peer does not support any OpenFlow version (between 0x01 and 0x1f)
143 ])
144 AT_CLEANUP
145
146 dnl OFPT_ERROR tests are in ofp-errors.at.
147
148 AT_SETUP([OFPT_ECHO_REQUEST, empty payload])
149 AT_KEYWORDS([ofp-print])
150 AT_CHECK([ovs-ofctl ofp-print '01 02 00 08 00 00 00 01'], [0], [dnl
151 OFPT_ECHO_REQUEST (xid=0x1): 0 bytes of payload
152 ])
153 AT_CLEANUP
154
155 AT_SETUP([OFPT_ECHO_REQUEST, 5-byte payload])
156 AT_KEYWORDS([ofp-print])
157 AT_CHECK([ovs-ofctl ofp-print '0102000d00000001 25 53 54 1a 9d'], [0], [dnl
158 OFPT_ECHO_REQUEST (xid=0x1): 5 bytes of payload
159 00000000 25 53 54 1a 9d |%ST.. |
160 ])
161 AT_CLEANUP
162
163 AT_SETUP([OFPT_ECHO_REPLY, empty payload])
164 AT_KEYWORDS([ofp-print])
165 AT_CHECK([ovs-ofctl ofp-print '01 03 00 08 00 00 00 01'], [0], [dnl
166 OFPT_ECHO_REPLY (xid=0x1): 0 bytes of payload
167 ])
168 AT_CLEANUP
169
170 AT_SETUP([OFPT_ECHO_REPLY, 5-byte payload])
171 AT_KEYWORDS([ofp-print])
172 AT_CHECK([ovs-ofctl ofp-print '0103000d0000000ba330efaf9e'], [0], [dnl
173 OFPT_ECHO_REPLY (xid=0xb): 5 bytes of payload
174 00000000 a3 30 ef af 9e |.0... |
175 ])
176 AT_CLEANUP
177
178 AT_SETUP([OFPT_FEATURES_REQUEST])
179 AT_KEYWORDS([ofp-print])
180 AT_CHECK([ovs-ofctl ofp-print '0105000800000001'], [0], [dnl
181 OFPT_FEATURES_REQUEST (xid=0x1):
182 ])
183 AT_CLEANUP
184
185 AT_SETUP([OFPT_FEATURES_REPLY - OF1.0])
186 AT_KEYWORDS([ofp-print])
187 AT_CHECK([ovs-ofctl ofp-print "\
188 01 06 00 e0 00 00 00 01 00 00 50 54 00 00 00 01 \
189 00 00 01 00 02 00 00 00 00 00 00 87 00 00 0f ff \
190 ff fe 50 54 00 00 00 01 62 72 30 00 00 00 00 00 \
191 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \
192 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
193 00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \
194 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
195 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
196 00 02 50 54 00 00 00 03 65 74 68 32 00 00 00 00 \
197 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
198 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
199 00 01 50 54 00 00 00 02 65 74 68 31 00 00 00 00 \
200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
201 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
202 "], [0], [dnl
203 OFPT_FEATURES_REPLY (xid=0x1): dpid:0000505400000001
204 n_tables:2, n_buffers:256
205 capabilities: FLOW_STATS TABLE_STATS PORT_STATS ARP_MATCH_IP
206 actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst
207 1(eth1): addr:50:54:00:00:00:02
208 config: 0
209 state: 0
210 current: 100MB-FD AUTO_NEG
211 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
212 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
213 speed: 100 Mbps now, 100 Mbps max
214 2(eth2): addr:50:54:00:00:00:03
215 config: 0
216 state: 0
217 current: 100MB-FD AUTO_NEG
218 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
219 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
220 speed: 100 Mbps now, 100 Mbps max
221 3(eth0): addr:50:54:00:00:00:01
222 config: 0
223 state: 0
224 current: 100MB-FD AUTO_NEG
225 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
226 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
227 speed: 100 Mbps now, 100 Mbps max
228 LOCAL(br0): addr:50:54:00:00:00:01
229 config: PORT_DOWN
230 state: LINK_DOWN
231 speed: 0 Mbps now, 0 Mbps max
232 ])
233 AT_CLEANUP
234
235 AT_SETUP([OFPT_FEATURES_REPLY cut off mid-port - OF1.0])
236 AT_KEYWORDS([ofp-print])
237 AT_CHECK([ovs-ofctl ofp-print "\
238 01 06 00 dc 00 00 00 01 00 00 50 54 00 00 00 01 \
239 00 00 01 00 02 00 00 00 00 00 00 87 00 00 0f ff \
240 ff fe 50 54 00 00 00 01 62 72 30 00 00 00 00 00 \
241 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \
242 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
243 00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \
244 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
245 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
246 00 02 50 54 00 00 00 03 65 74 68 32 00 00 00 00 \
247 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
248 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
249 00 01 50 54 00 00 00 02 65 74 68 31 00 00 00 00 \
250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
251 00 00 02 08 00 00 02 8f 00 00 02 8f \
252 "], [0], [dnl
253 ***decode error: OFPBRC_BAD_LEN***
254 00000000 01 06 00 dc 00 00 00 01-00 00 50 54 00 00 00 01 |..........PT....|
255 00000010 00 00 01 00 02 00 00 00-00 00 00 87 00 00 0f ff |................|
256 00000020 ff fe 50 54 00 00 00 01-62 72 30 00 00 00 00 00 |..PT....br0.....|
257 00000030 00 00 00 00 00 00 00 00-00 00 00 01 00 00 00 01 |................|
258 00000040 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
259 00000050 00 03 50 54 00 00 00 01-65 74 68 30 00 00 00 00 |..PT....eth0....|
260 00000060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
261 00000070 00 00 02 08 00 00 02 8f-00 00 02 8f 00 00 00 00 |................|
262 00000080 00 02 50 54 00 00 00 03-65 74 68 32 00 00 00 00 |..PT....eth2....|
263 00000090 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
264 000000a0 00 00 02 08 00 00 02 8f-00 00 02 8f 00 00 00 00 |................|
265 000000b0 00 01 50 54 00 00 00 02-65 74 68 31 00 00 00 00 |..PT....eth1....|
266 000000c0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
267 000000d0 00 00 02 08 00 00 02 8f-00 00 02 8f |............ |
268 ], [stderr])
269 AT_CHECK([sed 's/.*|//' stderr], [0], [dnl
270 received OFPT_FEATURES_REPLY with incorrect length 220 (must be exactly 32 bytes or longer by an integer multiple of 48 bytes)
271 ])
272 AT_CLEANUP
273
274 AT_SETUP([OFPT_FEATURES_REPLY - OF1.1])
275 AT_KEYWORDS([ofp-print])
276 AT_CHECK([ovs-ofctl ofp-print "\
277 02 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \
278 00 00 01 00 02 00 00 00 00 00 00 87 00 00 00 00 \
279 ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \
280 62 72 30 00 00 00 00 00 00 00 00 00 00 00 00 00 \
281 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
282 00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \
283 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
284 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
285 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
286 00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \
287 "], [0], [dnl
288 OFPT_FEATURES_REPLY (OF1.1) (xid=0x1): dpid:0000505400000001
289 n_tables:2, n_buffers:256
290 capabilities: FLOW_STATS TABLE_STATS PORT_STATS ARP_MATCH_IP
291 3(eth0): addr:50:54:00:00:00:01
292 config: 0
293 state: 0
294 current: 100MB-FD AUTO_NEG
295 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
296 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
297 speed: 100 Mbps now, 100 Mbps max
298 LOCAL(br0): addr:50:54:00:00:00:01
299 config: PORT_DOWN
300 state: LINK_DOWN
301 speed: 100 Mbps now, 100 Mbps max
302 ])
303 AT_CLEANUP
304
305 AT_SETUP([OFPT_FEATURES_REPLY cut off mid-port - OF1.1])
306 AT_KEYWORDS([ofp-print])
307 AT_CHECK([ovs-ofctl ofp-print "\
308 02 06 00 90 00 00 00 01 00 00 50 54 00 00 00 01 \
309 00 00 01 00 02 00 00 00 00 00 00 87 00 00 00 00 \
310 ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \
311 62 72 30 00 00 00 00 00 00 00 00 00 00 00 00 00 \
312 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
313 00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \
314 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
315 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
316 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
317 "], [0], [dnl
318 ***decode error: OFPBRC_BAD_LEN***
319 00000000 02 06 00 90 00 00 00 01-00 00 50 54 00 00 00 01 |..........PT....|
320 00000010 00 00 01 00 02 00 00 00-00 00 00 87 00 00 00 00 |................|
321 00000020 ff ff ff fe 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......|
322 00000030 62 72 30 00 00 00 00 00-00 00 00 00 00 00 00 00 |br0.............|
323 00000040 00 00 00 01 00 00 00 01-00 00 00 00 00 00 00 00 |................|
324 00000050 00 00 00 00 00 00 00 00-00 01 86 a0 00 01 86 a0 |................|
325 00000060 00 00 00 03 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......|
326 00000070 65 74 68 30 00 00 00 00-00 00 00 00 00 00 00 00 |eth0............|
327 00000080 00 00 00 00 00 00 00 00-00 00 20 08 00 00 28 0f |.......... ...@{:@.|
328 ], [stderr])
329 AT_CHECK([sed 's/.*|//' stderr], [0], [dnl
330 received OFPT_FEATURES_REPLY with incorrect length 144 (must be exactly 32 bytes or longer by an integer multiple of 64 bytes)
331 ])
332 AT_CLEANUP
333
334 AT_SETUP([OFPT_FEATURES_REPLY - OF1.2])
335 AT_KEYWORDS([ofp-print])
336 AT_CHECK([ovs-ofctl ofp-print "\
337 03 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \
338 00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \
339 ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \
340 62 72 30 0a 00 00 00 00 00 00 00 00 00 00 00 00 \
341 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
342 00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \
343 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
344 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
345 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
346 00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \
347 "], [0], [dnl
348 OFPT_FEATURES_REPLY (OF1.2) (xid=0x1): dpid:0000505400000001
349 n_tables:255, n_buffers:256
350 capabilities: FLOW_STATS TABLE_STATS PORT_STATS IP_REASM QUEUE_STATS PORT_BLOCKED
351 3(eth0): addr:50:54:00:00:00:01
352 config: 0
353 state: 0
354 current: 100MB-FD AUTO_NEG
355 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
356 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
357 speed: 100 Mbps now, 100 Mbps max
358 LOCAL(br0): addr:50:54:00:00:00:01
359 config: PORT_DOWN
360 state: LINK_DOWN
361 speed: 100 Mbps now, 100 Mbps max
362 ])
363 AT_CLEANUP
364
365 AT_SETUP([OFPT_FEATURES_REPLY cut off mid-port - OF1.2])
366 AT_KEYWORDS([ofp-print])
367 AT_CHECK([ovs-ofctl ofp-print "\
368 03 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \
369 00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \
370 ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \
371 62 72 30 0a 00 00 00 00 00 00 00 00 00 00 00 00 \
372 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
373 00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \
374 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
375 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
376 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
377 "], [0], [dnl
378 OFPT_FEATURES_REPLY (OF1.2) (xid=0x1):
379 (***truncated to 144 bytes from 160***)
380 00000000 03 06 00 a0 00 00 00 01-00 00 50 54 00 00 00 01 |..........PT....|
381 00000010 00 00 01 00 ff 00 00 00-00 00 01 77 00 00 00 00 |...........w....|
382 00000020 ff ff ff fe 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......|
383 00000030 62 72 30 0a 00 00 00 00-00 00 00 00 00 00 00 00 |br0.............|
384 00000040 00 00 00 01 00 00 00 01-00 00 00 00 00 00 00 00 |................|
385 00000050 00 00 00 00 00 00 00 00-00 01 86 a0 00 01 86 a0 |................|
386 00000060 00 00 00 03 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......|
387 00000070 65 74 68 30 00 00 00 00-00 00 00 00 00 00 00 00 |eth0............|
388 00000080 00 00 00 00 00 00 00 00-00 00 20 08 00 00 28 0f |.......... ...@{:@.|
389 ], [stderr])
390 AT_CHECK([sed 's/.*|//' stderr], [0], [dnl
391 ])
392 AT_CLEANUP
393
394 AT_SETUP([OFPT_FEATURES_REPLY - OF1.3])
395 AT_KEYWORDS([ofp-print])
396 AT_CHECK([ovs-ofctl ofp-print "\
397 04 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \
398 00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \
399 "], [0], [dnl
400 OFPT_FEATURES_REPLY (OF1.3) (xid=0x1): dpid:0000505400000001
401 n_tables:255, n_buffers:256
402 capabilities: FLOW_STATS TABLE_STATS PORT_STATS IP_REASM QUEUE_STATS PORT_BLOCKED
403 ])
404 AT_CLEANUP
405
406 AT_SETUP([OFPT_FEATURES_REPLY - OF1.4])
407 AT_KEYWORDS([ofp-print])
408 AT_CHECK([ovs-ofctl ofp-print "\
409 05 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \
410 00 00 01 00 ff 00 00 00 00 00 07 6f 00 00 00 00 \
411 "], [0], [dnl
412 OFPT_FEATURES_REPLY (OF1.4) (xid=0x1): dpid:0000505400000001
413 n_tables:255, n_buffers:256
414 capabilities: FLOW_STATS TABLE_STATS PORT_STATS GROUP_STATS IP_REASM QUEUE_STATS PORT_BLOCKED BUNDLES FLOW_MONITORING
415 ])
416 AT_CLEANUP
417
418 AT_SETUP([OFPT_FEATURES_REPLY - OF1.5])
419 AT_KEYWORDS([ofp-print])
420 AT_CHECK([ovs-ofctl ofp-print "\
421 06 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \
422 00 00 01 00 ff 00 00 00 00 00 07 6f 00 00 00 00 \
423 "], [0], [dnl
424 OFPT_FEATURES_REPLY (OF1.5) (xid=0x1): dpid:0000505400000001
425 n_tables:255, n_buffers:256
426 capabilities: FLOW_STATS TABLE_STATS PORT_STATS GROUP_STATS IP_REASM QUEUE_STATS PORT_BLOCKED BUNDLES FLOW_MONITORING
427 ])
428 AT_CLEANUP
429
430 AT_SETUP([OFPT_FEATURES_REPLY - with auxiliary_id - OF1.3])
431 AT_KEYWORDS([ofp-print])
432 AT_CHECK([ovs-ofctl ofp-print "\
433 04 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \
434 00 00 01 00 ff 01 00 00 00 00 01 77 00 00 00 00 \
435 "], [0], [dnl
436 OFPT_FEATURES_REPLY (OF1.3) (xid=0x1): dpid:0000505400000001
437 n_tables:255, n_buffers:256, auxiliary_id:1
438 capabilities: FLOW_STATS TABLE_STATS PORT_STATS IP_REASM QUEUE_STATS PORT_BLOCKED
439 ])
440 AT_CLEANUP
441
442 AT_SETUP([OFPT_GET_CONFIG_REQUEST])
443 AT_KEYWORDS([ofp-print])
444 AT_CHECK([ovs-ofctl ofp-print '0107000800000001'], [0], [dnl
445 OFPT_GET_CONFIG_REQUEST (xid=0x1):
446 ])
447 AT_CLEANUP
448
449 AT_SETUP([OFPT_GET_CONFIG_REPLY, most common form])
450 AT_KEYWORDS([ofp-print])
451 AT_CHECK([ovs-ofctl ofp-print '01 08 00 0c 00 00 00 03 00 00 00 00'], [0], [dnl
452 OFPT_GET_CONFIG_REPLY (xid=0x3): frags=normal miss_send_len=0
453 ])
454 AT_CLEANUP
455
456
457 AT_SETUP([OFPT_GET_CONFIG_REPLY, frags and miss_send_len])
458 AT_KEYWORDS([ofp-print])
459 AT_CHECK([ovs-ofctl ofp-print '01 08 00 0c 00 00 00 03 00 02 00 ff'], [0], [dnl
460 OFPT_GET_CONFIG_REPLY (xid=0x3): frags=reassemble miss_send_len=255
461 ])
462 AT_CLEANUP
463
464 AT_SETUP([OFPT_PACKET_IN - OF1.0])
465 AT_KEYWORDS([ofp-print])
466 AT_CHECK([ovs-ofctl ofp-print "\
467 01 0a 00 4e 00 00 00 00 00 00 01 11 00 3c 00 03 \
468 00 00 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \
469 45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \
470 c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \
471 50 02 02 00 26 e8 00 00 00 00 00 00 00 00 \
472 "], [0], [dnl
473 OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111
474 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=10031,tp_dst=0,tcp_flags=syn tcp_csum:26e8
475 ])
476 AT_CLEANUP
477
478 AT_SETUP([OFPT_PACKET_IN - OF1.0, with hex output of packet data])
479 AT_KEYWORDS([ofp-print])
480 AT_CHECK([ovs-ofctl ofp-print "\
481 01 0a 00 4e 00 00 00 00 00 00 01 11 00 3c 00 03 \
482 00 00 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \
483 45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \
484 c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \
485 50 10 02 00 26 e8 00 00 00 00 00 00 00 00 \
486 " 3], [0], [dnl
487 OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111
488 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=10031,tp_dst=0,tcp_flags=ack tcp_csum:26e8
489 00000000 50 54 00 00 00 06 50 54-00 00 00 05 08 00 45 00
490 00000010 00 28 bd 12 00 00 40 06-3c 6a c0 a8 00 01 c0 a8
491 00000020 00 02 27 2f 00 00 78 50-cc 5b 57 af 42 1e 50 10
492 00000030 02 00 26 e8 00 00 00 00-00 00 00 00
493 ])
494 AT_CLEANUP
495
496 AT_SETUP([OFPT_PACKET_IN - OF1.1])
497 AT_KEYWORDS([ofp-print])
498 AT_CHECK([ovs-ofctl ofp-print "\
499 02 0a 00 54 00 00 00 00 00 00 01 11 00 00 00 03 \
500 00 00 00 03 00 3c 00 00 \
501 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \
502 45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \
503 c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \
504 50 02 02 00 26 e8 00 00 00 00 00 00 00 00 \
505 "], [0], [dnl
506 OFPT_PACKET_IN (OF1.1) (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111
507 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=10031,tp_dst=0,tcp_flags=syn tcp_csum:26e8
508 ])
509 AT_CLEANUP
510
511 AT_SETUP([OFPT_PACKET_IN - OF1.2])
512 AT_KEYWORDS([ofp-print])
513 AT_CHECK([ovs-ofctl ofp-print "\
514 03 0a 00 4c 00 00 00 00 ff ff ff 00 00 2a 00 00 \
515 00 01 00 0c 80 00 00 04 ff ff ff fe 00 00 00 00 \
516 00 00 ff ff ff ff ff ff 00 23 20 83 c1 5f 80 35 \
517 00 01 08 00 06 04 00 01 00 23 20 83 c1 5f 00 00 \
518 00 00 00 23 20 83 c1 5f 00 00 00 00 \
519 "], [0], [dnl
520 OFPT_PACKET_IN (OF1.2) (xid=0x0): total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
521 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=1,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f
522 ])
523 AT_CLEANUP
524
525 AT_SETUP([OFPT_PACKET_IN - OF1.2, with hex output of packet data])
526 AT_KEYWORDS([ofp-print])
527 AT_CHECK([ovs-ofctl ofp-print "\
528 03 0a 00 4c 00 00 00 00 ff ff ff 00 00 2a 00 00 \
529 00 01 00 0c 80 00 00 04 ff ff ff fe 00 00 00 00 \
530 00 00 ff ff ff ff ff ff 00 23 20 83 c1 5f 80 35 \
531 00 01 08 00 06 04 00 03 00 23 20 83 c1 5f 00 00 \
532 00 00 00 23 20 83 c1 5f 00 00 00 00 \
533 " 3], [0], [dnl
534 OFPT_PACKET_IN (OF1.2) (xid=0x0): total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
535 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f
536 00000000 ff ff ff ff ff ff 00 23-20 83 c1 5f 80 35 00 01
537 00000010 08 00 06 04 00 03 00 23-20 83 c1 5f 00 00 00 00
538 00000020 00 23 20 83 c1 5f 00 00-00 00
539 ])
540 AT_CLEANUP
541
542 AT_SETUP([OFPT_PACKET_IN - OF1.3])
543 AT_KEYWORDS([ofp-print])
544 AT_CHECK([ovs-ofctl ofp-print "\
545 04 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \
546 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \
547 ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \
548 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \
549 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \
550 00 00 00 00 \
551 "], [0], [dnl
552 OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
553 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f
554 ])
555 AT_CLEANUP
556
557 AT_SETUP([OFPT_PACKET_IN - OF1.4])
558 AT_KEYWORDS([ofp-print])
559 AT_CHECK([ovs-ofctl ofp-print "\
560 05 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \
561 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \
562 ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \
563 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \
564 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \
565 00 00 00 00 \
566 "], [0], [dnl
567 OFPT_PACKET_IN (OF1.4) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
568 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f
569 ])
570 AT_CLEANUP
571
572 AT_SETUP([OFPT_PACKET_IN - OF1.5])
573 AT_KEYWORDS([ofp-print])
574 AT_CHECK([ovs-ofctl ofp-print "\
575 06 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \
576 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \
577 ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \
578 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \
579 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \
580 00 00 00 00 \
581 "], [0], [dnl
582 OFPT_PACKET_IN (OF1.5) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
583 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f
584 ])
585 AT_CLEANUP
586
587 AT_SETUP([OFPT_PACKET_IN - OF1.3, with hex output of packet data])
588 AT_KEYWORDS([ofp-print])
589 AT_CHECK([ovs-ofctl ofp-print "\
590 04 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \
591 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \
592 ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \
593 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \
594 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \
595 00 00 00 00 \
596 " 3], [0], [dnl
597 OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
598 rarp,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f
599 00000000 ff ff ff ff ff ff 00 23-20 83 c1 5f 80 35 00 01
600 00000010 08 00 06 04 00 03 00 23-20 83 c1 5f 00 00 00 00
601 00000020 00 23 20 83 c1 5f 00 00-00 00
602 ])
603 AT_CLEANUP
604
605 AT_SETUP([OFPT_FLOW_REMOVED - OF1.0])
606 AT_KEYWORDS([ofp-print])
607 AT_CHECK([ovs-ofctl ofp-print "\
608 01 0b 00 58 00 00 00 00 00 00 00 00 00 03 50 54 \
609 00 00 00 05 50 54 00 00 00 06 ff ff 00 00 08 06 \
610 00 02 00 00 c0 a8 00 01 c0 a8 00 02 00 00 00 00 \
611 00 00 00 00 00 00 00 00 ff ff 00 00 00 00 00 05 \
612 30 e0 35 00 00 05 00 00 00 00 00 00 00 00 00 01 \
613 00 00 00 00 00 00 00 3c \
614 "], [0], [dnl
615 OFPT_FLOW_REMOVED (xid=0x0): priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,arp_spa=192.168.0.1,arp_tpa=192.168.0.2,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 reason=idle duration5.820s idle5 pkts1 bytes60
616 ])
617 AT_CLEANUP
618
619 AT_SETUP([OFPT_FLOW_REMOVED - OF1.2])
620 AT_KEYWORDS([ofp-print])
621 AT_CHECK([ovs-ofctl ofp-print "\
622 03 0b 00 40 00 00 00 00 fe dc ba 98 76 54 32 10 \
623 80 00 01 05 00 00 00 01 00 98 96 80 00 3c 00 78 \
624 00 00 00 00 00 12 d6 87 00 00 00 00 6f 68 ba 66 \
625 00 01 00 0a 80 00 0c 02 10 09 00 00 00 00 00 00"], [0], [dnl
626 OFPT_FLOW_REMOVED (OF1.2) (xid=0x0): dl_vlan=9 reason=hard table_id=5 cookie:0xfedcba9876543210 duration1.010s idle60 hard120 pkts1234567 bytes1869134438
627 ])
628 AT_CLEANUP
629
630 AT_SETUP([OFPT_FLOW_REMOVED - OF1.3])
631 AT_KEYWORDS([ofp-print])
632 AT_CHECK([ovs-ofctl ofp-print "\
633 04 0b 00 40 00 00 00 00 fe dc ba 98 76 54 32 10 \
634 80 00 01 05 00 00 00 01 00 98 96 80 00 3c 00 78 \
635 00 00 00 00 00 12 d6 87 00 00 00 00 6f 68 ba 66 \
636 00 01 00 0a 80 00 0c 02 10 09 00 00 00 00 00 00"], [0], [dnl
637 OFPT_FLOW_REMOVED (OF1.3) (xid=0x0): dl_vlan=9 reason=hard table_id=5 cookie:0xfedcba9876543210 duration1.010s idle60 hard120 pkts1234567 bytes1869134438
638 ])
639 AT_CLEANUP
640
641 AT_SETUP([OFPT_PORT_STATUS - OF1.0])
642 AT_KEYWORDS([ofp-print])
643 AT_CHECK([ovs-ofctl ofp-print "\
644 01 0c 00 40 00 00 00 00 02 00 00 00 00 00 00 00 \
645 00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \
646 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \
647 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
648 "], [0], [dnl
649 OFPT_PORT_STATUS (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
650 config: PORT_DOWN
651 state: LINK_DOWN
652 current: 100MB-FD AUTO_NEG
653 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
654 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
655 speed: 100 Mbps now, 100 Mbps max
656 ])
657 AT_CLEANUP
658
659 AT_SETUP([OFPT_PORT_STATUS - OF1.1])
660 AT_KEYWORDS([ofp-print])
661 AT_CHECK([ovs-ofctl ofp-print "\
662 02 0c 00 50 00 00 00 00 02 00 00 00 00 00 00 00 \
663 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
664 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
665 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
666 00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \
667 "], [0], [dnl
668 OFPT_PORT_STATUS (OF1.1) (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
669 config: 0
670 state: 0
671 current: 100MB-FD AUTO_NEG
672 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
673 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
674 speed: 100 Mbps now, 100 Mbps max
675 ])
676 AT_CLEANUP
677
678 AT_SETUP([OFPT_PORT_STATUS - OF1.4])
679 AT_KEYWORDS([ofp-print])
680 AT_CHECK([ovs-ofctl ofp-print "\
681 05 0c 00 58 00 00 00 00 02 00 00 00 00 00 00 00 \
682 00 00 00 03 00 48 00 00 50 54 00 00 00 01 00 00 \
683 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
684 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 \
685 00 00 20 08 00 00 28 0f 00 00 28 0f 00 00 00 00 \
686 00 01 86 a0 00 01 86 a0 \
687 "], [0], [dnl
688 OFPT_PORT_STATUS (OF1.4) (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
689 config: 0
690 state: 0
691 current: 100MB-FD AUTO_NEG
692 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
693 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
694 speed: 100 Mbps now, 100 Mbps max
695 ])
696 AT_CLEANUP
697
698 AT_SETUP([OFPT_PORT_STATUS - OF1.6])
699 AT_KEYWORDS([ofp-print])
700 AT_CHECK([ovs-ofctl ofp-print "\
701 07 0c 00 90 00 00 00 00 02 00 00 00 00 00 00 00 \
702 \
703 00 00 00 03 00 80 00 03 50 54 00 00 00 01 00 00 \
704 50 54 00 ff fe 00 00 01 \
705 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
706 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
707 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
708 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
709 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 \
710 00 00 20 08 00 00 28 0f 00 00 28 0f 00 00 00 00 \
711 00 01 86 a0 00 01 86 a0 \
712 "], [0], [dnl
713 OFPT_PORT_STATUS (OF1.6) (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
714 addr64: 50:54:00:ff:fe:00:00:01
715 config: 0
716 state: 0
717 current: 100MB-FD AUTO_NEG
718 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
719 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
720 speed: 100 Mbps now, 100 Mbps max
721 ])
722 AT_CLEANUP
723
724 AT_SETUP([OFPT_PACKET_OUT - OF1.0])
725 AT_KEYWORDS([ofp-print])
726 AT_CHECK([ovs-ofctl ofp-print "\
727 01 0d 00 54 00 00 00 00 00 00 01 14 00 01 00 08 \
728 00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \
729 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
730 b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
731 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
732 00 00 00 00 \
733 "], [0], [dnl
734 OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 buffer=0x00000114
735 ])
736 AT_CLEANUP
737
738 AT_SETUP([OFPT_PACKET_OUT - OF1.0, with packet])
739 AT_KEYWORDS([ofp-print])
740 AT_CHECK([ovs-ofctl ofp-print "\
741 01 0d 00 54 00 00 00 00 ff ff ff ff 00 01 00 08 \
742 00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \
743 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
744 b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
745 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
746 00 00 00 00 \
747 "], [0], [dnl
748 OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 data_len=60
749 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=0,tp_dst=11104,tcp_flags=rst|ack tcp_csum:6d75
750 ])
751 AT_CLEANUP
752
753 AT_SETUP([OFPT_PACKET_OUT - OF1.0, with hex output of packet data])
754 AT_KEYWORDS([ofp-print])
755 AT_CHECK([ovs-ofctl ofp-print "\
756 01 0d 00 54 00 00 00 00 ff ff ff ff 00 01 00 08 \
757 00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \
758 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
759 b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
760 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
761 00 00 00 00 \
762 " 3], [0], [dnl
763 OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 data_len=60
764 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=0,tp_dst=11104,tcp_flags=rst|ack tcp_csum:6d75
765 00000000 50 54 00 00 00 05 50 54-00 00 00 06 08 00 45 00
766 00000010 00 28 00 00 40 00 40 06-b9 7c c0 a8 00 02 c0 a8
767 00000020 00 01 00 00 2b 60 00 00-00 00 6a 4f 2b 58 50 14
768 00000030 00 00 6d 75 00 00 00 00-00 00 00 00
769 ])
770 AT_CLEANUP
771
772 AT_SETUP([OFPT_PACKET_OUT - OF1.1])
773 AT_KEYWORDS([ofp-print])
774 AT_CHECK([ovs-ofctl ofp-print "\
775 03 0d 00 28 88 58 df c5 ff ff ff 00 ff ff ff fe \
776 00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \
777 05 dc 00 00 00 00 00 00 \
778 "], [0], [dnl
779 OFPT_PACKET_OUT (OF1.2) (xid=0x8858dfc5): in_port=LOCAL actions=FLOOD buffer=0xffffff00
780 ])
781 AT_CLEANUP
782
783 AT_SETUP([OFPT_PACKET_OUT - OF1.1, with packet])
784 AT_KEYWORDS([ofp-print])
785 AT_CHECK([ovs-ofctl ofp-print "\
786 03 0d 00 64 88 58 df c5 ff ff ff ff ff ff ff fe \
787 00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \
788 05 dc 00 00 00 00 00 00 50 54 00 00 00 05 50 54 \
789 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
790 b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
791 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
792 00 00 00 00 \
793 "], [0], [dnl
794 OFPT_PACKET_OUT (OF1.2) (xid=0x8858dfc5): in_port=LOCAL actions=FLOOD data_len=60
795 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=0,tp_dst=11104,tcp_flags=rst|ack tcp_csum:6d75
796 ])
797 AT_CLEANUP
798
799 AT_SETUP([OFPT_PACKET_OUT - OF1.5])
800 AT_KEYWORDS([ofp-print packet-out])
801 AT_CHECK([ovs-ofctl ofp-print "\
802 06 0d 00 30 11 22 33 44 ff ff ff 00 00 10 00 00 \
803 00 01 00 10 80 00 00 04 00 00 00 01 00 00 00 00 \
804 00 00 00 10 ff ff ff fb 05 dc 00 00 00 00 00 00 \
805 "], [0], [dnl
806 OFPT_PACKET_OUT (OF1.5) (xid=0x11223344): in_port=1 actions=FLOOD buffer=0xffffff00
807 ])
808
809 dnl missing in_port
810 AT_CHECK([ovs-ofctl ofp-print "\
811 06 0d 00 40 11 22 33 44 ff ff ff 00 00 10 00 00 \
812 00 01 00 20 80 00 04 08 00 00 00 00 00 00 00 03 \
813 80 00 4C 08 00 00 00 00 00 00 00 05 00 00 00 00 \
814 00 00 00 10 ff ff ff fb 05 dc 00 00 00 00 00 00 \
815 "], [0], [dnl
816 OFPT_PACKET_OUT (OF1.5) (xid=0x11223344): ***decode error: OFPBRC_BAD_PORT***
817 ])
818
819 AT_CHECK([ovs-ofctl ofp-print "\
820 06 0d 00 48 11 22 33 44 ff ff ff 00 00 10 00 00 \
821 00 01 00 28 80 00 00 04 00 00 00 01 80 00 04 08 \
822 00 00 00 00 00 00 00 03 80 00 4C 08 00 00 00 00 \
823 00 00 00 05 00 00 00 00 00 00 00 10 ff ff ff fb \
824 05 dc 00 00 00 00 00 00 \
825 "], [0], [dnl
826 OFPT_PACKET_OUT (OF1.5) (xid=0x11223344): tun_id=0x5,metadata=0x3,in_port=1 actions=FLOOD buffer=0xffffff00
827 ])
828
829 dnl include non pipeline field
830 AT_CHECK([ovs-ofctl ofp-print "\
831 06 0d 00 38 11 22 33 44 ff ff ff 00 00 10 00 00 \
832 00 01 00 18 80 00 00 04 00 00 00 01 80 00 16 04 \
833 11 22 33 44 00 00 00 00 00 00 00 10 ff ff ff fb \
834 05 dc 00 00 00 00 00 00 \
835 "], [0], [dnl
836 OFPT_PACKET_OUT (OF1.5) (xid=0x11223344): ***decode error: OFPBRC_PIPELINE_FIELDS_ONLY***
837 ])
838
839 AT_CLEANUP
840
841 AT_SETUP([OFPT_PACKET_OUT - OF1.5, with packet])
842 AT_KEYWORDS([ofp-print packet-out])
843 AT_CHECK([ovs-ofctl ofp-print "\
844 06 0d 00 74 11 22 33 44 ff ff ff ff 00 10 00 00 \
845 00 01 00 18 80 00 00 04 00 00 00 01 80 00 04 08 \
846 00 00 00 00 00 00 00 03 00 00 00 10 ff ff ff fb \
847 05 dc 00 00 00 00 00 00 50 54 00 00 00 05 50 54 \
848 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
849 b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
850 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
851 00 00 00 00
852 "], [0], [dnl
853 OFPT_PACKET_OUT (OF1.5) (xid=0x11223344): metadata=0x3,in_port=1 actions=FLOOD data_len=60
854 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=0,tp_dst=11104,tcp_flags=rst|ack tcp_csum:6d75
855 ])
856 AT_CLEANUP
857
858 # The flow is formatted with cls_rule_format() for the low-verbosity case.
859 AT_SETUP([OFPT_FLOW_MOD - OF1.0 - low verbosity])
860 AT_KEYWORDS([ofp-print])
861 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
862 01 0e 00 50 00 00 00 00 00 00 00 00 00 01 50 54 \
863 00 00 00 06 50 54 00 00 00 05 ff ff 00 00 08 06 \
864 00 02 00 00 c0 a8 00 02 c0 a8 00 01 00 00 00 00 \
865 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 \
866 00 00 01 0e 00 00 00 00 00 00 00 08 00 03 00 00 \
867 " 2], [0], [dnl
868 OFPT_FLOW_MOD (xid=0x0): ADD priority=65535,arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 idle:5 buf:0x10e out_port:0 actions=output:3
869 ], [dnl
870 ofp_util|INFO|normalization changed ofp_match, details:
871 ofp_util|INFO| pre: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0
872 ofp_util|INFO|post: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2
873 ])
874 AT_CLEANUP
875
876 # The flow is formatted with cls_rule_format() for the low-verbosity case.
877 AT_SETUP([OFPT_FLOW_MOD - OF1.1 - low verbosity])
878 AT_KEYWORDS([ofp-print])
879 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
880 020e 0090 01020304 \
881 da1aa3e035d87158 ffffffffffffffff \
882 02 01 003c 0078 9c40 ffffffff ffffffff ffffffff 0003 \
883 0000 \
884 \
885 0000 0058 00000000 000003f7 \
886 000000000000ffffffffffff 000000000000ffffffffffff \
887 0000 00 00 0806 00 00 c0a88000000000ff 00000000ffffffff 0000 0000 \
888 00000000 00 000000 0000000000000000ffffffffffffffff \
889 \
890 0001 0008 03 000000 \
891 " 2], [0], [dnl
892 OFPT_FLOW_MOD (OF1.1) (xid=0x1020304): MOD table:2 priority=40000,arp,arp_spa=192.168.128.0/24 cookie:0xda1aa3e035d87158/0xffffffffffffffff idle:60 hard:120 send_flow_rem check_overlap actions=goto_table:3
893 ])
894 AT_CLEANUP
895
896 # The flow is formatted with cls_rule_format() for the low-verbosity case.
897 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - low verbosity])
898 AT_KEYWORDS([ofp-print])
899 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
900 03 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \
901 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \
902 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
903 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \
904 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \
905 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \
906 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \
907 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
908 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
909 " 2], [0], [dnl
910 OFPT_FLOW_MOD (OF1.2) (xid=0x2): ADD table:1 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 actions=output:3
911 ], [dnl
912 ])
913 AT_CLEANUP
914
915 # The flow is formatted with ofp10_match_to_string() for the
916 # high-verbosity case.
917 AT_SETUP([OFPT_FLOW_MOD - OF1.0 - high verbosity])
918 AT_KEYWORDS([ofp-print])
919 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
920 01 0e 00 50 00 00 00 00 00 00 00 00 00 01 50 54 \
921 00 00 00 06 50 54 00 00 00 05 ff ff 00 00 08 06 \
922 00 02 00 00 c0 a8 00 02 c0 a8 00 01 00 00 00 00 \
923 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 \
924 00 00 01 0e 00 00 00 00 00 00 00 08 00 03 00 00 \
925 " 3], [0], [dnl
926 OFPT_FLOW_MOD (xid=0x0): ADD arp,in_port=1,dl_vlan=65535,dl_vlan_pcp=0,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 idle:5 pri:65535 buf:0x10e out_port:0 actions=output:3
927 ], [dnl
928 ofp_util|INFO|normalization changed ofp_match, details:
929 ofp_util|INFO| pre: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0
930 ofp_util|INFO|post: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2
931 ])
932 AT_CLEANUP
933
934 # The flow is formatted with cls_rule_format() for the low-verbosity case.
935 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - low verbosity])
936 AT_KEYWORDS([ofp-print])
937 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
938 03 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \
939 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \
940 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
941 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \
942 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \
943 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \
944 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \
945 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
946 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
947 " 2], [0], [dnl
948 OFPT_FLOW_MOD (OF1.2) (xid=0x2): ADD table:1 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 actions=output:3
949 ], [dnl
950 ])
951 AT_CLEANUP
952
953 # The flow is formatted with cls_rule_format() for the low-verbosity case.
954 AT_SETUP([OFPT_FLOW_MOD - OF1.3 - flags - low verbosity])
955 AT_KEYWORDS([ofp-print])
956 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
957 04 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \
958 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \
959 ff ff ff ff ff ff ff ff ff ff ff ff 00 1f 00 00 \
960 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \
961 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \
962 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \
963 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \
964 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
965 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
966 " 2], [0], [dnl
967 OFPT_FLOW_MOD (OF1.3) (xid=0x2): ADD table:1 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 send_flow_rem check_overlap reset_counts no_packet_counts no_byte_counts actions=output:3
968 ], [dnl
969 ])
970 AT_CLEANUP
971
972 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field ip_src])
973 AT_KEYWORDS([ofp-print])
974 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
975 03 0e 00 58 52 33 45 02 00 00 00 00 00 00 00 00 \
976 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
977 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
978 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
979 00 04 00 18 00 00 00 00 00 19 00 10 80 00 16 04 \
980 c0 a8 03 5c 00 00 00 00 \
981 " 2], [0], [dnl
982 OFPT_FLOW_MOD (OF1.2) (xid=0x52334502): ADD priority=255,ip actions=set_field:192.168.3.92->ip_src
983 ], [dnl
984 ])
985 AT_CLEANUP
986
987 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field ip_dst])
988 AT_KEYWORDS([ofp-print])
989 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
990 03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \
991 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
992 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
993 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
994 00 04 00 18 00 00 00 00 00 19 00 10 80 00 18 04 \
995 c0 a8 4a 7a 00 00 00 00 \
996 " 2], [0], [dnl
997 OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,ip actions=set_field:192.168.74.122->ip_dst
998 ], [dnl
999 ])
1000 AT_CLEANUP
1001
1002 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field sctp_src])
1003 AT_KEYWORDS([ofp-print])
1004 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
1005 03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \
1006 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
1007 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
1008 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
1009 00 04 00 18 00 00 00 00 00 19 00 10 80 00 22 02 \
1010 0d 06 00 00 00 00 00 00 \
1011 " 2], [0], [dnl
1012 OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,sctp actions=set_field:3334->sctp_src
1013 ], [dnl
1014 ])
1015 AT_CLEANUP
1016
1017 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field sctp_dst])
1018 AT_KEYWORDS([ofp-print])
1019 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
1020 03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \
1021 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
1022 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
1023 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
1024 00 04 00 18 00 00 00 00 00 19 00 10 80 00 24 02 \
1025 11 5d 00 00 00 00 00 00 \
1026 " 2], [0], [dnl
1027 OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,sctp actions=set_field:4445->sctp_dst
1028 ], [dnl
1029 ])
1030 AT_CLEANUP
1031
1032 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - experimenter OXM])
1033 AT_KEYWORDS([ofp-print])
1034 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
1035 03 0e 00 48 52 33 45 07 00 00 00 00 00 00 00 00 \
1036 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
1037 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
1038 00 01 00 14 ff ff 01 0c 00 00 23 20 01 23 45 67 \
1039 0f ff ff ff 00 00 00 00
1040 " 2], [0], [dnl
1041 OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,dp_hash=0x1234567/0xfffffff actions=drop
1042 ], [dnl
1043 ])
1044 AT_CLEANUP
1045
1046 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field nd_target, nd_sll])
1047 AT_KEYWORDS([ofp-print])
1048 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
1049 03 0e 00 78 00 00 00 02 00 00 00 00 00 00 00 00 \
1050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
1051 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
1052 00 01 00 14 80 00 0a 02 86 dd 80 00 14 01 3a 80 \
1053 00 3a 01 87 00 00 00 00 00 04 00 30 00 00 00 00 \
1054 00 19 00 18 80 00 3e 10 00 00 00 00 00 00 00 00 \
1055 00 00 00 00 00 00 00 01 00 19 00 10 80 00 40 06 \
1056 aa aa aa aa aa aa 00 00
1057 " 2], [0], [dnl
1058 OFPT_FLOW_MOD (OF1.2) (xid=0x2): ADD priority=255,icmp6,icmp_type=135 actions=set_field:::1->nd_target,set_field:aa:aa:aa:aa:aa:aa->nd_sll
1059 ], [dnl
1060 ])
1061 AT_CLEANUP
1062
1063 dnl This triggered a buggy "instructions out of order" message earlier.
1064 AT_SETUP([OFPT_FLOW_MOD - OF1.3 - meter])
1065 AT_KEYWORDS([ofp-print])
1066 AT_CHECK([ovs-ofctl ofp-print "\
1067 04 0e 00 40 cf fe 6b 86 00 00 00 00 00 00 00 00 \
1068 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 e8 \
1069 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
1070 00 01 00 04 00 00 00 00 00 06 00 08 00 00 00 01"], [0], [dnl
1071 OFPT_FLOW_MOD (OF1.3) (xid=0xcffe6b86): ADD priority=1000 actions=meter:1
1072 ])
1073 AT_CLEANUP
1074
1075 AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field ip_src])
1076 AT_KEYWORDS([ofp-print])
1077 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
1078 03 13 00 68 52 33 45 04 00 01 00 00 00 00 00 00 \
1079 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
1080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1081 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1082 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
1083 00 04 00 18 00 00 00 00 00 19 00 10 80 00 16 04 \
1084 c0 a8 03 5c 00 00 00 00 \
1085 " 2], [0], [dnl
1086 OFPST_FLOW reply (OF1.2) (xid=0x52334504):
1087 cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,ip actions=set_field:192.168.3.92->ip_src
1088 ], [dnl
1089 ])
1090 AT_CLEANUP
1091
1092 AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field ip_dst])
1093 AT_KEYWORDS([ofp-print])
1094 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
1095 03 13 00 68 52 33 45 09 00 01 00 00 00 00 00 00 \
1096 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
1097 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1098 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1099 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
1100 00 04 00 18 00 00 00 00 00 19 00 10 80 00 18 04 \
1101 c0 a8 4a 7a 00 00 00 00 \
1102 " 2], [0], [dnl
1103 OFPST_FLOW reply (OF1.2) (xid=0x52334509):
1104 cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,ip actions=set_field:192.168.74.122->ip_dst
1105 ], [dnl
1106 ])
1107 AT_CLEANUP
1108
1109 AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field sctp_src])
1110 AT_KEYWORDS([ofp-print])
1111 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
1112 03 13 00 68 52 33 45 04 00 01 00 00 00 00 00 00 \
1113 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
1114 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1115 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1116 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
1117 00 04 00 18 00 00 00 00 00 19 00 10 80 00 22 02 \
1118 0d 06 00 00 00 00 00 00 \
1119 " 2], [0], [dnl
1120 OFPST_FLOW reply (OF1.2) (xid=0x52334504):
1121 cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,sctp actions=set_field:3334->sctp_src
1122 ], [dnl
1123 ])
1124 AT_CLEANUP
1125
1126 AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field sctp_dst])
1127 AT_KEYWORDS([ofp-print])
1128 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
1129 03 13 00 68 52 33 45 09 00 01 00 00 00 00 00 00 \
1130 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
1131 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1132 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1133 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
1134 00 04 00 18 00 00 00 00 00 19 00 10 80 00 24 02 \
1135 11 5d 00 00 00 00 00 00 \
1136 " 2], [0], [dnl
1137 OFPST_FLOW reply (OF1.2) (xid=0x52334509):
1138 cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,sctp actions=set_field:4445->sctp_dst
1139 ], [dnl
1140 ])
1141 AT_CLEANUP
1142
1143 AT_SETUP([OFPT_PORT_MOD - OF1.0])
1144 AT_KEYWORDS([ofp-print])
1145 AT_CHECK([ovs-ofctl ofp-print "\
1146 01 0f 00 20 00 00 00 03 00 03 50 54 00 00 00 01 \
1147 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
1148 " 3], [0], [dnl
1149 OFPT_PORT_MOD (xid=0x3): port: 3: addr:50:54:00:00:00:01
1150 config: PORT_DOWN
1151 mask: PORT_DOWN
1152 advertise: UNCHANGED
1153 ])
1154 AT_CLEANUP
1155
1156 AT_SETUP([OFPT_PORT_MOD - OF1.1])
1157 AT_KEYWORDS([ofp-print])
1158 AT_CHECK([ovs-ofctl ofp-print "\
1159 02 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
1160 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
1161 00 00 00 00 00 00 00 00 \
1162 " 3], [0], [dnl
1163 OFPT_PORT_MOD (OF1.1) (xid=0x3): port: 3: addr:50:54:00:00:00:01
1164 config: PORT_DOWN
1165 mask: PORT_DOWN
1166 advertise: UNCHANGED
1167 ])
1168 AT_CLEANUP
1169
1170 AT_SETUP([OFPT_PORT_MOD - OF1.2])
1171 AT_KEYWORDS([ofp-print])
1172 AT_CHECK([ovs-ofctl ofp-print "\
1173 03 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
1174 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
1175 00 00 00 00 00 00 00 00 \
1176 " 3], [0], [dnl
1177 OFPT_PORT_MOD (OF1.2) (xid=0x3): port: 3: addr:50:54:00:00:00:01
1178 config: PORT_DOWN
1179 mask: PORT_DOWN
1180 advertise: UNCHANGED
1181 ])
1182 AT_CLEANUP
1183
1184 AT_SETUP([OFPT_PORT_MOD - OF1.3])
1185 AT_KEYWORDS([ofp-print])
1186 AT_CHECK([ovs-ofctl ofp-print "\
1187 04 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
1188 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
1189 00 00 00 00 00 00 00 00 \
1190 " 3], [0], [dnl
1191 OFPT_PORT_MOD (OF1.3) (xid=0x3): port: 3: addr:50:54:00:00:00:01
1192 config: PORT_DOWN
1193 mask: PORT_DOWN
1194 advertise: UNCHANGED
1195 ])
1196 AT_CLEANUP
1197
1198 AT_SETUP([OFPT_PORT_MOD - OF1.4])
1199 AT_KEYWORDS([ofp-print])
1200 AT_CHECK([ovs-ofctl ofp-print "\
1201 05 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
1202 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
1203 00 00 00 08 00 00 00 01
1204 " 3], [0], [dnl
1205 OFPT_PORT_MOD (OF1.4) (xid=0x3): port: 3: addr:50:54:00:00:00:01
1206 config: PORT_DOWN
1207 mask: PORT_DOWN
1208 advertise: 10MB-HD
1209 ])
1210 AT_CLEANUP
1211
1212 AT_SETUP([OFPT_PORT_MOD - OF1.6])
1213 AT_KEYWORDS([ofp-print])
1214 AT_CHECK([ovs-ofctl ofp-print "\
1215 07 10 00 30 00 00 00 03 00 00 00 03 00 03 00 00 \
1216 50 54 00 00 00 01 00 00 50 54 00 ff fe 00 00 01 \
1217 00 00 00 01 00 00 00 01 00 00 00 08 00 00 00 01
1218 " 3], [0], [dnl
1219 OFPT_PORT_MOD (OF1.6) (xid=0x3): port: 3: addr:50:54:00:00:00:01
1220 addr64: 50:54:00:ff:fe:00:00:01
1221 config: PORT_DOWN
1222 mask: PORT_DOWN
1223 advertise: 10MB-HD
1224 ])
1225 AT_CLEANUP
1226
1227 AT_SETUP([OFPT_TABLE_MOD - OF1.1])
1228 AT_KEYWORDS([ofp-print])
1229 AT_CHECK([ovs-ofctl ofp-print "\
1230 02 11 00 10 00 00 00 02 02 00 00 00 00 00 00 02 \
1231 " 3], [0], [dnl
1232 OFPT_TABLE_MOD (OF1.1) (xid=0x2): table_id=2, flow_miss_config=drop
1233 ])
1234 AT_CLEANUP
1235
1236 AT_SETUP([OFPT_TABLE_MOD - OF1.2])
1237 AT_KEYWORDS([ofp-print])
1238 AT_CHECK([ovs-ofctl ofp-print "\
1239 03 11 00 10 00 00 00 02 02 00 00 00 00 00 00 01 \
1240 " 3], [0], [dnl
1241 OFPT_TABLE_MOD (OF1.2) (xid=0x2): table_id=2, flow_miss_config=continue
1242 ])
1243 AT_CLEANUP
1244
1245 AT_SETUP([OFPT_TABLE_MOD - OF1.3])
1246 AT_KEYWORDS([ofp-print])
1247 AT_CHECK([ovs-ofctl ofp-print "\
1248 04 11 00 10 00 00 00 02 02 00 00 00 00 00 00 00 \
1249 " 3], [0], [dnl
1250 OFPT_TABLE_MOD (OF1.3) (xid=0x2): table_id=2
1251 ])
1252 AT_CLEANUP
1253
1254 AT_SETUP([OFPT_TABLE_MOD - OF1.4])
1255 AT_KEYWORDS([ofp-print])
1256 AT_CHECK([ovs-ofctl ofp-print "\
1257 05 11 00 10 00 00 00 02 02 00 00 00 00 00 00 00 \
1258 " 3], [0], [dnl
1259 OFPT_TABLE_MOD (OF1.4) (xid=0x2): table_id=2, eviction=off, vacancy=off
1260 ])
1261 AT_CLEANUP
1262
1263 AT_SETUP([OFPST_DESC request])
1264 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1265 AT_CHECK([ovs-ofctl ofp-print "0110000c0000000100000000"], [0], [dnl
1266 OFPST_DESC request (xid=0x1):
1267 ])
1268 AT_CLEANUP
1269
1270 AT_SETUP([OFPST_DESC reply])
1271 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1272 AT_CHECK([ovs-ofctl ofp-print "\
1273 01 11 04 2c 00 00 00 01 00 00 00 00 4e 69 63 69 \
1274 72 61 2c 20 49 6e 63 2e 00 00 00 00 00 00 00 00 \
1275 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1276 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1277 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1278 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1279 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1281 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1282 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1283 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1284 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1285 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1286 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1287 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1288 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1289 00 00 00 00 00 00 00 00 00 00 00 00 4f 70 65 6e \
1290 20 76 53 77 69 74 63 68 00 00 00 00 00 00 00 00 \
1291 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1292 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1293 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1294 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1295 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1296 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1297 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1298 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1299 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1301 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1302 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1303 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1304 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1305 00 00 00 00 00 00 00 00 00 00 00 00 31 2e 31 2e \
1306 30 70 72 65 32 00 00 00 00 00 00 00 00 00 00 00 \
1307 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1308 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1309 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1311 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1312 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1313 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1314 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1315 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1316 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1317 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1318 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1319 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1321 00 00 00 00 00 00 00 00 00 00 00 00 4e 6f 6e 65 \
1322 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1323 00 00 00 00 00 00 00 00 00 00 00 00 4e 6f 6e 65 \
1324 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1325 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1326 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1327 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1328 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1329 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1331 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1332 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1333 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1334 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1335 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1336 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1337 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1338 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1339 00 00 00 00 00 00 00 00 00 00 00 00 \
1340 "], [0], [dnl
1341 OFPST_DESC reply (xid=0x1):
1342 Manufacturer: Nicira, Inc.
1343 Hardware: Open vSwitch
1344 Software: 1.1.0pre2
1345 Serial Num: None
1346 DP Description: None
1347 ])
1348 AT_CLEANUP
1349
1350 AT_SETUP([OFPST_FLOW request - OF1.0])
1351 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1352 AT_CHECK([ovs-ofctl ofp-print "\
1353 01 10 00 38 00 00 00 04 00 01 00 00 00 38 20 ff \
1354 ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1355 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1356 00 00 00 00 ff 00 ff ff \
1357 "], [0], [dnl
1358 OFPST_FLOW request (xid=0x4): @&t@
1359 ])
1360 AT_CLEANUP
1361
1362 AT_SETUP([OFPST_FLOW request - OF1.2])
1363 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1364 AT_CHECK([ovs-ofctl ofp-print "\
1365 03 12 00 38 00 00 00 02 00 01 00 00 00 00 00 00 \
1366 ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
1367 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1368 00 01 00 04 00 00 00 00 \
1369 "], [0], [dnl
1370 OFPST_FLOW request (OF1.2) (xid=0x2): @&t@
1371 ])
1372 AT_CLEANUP
1373
1374 AT_SETUP([OFPST_FLOW request - OF1.3])
1375 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1376 AT_CHECK([ovs-ofctl ofp-print "\
1377 04 12 00 38 00 00 00 02 00 01 00 00 00 00 00 00 \
1378 ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
1379 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1380 00 01 00 04 00 00 00 00 \
1381 "], [0], [dnl
1382 OFPST_FLOW request (OF1.3) (xid=0x2): @&t@
1383 ])
1384 AT_CLEANUP
1385
1386 AT_SETUP([OFPST_FLOW reply - OF1.0])
1387 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1388 AT_CHECK([ovs-ofctl ofp-print "\
1389 01 11 01 e4 00 00 00 04 00 01 00 00 00 60 00 00 \
1390 00 00 00 00 00 03 50 54 00 00 00 05 50 54 00 00 \
1391 00 06 ff ff 00 00 08 06 00 02 00 00 c0 a8 00 01 \
1392 c0 a8 00 02 00 00 00 00 00 00 00 04 0b eb c2 00 \
1393 ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
1394 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 \
1395 00 00 00 3c 00 00 00 08 00 01 00 00 00 60 00 00 \
1396 00 00 00 00 00 01 50 54 00 00 00 06 50 54 00 00 \
1397 00 05 ff ff 00 00 08 00 00 01 00 00 c0 a8 00 02 \
1398 c0 a8 00 01 00 00 00 00 00 00 00 08 35 a4 e9 00 \
1399 ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
1400 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 \
1401 00 00 04 fa 00 00 00 08 00 03 00 00 00 60 00 00 \
1402 00 00 00 00 00 01 50 54 00 00 00 06 50 54 00 00 \
1403 00 05 ff ff 00 00 08 06 00 01 00 00 c0 a8 00 02 \
1404 c0 a8 00 01 00 00 00 00 00 00 00 04 10 b0 76 00 \
1405 ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
1406 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 \
1407 00 00 00 3c 00 00 00 08 00 03 00 00 00 60 00 00 \
1408 00 00 00 01 00 03 50 54 00 00 00 05 50 54 00 00 \
1409 00 06 ff ff 00 00 08 00 00 01 00 00 c0 a8 00 01 \
1410 c0 a8 00 02 00 08 00 00 00 00 00 09 05 b8 d8 00 \
1411 80 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
1412 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 \
1413 00 00 04 fa 00 00 00 08 00 01 00 00 \
1414 00 58 02 00 00 3f ff ff 00 00 00 00 00 00 00 00 \
1415 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1416 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1417 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 \
1418 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1419 00 00 00 00 00 00 00 00 \
1420 "], [0], [dnl
1421 OFPST_FLOW reply (xid=0x4):
1422 cookie=0x0, duration=4.200s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,arp_spa=192.168.0.1,arp_tpa=192.168.0.2,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 actions=output:1
1423 cookie=0x0, duration=8.900s, table=0, n_packets=13, n_bytes=1274, idle_timeout=5, priority=65535,icmp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,icmp_type=0,icmp_code=0 actions=output:3
1424 cookie=0x0, duration=4.280s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=1,nw_tos=0,tp_src=0,tp_dst=0 actions=output:3
1425 cookie=0x0, duration=9.096s, table=0, n_packets=13, n_bytes=1274, idle_timeout=5, icmp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,icmp_type=8,icmp_code=0 actions=output:1
1426 cookie=0x0, duration=0s, table=2, n_packets=0, n_bytes=0, actions=drop
1427 ])
1428 AT_CLEANUP
1429
1430 AT_SETUP([OFPST_FLOW reply - OF1.2])
1431 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1432 AT_CHECK([ovs-ofctl ofp-print "\
1433 03 13 01 78 00 00 00 02 00 01 00 00 00 00 00 00 \
1434 00 78 00 00 00 00 00 03 01 5e f3 c0 80 00 00 00 \
1435 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1436 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 62 \
1437 00 01 00 2d 80 00 00 04 00 00 00 02 80 00 06 06 \
1438 ca da ad d6 0d 37 80 00 0a 02 08 00 80 00 10 01 \
1439 00 80 00 04 08 00 00 00 00 00 00 00 00 00 00 00 \
1440 00 04 00 18 00 00 00 00 00 00 00 10 00 00 00 02 \
1441 05 dc 00 00 00 00 00 00 00 78 00 00 00 00 00 04 \
1442 20 7c 0a 40 80 00 00 00 00 00 00 00 00 00 00 00 \
1443 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 \
1444 00 00 00 00 00 00 00 8c 00 01 00 2d 80 00 00 04 \
1445 00 00 00 02 80 00 06 06 52 54 00 c3 00 89 80 00 \
1446 0a 02 08 00 80 00 10 01 00 80 00 04 08 00 00 00 \
1447 00 00 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
1448 00 00 00 10 00 00 00 02 05 dc 00 00 00 00 00 00 \
1449 00 78 00 00 00 00 00 04 20 a9 d1 00 80 00 00 00 \
1450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1451 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 2a \
1452 00 01 00 2d 80 00 00 04 00 00 00 02 80 00 06 06 \
1453 52 54 00 97 00 69 80 00 0a 02 08 00 80 00 10 01 \
1454 00 80 00 04 08 00 00 00 00 00 00 00 00 00 00 00 \
1455 00 04 00 18 00 00 00 00 00 00 00 10 00 00 00 02 \
1456 05 dc 00 00 00 00 00 00 \
1457 "], [0], [dnl
1458 OFPST_FLOW reply (OF1.2) (xid=0x2):
1459 cookie=0x0, duration=3.023s, table=0, n_packets=1, n_bytes=98, ip,metadata=0,in_port=2,dl_dst=ca:da:ad:d6:0d:37,nw_tos=0 actions=output:2
1460 cookie=0x0, duration=4.545s, table=0, n_packets=2, n_bytes=140, ip,metadata=0,in_port=2,dl_dst=52:54:00:c3:00:89,nw_tos=0 actions=output:2
1461 cookie=0x0, duration=4.548s, table=0, n_packets=1, n_bytes=42, ip,metadata=0,in_port=2,dl_dst=52:54:00:97:00:69,nw_tos=0 actions=output:2
1462 ])
1463 AT_CLEANUP
1464
1465 AT_SETUP([OFPST_AGGREGATE request - OF1.0])
1466 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1467 AT_CHECK([ovs-ofctl ofp-print "\
1468 01 10 00 38 00 00 00 04 00 02 00 00 00 38 20 ff \
1469 ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1471 00 00 00 00 ff 00 ff ff \
1472 "], [0], [dnl
1473 OFPST_AGGREGATE request (xid=0x4): @&t@
1474 ])
1475 AT_CLEANUP
1476
1477 AT_SETUP([OFPST_AGGREGATE request - OF1.2])
1478 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1479 AT_CHECK([ovs-ofctl ofp-print "\
1480 03 12 00 38 00 00 00 02 00 02 00 00 00 00 00 00 \
1481 ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
1482 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1483 00 01 00 04 00 00 00 00 \
1484 "], [0], [dnl
1485 OFPST_AGGREGATE request (OF1.2) (xid=0x2): @&t@
1486 ])
1487 AT_CLEANUP
1488
1489 AT_SETUP([OFPST_AGGREGATE request - OF1.3])
1490 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1491 AT_CHECK([ovs-ofctl ofp-print "\
1492 04 12 00 38 00 00 00 02 00 02 00 00 00 00 00 00 \
1493 ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
1494 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1495 00 01 00 04 00 00 00 00 \
1496 "], [0], [dnl
1497 OFPST_AGGREGATE request (OF1.3) (xid=0x2): @&t@
1498 ])
1499 AT_CLEANUP
1500
1501 AT_SETUP([OFPST_AGGREGATE reply - OF1.0])
1502 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1503 AT_CHECK([ovs-ofctl ofp-print "\
1504 01 11 00 24 00 00 00 04 00 02 00 00 00 00 00 00 \
1505 00 00 01 82 00 00 00 00 00 00 93 78 00 00 00 04 \
1506 00 00 00 00 \
1507 "], [0], [dnl
1508 OFPST_AGGREGATE reply (xid=0x4): packet_count=386 byte_count=37752 flow_count=4
1509 ])
1510 AT_CLEANUP
1511
1512 AT_SETUP([OFPST_AGGREGATE reply - OF1.2])
1513 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1514 AT_CHECK([ovs-ofctl ofp-print "\
1515 03 13 00 28 00 00 00 02 00 02 00 00 00 00 00 00 \
1516 00 00 00 00 00 00 00 79 00 00 00 00 00 00 4b 4f \
1517 00 00 00 03 00 00 00 00 \
1518 "], [0], [dnl
1519 OFPST_AGGREGATE reply (OF1.2) (xid=0x2): packet_count=121 byte_count=19279 flow_count=3
1520 ])
1521 AT_CLEANUP
1522
1523 AT_SETUP([OFPST_AGGREGATE reply - OF1.3])
1524 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1525 AT_CHECK([ovs-ofctl ofp-print "\
1526 04 13 00 28 00 00 00 02 00 02 00 00 00 00 00 00 \
1527 00 00 00 00 00 00 00 79 00 00 00 00 00 00 4b 4f \
1528 00 00 00 03 00 00 00 00 \
1529 "], [0], [dnl
1530 OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=121 byte_count=19279 flow_count=3
1531 ])
1532 AT_CLEANUP
1533
1534 AT_SETUP([OFPST_TABLE request - OF1.0])
1535 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1536 AT_CHECK([ovs-ofctl ofp-print "0110000c0000000100030000"], [0], [dnl
1537 OFPST_TABLE request (xid=0x1):
1538 ])
1539 AT_CLEANUP
1540
1541 AT_SETUP([OFPST_TABLE request - OF1.1])
1542 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1543 AT_CHECK([ovs-ofctl ofp-print "02120010000000020003000000000000"], [0], [dnl
1544 OFPST_TABLE request (OF1.1) (xid=0x2):
1545 ])
1546 AT_CLEANUP
1547
1548 AT_SETUP([OFPST_TABLE request - OF1.2])
1549 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1550 AT_CHECK([ovs-ofctl ofp-print "03120010000000020003000000000000"], [0], [dnl
1551 OFPST_TABLE request (OF1.2) (xid=0x2):
1552 ])
1553 AT_CLEANUP
1554
1555 AT_SETUP([OFPST_TABLE request - OF1.3])
1556 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1557 AT_CHECK([ovs-ofctl ofp-print "04120010000000020003000000000000"], [0], [dnl
1558 OFPST_TABLE request (OF1.3) (xid=0x2):
1559 ])
1560 AT_CLEANUP
1561
1562 AT_SETUP([OFPST_TABLE reply - OF1.0])
1563 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1564 AT_CHECK([ovs-ofctl ofp-print "\
1565 01 11 00 4c 00 00 00 01 00 03 00 00 00 00 00 00 \
1566 63 6c 61 73 73 69 66 69 65 72 00 00 00 00 00 00 \
1567 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1568 00 3f ff ff 00 10 00 00 00 00 00 0b 00 00 00 00 \
1569 00 00 00 00 00 00 00 00 00 00 00 00 \
1570 "], [0], [dnl
1571 OFPST_TABLE reply (xid=0x1):
1572 table 0 ("classifier"):
1573 active=11, lookup=0, matched=0
1574 max_entries=1048576
1575 matching:
1576 in_port: exact match or wildcard
1577 eth_src: exact match or wildcard
1578 eth_dst: exact match or wildcard
1579 eth_type: exact match or wildcard
1580 vlan_vid: exact match or wildcard
1581 vlan_pcp: exact match or wildcard
1582 ip_src: exact match or wildcard
1583 ip_dst: exact match or wildcard
1584 nw_proto: exact match or wildcard
1585 nw_tos: exact match or wildcard
1586 tcp_src: exact match or wildcard
1587 tcp_dst: exact match or wildcard
1588 ])
1589 AT_CLEANUP
1590
1591 AT_SETUP([OFPST_TABLE reply - OF1.2])
1592 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1593 (echo 'OFPST_TABLE reply (OF1.2) (xid=0x2):
1594 table 0 ("classifier"):
1595 active=1, lookup=74614, matched=106024
1596 config=controller
1597 max_entries=1000000
1598 instructions (table miss and others):
1599 instructions: write_metadata,goto_table
1600 Write-Actions and Apply-Actions features:
1601 supported on Set-Field: metadata in_port_oxm eth_src eth_dst eth_type vlan_vid vlan_pcp mpls_label mpls_tc ip_src ip_dst ipv6_src ipv6_dst ipv6_label nw_proto ip_dscp nw_ecn arp_op arp_spa arp_tpa arp_sha arp_tha tcp_src tcp_dst udp_src udp_dst sctp_src sctp_dst icmp_type icmp_code icmpv6_type icmpv6_code nd_target nd_sll nd_tll
1602 matching:
1603 metadata: exact match or wildcard
1604 in_port_oxm: exact match or wildcard
1605 eth_src: exact match or wildcard
1606 eth_dst: exact match or wildcard
1607 eth_type: exact match or wildcard
1608 vlan_vid: exact match or wildcard
1609 vlan_pcp: exact match or wildcard
1610 mpls_label: exact match or wildcard
1611 mpls_tc: exact match or wildcard
1612 ip_src: exact match or wildcard
1613 ip_dst: exact match or wildcard
1614 ipv6_src: exact match or wildcard
1615 ipv6_dst: exact match or wildcard
1616 ipv6_label: exact match or wildcard
1617 nw_proto: exact match or wildcard
1618 ip_dscp: exact match or wildcard
1619 nw_ecn: exact match or wildcard
1620 arp_op: exact match or wildcard
1621 arp_spa: exact match or wildcard
1622 arp_tpa: exact match or wildcard
1623 arp_sha: exact match or wildcard
1624 arp_tha: exact match or wildcard
1625 tcp_src: exact match or wildcard
1626 tcp_dst: exact match or wildcard
1627 udp_src: exact match or wildcard
1628 udp_dst: exact match or wildcard
1629 sctp_src: exact match or wildcard
1630 sctp_dst: exact match or wildcard
1631 icmp_type: exact match or wildcard
1632 icmp_code: exact match or wildcard
1633 icmpv6_type: exact match or wildcard
1634 icmpv6_code: exact match or wildcard
1635 nd_target: exact match or wildcard
1636 nd_sll: exact match or wildcard
1637 nd_tll: exact match or wildcard
1638
1639 table 1 ("table1"):
1640 active=0, lookup=0, matched=0
1641 (same features)
1642 '
1643 for i in `seq 2 253`; do
1644 printf ' table %d ("table%d"): ditto\n' $i $i
1645 done
1646 echo ' table 254 ("table254"):
1647 active=2, lookup=0, matched=0
1648 (same features)') > expout
1649
1650 (pad32="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
1651 pad7="00 00 00 00 00 00 00 "
1652 mid="00 00 00 0f ff ff ff ff \
1653 00 00 00 0f ff ff ff ff 00 00 00 00 00 00 00 00 \
1654 00 00 00 0f ff ff ff ff 00 00 00 0f ff ff ff ff \
1655 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1656 00 00 00 07 00 00 00 00 00 0f 42 40 "
1657 tail="00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
1658
1659 echo -n "03 13 7f 90 00 00 00 02 00 03 00 00 00 00 00 00 "
1660
1661 x=0
1662 printf "%02x $pad7" $x
1663 printf "%s$pad32" "classifier" | od -A n -t x1 -v -N 32 | tr '\n' ' '
1664 echo -n "$mid 00 00 00 01 "
1665 echo -n "00 00 00 00 00 01 23 76 00 00 00 00 00 01 9e 28 "
1666
1667 x=1
1668 while test $x -lt 254; do
1669 printf "%02x $pad7" $x
1670 printf "%s$pad32" "table$x" | od -A n -t x1 -v -N 32 | tr '\n' ' '
1671 echo -n "$mid 00 00 00 00 $tail "
1672 x=`expr $x + 1`
1673 done
1674
1675 x=254
1676 printf "%02x $pad7" $x
1677 printf "%s$pad32" "table$x" | od -A n -t x1 -v -N 32 | tr '\n' ' '
1678 echo -n "$mid 00 00 00 02 $tail") > in
1679 AT_CHECK([ovs-ofctl ofp-print - < in], [0], [expout])
1680 AT_CLEANUP
1681
1682 AT_SETUP([OFPST_TABLE reply - OF1.3])
1683 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1684 AT_CHECK([ovs-ofctl ofp-print "\
1685 04 13 00 40 00 00 00 01 00 03 00 00 00 00 00 00 \
1686 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 02 00 \
1687 00 00 00 00 00 00 01 00 01 00 00 00 00 00 00 0c \
1688 00 00 00 00 00 00 02 01 00 00 00 00 00 00 01 01 \
1689 "], [0], [dnl
1690 OFPST_TABLE reply (OF1.3) (xid=0x1):
1691 table 0:
1692 active=11, lookup=512, matched=256
1693
1694 table 1:
1695 active=12, lookup=513, matched=257
1696 ])
1697 AT_CLEANUP
1698
1699 AT_SETUP([OFPST_PORT request - 1.0])
1700 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1701 AT_CHECK([ovs-ofctl ofp-print "\
1702 01 10 00 14 00 00 00 01 00 04 00 00 ff ff 00 00 \
1703 00 00 00 00 \
1704 "], [0], [dnl
1705 OFPST_PORT request (xid=0x1): port_no=ANY
1706 ])
1707 AT_CLEANUP
1708
1709 AT_SETUP([OFPST_PORT request - 1.1])
1710 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1711 AT_CHECK([ovs-ofctl ofp-print "\
1712 02 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \
1713 ff ff ff ff 00 00 00 00 \
1714 "], [0], [dnl
1715 OFPST_PORT request (OF1.1) (xid=0x2): port_no=ANY
1716 ])
1717 AT_CLEANUP
1718
1719 AT_SETUP([OFPST_PORT request - 1.2])
1720 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1721 AT_CHECK([ovs-ofctl ofp-print "\
1722 03 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \
1723 ff ff ff ff 00 00 00 00 \
1724 "], [0], [dnl
1725 OFPST_PORT request (OF1.2) (xid=0x2): port_no=ANY
1726 ])
1727 AT_CLEANUP
1728
1729 AT_SETUP([OFPST_PORT request - 1.3])
1730 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1731 AT_CHECK([ovs-ofctl ofp-print "\
1732 04 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \
1733 ff ff ff ff 00 00 00 00 \
1734 "], [0], [dnl
1735 OFPST_PORT request (OF1.3) (xid=0x2): port_no=ANY
1736 ])
1737 AT_CLEANUP
1738
1739 AT_SETUP([OFPST_PORT reply - OF1.0])
1740 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1741 AT_CHECK([ovs-ofctl ofp-print "\
1742 01 11 01 ac 00 00 00 01 00 04 00 00 00 03 00 00 \
1743 00 00 00 00 00 00 00 00 00 00 4d 20 00 00 00 00 \
1744 00 00 14 32 00 00 00 00 00 0f 60 4e 00 00 00 00 \
1745 00 05 71 bc 00 00 00 00 00 00 00 00 00 00 00 00 \
1746 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1747 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1748 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1749 00 00 00 00 ff fe 00 00 00 00 00 00 00 00 00 00 \
1750 00 00 02 ac 00 00 00 00 00 00 01 f5 00 00 00 00 \
1751 00 01 0c 8c 00 00 00 00 00 00 db 1c 00 00 00 00 \
1752 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1753 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1754 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1755 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 \
1756 00 00 00 00 00 00 00 00 00 00 06 be 00 00 00 00 \
1757 00 00 05 84 00 00 00 00 00 02 34 b4 00 00 00 00 \
1758 00 02 23 d4 00 00 00 00 00 00 00 00 00 00 00 00 \
1759 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1761 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1762 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 \
1763 00 00 14 12 00 00 00 00 00 00 14 66 00 00 00 00 \
1764 00 04 a2 54 00 00 00 00 00 05 8a 1e 00 00 00 00 \
1765 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1766 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1767 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1768 00 00 00 00 00 00 00 00 00 00 00 00 \
1769 "], [0], [dnl
1770 OFPST_PORT reply (xid=0x1): 4 ports
1771 port 3: rx pkts=19744, bytes=1007694, drop=0, errs=0, frame=0, over=0, crc=0
1772 tx pkts=5170, bytes=356796, drop=0, errs=0, coll=0
1773 port LOCAL: rx pkts=684, bytes=68748, drop=0, errs=0, frame=0, over=0, crc=0
1774 tx pkts=501, bytes=56092, drop=0, errs=0, coll=0
1775 port 2: rx pkts=1726, bytes=144564, drop=0, errs=0, frame=0, over=0, crc=0
1776 tx pkts=1412, bytes=140244, drop=0, errs=0, coll=0
1777 port 1: rx pkts=5138, bytes=303700, drop=0, errs=0, frame=0, over=0, crc=0
1778 tx pkts=5222, bytes=363038, drop=0, errs=0, coll=0
1779 ])
1780 AT_CLEANUP
1781
1782 AT_SETUP([OFPST_PORT reply - OF1.2])
1783 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1784 AT_CHECK([ovs-ofctl ofp-print "\
1785 03 13 01 48 00 00 00 02 00 04 00 00 00 00 00 00 \
1786 00 00 00 02 00 00 00 00 00 00 00 00 00 01 95 56 \
1787 00 00 00 00 00 00 00 88 00 00 00 00 02 5d 08 98 \
1788 00 00 00 00 00 00 2c f8 00 00 00 00 00 00 00 00 \
1789 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1790 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1791 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1792 00 00 00 00 00 00 00 00 ff ff ff fe 00 00 00 00 \
1793 00 00 00 00 00 00 00 44 00 00 00 00 00 00 9d 2c \
1794 00 00 00 00 00 00 16 7c 00 00 00 00 01 1e 36 44 \
1795 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1796 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1797 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1798 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1799 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 44 \
1800 00 00 00 00 00 00 9d 2c 00 00 00 00 00 00 16 7c \
1801 00 00 00 00 01 1e 36 44 00 00 00 00 00 00 00 00 \
1802 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1803 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1804 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1805 00 00 00 00 00 00 00 00 \
1806 "], [0], [dnl
1807 OFPST_PORT reply (OF1.2) (xid=0x2): 3 ports
1808 port 2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=0, over=0, crc=0
1809 tx pkts=136, bytes=11512, drop=0, errs=0, coll=0
1810 port LOCAL: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
1811 tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
1812 port 1: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
1813 tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
1814 ])
1815 AT_CLEANUP
1816
1817 AT_SETUP([OFPST_PORT reply - OF1.3])
1818 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1819 AT_CHECK([ovs-ofctl ofp-print "\
1820 04 13 01 60 00 00 00 02 00 04 00 00 00 00 00 00 \
1821 00 00 00 02 00 00 00 00 00 00 00 00 00 01 95 56 \
1822 00 00 00 00 00 00 00 88 00 00 00 00 02 5d 08 98 \
1823 00 00 00 00 00 00 2c f8 00 00 00 00 00 00 00 00 \
1824 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1825 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1826 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1827 00 00 00 00 00 00 00 00 00 00 00 01 00 0f 42 40 \
1828 ff ff ff fe 00 00 00 00 \
1829 00 00 00 00 00 00 00 44 00 00 00 00 00 00 9d 2c \
1830 00 00 00 00 00 00 16 7c 00 00 00 00 01 1e 36 44 \
1831 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1832 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1833 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1834 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1835 ff ff ff ff ff ff ff ff \
1836 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 44 \
1837 00 00 00 00 00 00 9d 2c 00 00 00 00 00 00 16 7c \
1838 00 00 00 00 01 1e 36 44 00 00 00 00 00 00 00 00 \
1839 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1841 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1842 00 00 00 00 00 00 00 00 00 00 00 00 07 54 d4 c0 \
1843 "], [0], [dnl
1844 OFPST_PORT reply (OF1.3) (xid=0x2): 3 ports
1845 port 2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=0, over=0, crc=0
1846 tx pkts=136, bytes=11512, drop=0, errs=0, coll=0
1847 duration=1.001s
1848 port LOCAL: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
1849 tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
1850 port 1: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
1851 tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
1852 duration=0.123s
1853 ])
1854 AT_CLEANUP
1855
1856 AT_SETUP([OFPST_PORT reply - OF1.4])
1857 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1858 AT_CHECK([ovs-ofctl ofp-print "\
1859 05 13 00 88 00 00 00 02 00 04 00 00 00 00 00 00 \
1860 00 78 00 00 00 00 00 02 00 00 00 01 00 0f 42 40 \
1861 00 00 00 00 00 01 95 56 00 00 00 00 00 00 00 88 \
1862 00 00 00 00 02 5d 08 98 00 00 00 00 00 00 2c f8 \
1863 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1864 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1865 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 fc \
1866 00 00 00 00 00 00 00 fd 00 00 00 00 00 00 00 fe \
1867 00 00 00 00 00 00 00 ff \
1868 "], [0], [dnl
1869 OFPST_PORT reply (OF1.4) (xid=0x2): 1 ports
1870 port 2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=252, over=253, crc=254
1871 tx pkts=136, bytes=11512, drop=0, errs=0, coll=255
1872 duration=1.001s
1873 ])
1874 AT_CLEANUP
1875
1876 AT_SETUP([OFPST_QUEUE request - OF1.0])
1877 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1878 AT_CHECK([ovs-ofctl ofp-print "\
1879 01 10 00 14 00 00 00 01 00 05 00 00 ff fc 00 00 \
1880 ff ff ff ff \
1881 "], [0], [dnl
1882 OFPST_QUEUE request (xid=0x1): port=ANY queue=ALL
1883 ])
1884 AT_CLEANUP
1885
1886 AT_SETUP([OFPST_QUEUE request - OF1.1])
1887 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1888 AT_CHECK([ovs-ofctl ofp-print "\
1889 02 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \
1890 ff ff ff ff ff ff ff ff \
1891 "], [0], [dnl
1892 OFPST_QUEUE request (OF1.1) (xid=0x2): port=ANY queue=ALL
1893 ])
1894 AT_CLEANUP
1895
1896 AT_SETUP([OFPST_QUEUE request - OF1.2])
1897 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1898 AT_CHECK([ovs-ofctl ofp-print "\
1899 03 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \
1900 ff ff ff ff ff ff ff ff \
1901 "], [0], [dnl
1902 OFPST_QUEUE request (OF1.2) (xid=0x2): port=ANY queue=ALL
1903 ])
1904 AT_CLEANUP
1905
1906 AT_SETUP([OFPST_QUEUE request - OF1.3])
1907 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1908 AT_CHECK([ovs-ofctl ofp-print "\
1909 04 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \
1910 ff ff ff ff ff ff ff ff \
1911 "], [0], [dnl
1912 OFPST_QUEUE request (OF1.3) (xid=0x2): port=ANY queue=ALL
1913 ])
1914 AT_CLEANUP
1915
1916 AT_SETUP([OFPST_QUEUE reply - OF1.0])
1917 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1918 AT_CHECK([ovs-ofctl ofp-print "\
1919 01 11 00 cc 00 00 00 01 00 05 00 00 00 03 00 00 \
1920 00 00 00 01 00 00 00 00 00 00 01 2e 00 00 00 00 \
1921 00 00 00 01 00 00 00 00 00 00 00 00 00 03 00 00 \
1922 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \
1923 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 \
1924 00 00 00 01 00 00 00 00 00 00 08 34 00 00 00 00 \
1925 00 00 00 14 00 00 00 00 00 00 00 00 00 02 00 00 \
1926 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \
1927 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 \
1928 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 \
1929 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 \
1930 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \
1931 00 00 00 00 00 00 00 00 00 00 00 00 \
1932 "], [0], [dnl
1933 OFPST_QUEUE reply (xid=0x1): 6 queues
1934 port 3 queue 1: bytes=302, pkts=1, errors=0, duration=?
1935 port 3 queue 2: bytes=0, pkts=0, errors=0, duration=?
1936 port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=?
1937 port 2 queue 2: bytes=0, pkts=0, errors=0, duration=?
1938 port 1 queue 1: bytes=0, pkts=0, errors=0, duration=?
1939 port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
1940 ])
1941 AT_CLEANUP
1942
1943 AT_SETUP([OFPST_QUEUE reply - OF1.1])
1944 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1945 AT_CHECK([ovs-ofctl ofp-print "\
1946 02 13 00 d0 00 00 00 01 00 05 00 00 00 00 00 00 \
1947 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
1948 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
1949 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
1950 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1951 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
1952 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
1953 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
1954 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1955 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
1956 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1957 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \
1958 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1959 "], [0], [dnl
1960 OFPST_QUEUE reply (OF1.1) (xid=0x1): 6 queues
1961 port 3 queue 1: bytes=302, pkts=1, errors=0, duration=?
1962 port 3 queue 2: bytes=0, pkts=0, errors=0, duration=?
1963 port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=?
1964 port 2 queue 2: bytes=0, pkts=0, errors=0, duration=?
1965 port 1 queue 1: bytes=0, pkts=0, errors=0, duration=?
1966 port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
1967 ])
1968 AT_CLEANUP
1969
1970 AT_SETUP([OFPST_QUEUE reply - OF1.2])
1971 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1972 AT_CHECK([ovs-ofctl ofp-print "\
1973 03 13 00 d0 00 00 00 01 00 05 00 00 00 00 00 00 \
1974 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
1975 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
1976 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
1977 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1978 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
1979 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
1980 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
1981 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1982 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
1983 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1984 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \
1985 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1986 "], [0], [dnl
1987 OFPST_QUEUE reply (OF1.2) (xid=0x1): 6 queues
1988 port 3 queue 1: bytes=302, pkts=1, errors=0, duration=?
1989 port 3 queue 2: bytes=0, pkts=0, errors=0, duration=?
1990 port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=?
1991 port 2 queue 2: bytes=0, pkts=0, errors=0, duration=?
1992 port 1 queue 1: bytes=0, pkts=0, errors=0, duration=?
1993 port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
1994 ])
1995 AT_CLEANUP
1996
1997 AT_SETUP([OFPST_QUEUE reply - OF1.3])
1998 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1999 AT_CHECK([ovs-ofctl ofp-print "\
2000 04 13 01 00 00 00 00 01 00 05 00 00 00 00 00 00 \
2001 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
2002 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
2003 00 00 00 64 1d cd 65 00 \
2004 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
2005 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
2006 00 00 00 64 1d cd 65 00 \
2007 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
2008 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
2009 00 00 00 64 1d cd 65 00 \
2010 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
2011 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
2012 00 00 00 64 1d cd 65 00 \
2013 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
2014 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
2015 00 00 00 64 1d cd 65 00 \
2016 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \
2017 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
2018 ff ff ff ff ff ff ff ff \
2019 "], [0], [dnl
2020 OFPST_QUEUE reply (OF1.3) (xid=0x1): 6 queues
2021 port 3 queue 1: bytes=302, pkts=1, errors=0, duration=100.500s
2022 port 3 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s
2023 port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=100.500s
2024 port 2 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s
2025 port 1 queue 1: bytes=0, pkts=0, errors=0, duration=100.500s
2026 port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
2027 ])
2028 AT_CLEANUP
2029
2030 AT_SETUP([OFPST_QUEUE reply - OF1.4])
2031 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2032 AT_CHECK([ovs-ofctl ofp-print "\
2033 05 13 01 30 00 00 00 01 00 05 00 00 00 00 00 00 \
2034 00 30 00 00 00 00 00 00 \
2035 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
2036 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
2037 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \
2038 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
2039 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
2040 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \
2041 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
2042 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
2043 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \
2044 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
2045 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
2046 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \
2047 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
2048 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
2049 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \
2050 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \
2051 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
2052 ff ff ff ff ff ff ff ff \
2053 "], [0], [dnl
2054 OFPST_QUEUE reply (OF1.4) (xid=0x1): 6 queues
2055 port 3 queue 1: bytes=302, pkts=1, errors=0, duration=100.500s
2056 port 3 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s
2057 port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=100.500s
2058 port 2 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s
2059 port 1 queue 1: bytes=0, pkts=0, errors=0, duration=100.500s
2060 port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
2061 ])
2062 AT_CLEANUP
2063
2064 AT_SETUP([OFPST_GROUP request])
2065 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2066 AT_CHECK([ovs-ofctl ofp-print "\
2067 02 12 00 18 00 00 00 02 00 06 00 00 00 00 00 00 \
2068 ff ff ff ff 00 00 00 00 \
2069 "], [0], [OFPST_GROUP request (OF1.1) (xid=0x2): group_id=ANY
2070 ])
2071 AT_CLEANUP
2072
2073 AT_SETUP([OFPST_GROUP reply - OF1.1])
2074 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2075 AT_CHECK([ovs-ofctl ofp-print "\
2076 02 13 00 a0 00 00 00 02 00 06 00 00 00 00 00 00 \
2077 00 50 00 00 87 65 43 21 00 00 00 04 00 00 00 00 \
2078 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \
2079 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
2080 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
2081 00 00 00 00 00 00 66 66 00 00 00 00 00 33 33 33 \
2082 00 40 00 00 00 00 00 05 00 00 00 02 00 00 00 00 \
2083 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \
2084 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
2085 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
2086 "], [0], [dnl
2087 OFPST_GROUP reply (OF1.1) (xid=0x2):
2088 group_id=2271560481,ref_count=4,packet_count=34952,byte_count=7829367,bucket0:packet_count=4369,byte_count=2236962,bucket1:packet_count=4369,byte_count=2236962,bucket2:packet_count=26214,byte_count=3355443
2089 group_id=5,ref_count=2,packet_count=34952,byte_count=7829367,bucket0:packet_count=4369,byte_count=2236962,bucket1:packet_count=4369,byte_count=2236962
2090 ])
2091 AT_CLEANUP
2092
2093 AT_SETUP([OFPST_GROUP reply - OF1.3])
2094 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2095 AT_CHECK([ovs-ofctl ofp-print "\
2096 04 13 00 b0 00 00 00 02 00 06 00 00 00 00 00 00 \
2097 00 58 00 00 87 65 43 21 00 00 00 04 00 00 00 00 \
2098 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \
2099 00 00 00 12 1d cd 65 00 \
2100 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
2101 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
2102 00 00 00 00 00 00 66 66 00 00 00 00 00 33 33 33 \
2103 00 48 00 00 00 00 00 05 00 00 00 02 00 00 00 00 \
2104 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \
2105 00 00 00 10 1d cd 65 00 \
2106 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
2107 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
2108 "], [0], [dnl
2109 OFPST_GROUP reply (OF1.3) (xid=0x2):
2110 group_id=2271560481,duration=18.500s,ref_count=4,packet_count=34952,byte_count=7829367,bucket0:packet_count=4369,byte_count=2236962,bucket1:packet_count=4369,byte_count=2236962,bucket2:packet_count=26214,byte_count=3355443
2111 group_id=5,duration=16.500s,ref_count=2,packet_count=34952,byte_count=7829367,bucket0:packet_count=4369,byte_count=2236962,bucket1:packet_count=4369,byte_count=2236962
2112 ])
2113 AT_CLEANUP
2114
2115 AT_SETUP([OFPST_GROUP_DESC request - OF1.1])
2116 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2117 AT_CHECK([ovs-ofctl ofp-print "\
2118 02 12 00 10 00 00 00 02 00 07 00 00 00 00 00 00 \
2119 "], [0], [OFPST_GROUP_DESC request (OF1.1) (xid=0x2): group_id=ALL
2120 ])
2121 AT_CLEANUP
2122
2123 AT_SETUP([OFPST_GROUP_DESC request - OF1.5])
2124 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2125 AT_CHECK([ovs-ofctl ofp-print "\
2126 06 12 00 18 00 00 00 02 00 07 00 00 00 00 00 00 \
2127 00 00 00 01 00 00 00 00
2128 "], [0], [OFPST_GROUP_DESC request (OF1.5) (xid=0x2): group_id=1
2129 ])
2130 AT_CLEANUP
2131
2132 AT_SETUP([OFPST_GROUP_DESC reply - OF1.1])
2133 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2134 AT_CHECK([ovs-ofctl ofp-print "\
2135 02 13 00 78 00 00 00 02 00 07 00 00 00 00 00 00 \
2136 00 68 01 00 00 00 20 00 \
2137 00 20 00 64 00 00 00 01 ff ff ff ff 00 00 00 00 \
2138 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \
2139 00 20 00 c8 00 00 00 02 ff ff ff ff 00 00 00 00 \
2140 00 00 00 10 00 00 00 02 00 00 00 00 00 00 00 00 \
2141 00 20 00 c8 00 00 00 03 ff ff ff ff 00 00 00 00 \
2142 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
2143 "], [0], [dnl
2144 OFPST_GROUP_DESC reply (OF1.1) (xid=0x2):
2145 group_id=8192,type=select,bucket=weight:100,watch_port:1,actions=output:1,bucket=weight:200,watch_port:2,actions=output:2,bucket=weight:200,watch_port:3,actions=output:3
2146 ])
2147 AT_CLEANUP
2148
2149 AT_SETUP([OFPST_GROUP_DESC reply - OF1.5])
2150 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2151 AT_CHECK([ovs-ofctl ofp-print "\
2152 06 13 00 d8 00 00 00 02 00 07 00 00 00 00 00 00 \
2153 00 c8 01 00 00 00 20 00 00 78 00 00 00 00 00 00 \
2154 00 28 00 10 00 00 00 00 00 00 00 10 00 00 00 01 \
2155 00 00 00 00 00 00 00 00 00 00 00 08 00 64 00 00 \
2156 00 01 00 08 00 00 00 01 \
2157 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \
2158 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \
2159 00 01 00 08 00 00 00 02 \
2160 00 28 00 10 00 00 00 02 00 00 00 10 00 00 00 03 \
2161 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \
2162 00 01 00 08 00 00 00 03 \
2163 ff ff 00 3b 00 00 15 40 00 00 00 01 00 00 00 00 \
2164 68 61 73 68 00 00 00 00 00 00 00 00 00 00 00 00 \
2165 00 00 00 00 00 00 00 00 \
2166 80 00 18 04 ff ff ff 00 80 00 1a 02 ff ff 80 00 \
2167 14 01 ff 00 00 00 00 00 \
2168 "], [0], [dnl
2169 OFPST_GROUP_DESC reply (OF1.5) (xid=0x2):
2170 group_id=8192,type=select,selection_method=hash,fields(ip_dst=255.255.255.0,nw_proto,tcp_src),bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3
2171 ])
2172 AT_CLEANUP
2173
2174 AT_SETUP([OFPST_GROUP_FEATURES request])
2175 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2176 AT_CHECK([ovs-ofctl ofp-print "\
2177 03 12 00 10 00 00 00 02 00 08 00 00 00 00 00 00 \
2178 "], [0], [OFPST_GROUP_FEATURES request (OF1.2) (xid=0x2):
2179 ])
2180 AT_CLEANUP
2181
2182 AT_SETUP([OFPST_GROUP_FEATURES reply])
2183 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2184 AT_CHECK([ovs-ofctl ofp-print "\
2185 03 13 00 38 00 00 00 02 00 08 00 00 00 00 00 00 \
2186 00 00 00 0f 00 00 00 0f \
2187 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 \
2188 00 00 00 01 00 02 00 01 00 06 00 01 00 0e 00 01 \
2189 "], [0], [dnl
2190 OFPST_GROUP_FEATURES reply (OF1.2) (xid=0x2):
2191 Group table:
2192 Types: 0xf
2193 Capabilities: 0xf
2194 all group:
2195 max_groups=0x1
2196 actions: output
2197 select group:
2198 max_groups=0x2
2199 actions: output push_vlan
2200 indirect group:
2201 max_groups=0x3
2202 actions: output strip_vlan push_vlan
2203 fast failover group:
2204 max_groups=0x4
2205 actions: output strip_vlan push_vlan push_mpls
2206 ])
2207 AT_CLEANUP
2208
2209 AT_SETUP([OFPST_PORT_DESC request - OF1.0])
2210 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2211 AT_CHECK([ovs-ofctl ofp-print "0110000c00000001000d0000"], [0], [dnl
2212 OFPST_PORT_DESC request (xid=0x1): port=ANY
2213 ])
2214 AT_CLEANUP
2215
2216 AT_SETUP([OFPST_PORT_DESC request - OF1.5])
2217 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2218 AT_CHECK([ovs-ofctl ofp-print "\
2219 06 12 00 18 00 00 00 02 00 0d 00 00 00 00 00 00 \
2220 00 00 00 05 00 00 00 00"], [0], [dnl
2221 OFPST_PORT_DESC request (OF1.5) (xid=0x2): port=5
2222 ])
2223 AT_CLEANUP
2224
2225 AT_SETUP([OFPST_PORT_DESC reply - OF1.0])
2226 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2227 AT_CHECK([ovs-ofctl ofp-print "\
2228 01 11 00 3c 00 00 00 00 00 0d 00 00 00 03 50 54 \
2229 00 00 00 01 65 74 68 30 00 00 00 00 00 00 00 00 \
2230 00 00 00 00 00 00 00 01 00 00 00 01 00 00 02 08 \
2231 00 00 02 8f 00 00 02 8f 00 00 00 00 \
2232 "], [0], [dnl
2233 OFPST_PORT_DESC reply (xid=0x0):
2234 3(eth0): addr:50:54:00:00:00:01
2235 config: PORT_DOWN
2236 state: LINK_DOWN
2237 current: 100MB-FD AUTO_NEG
2238 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
2239 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
2240 speed: 100 Mbps now, 100 Mbps max
2241 ])
2242 AT_CLEANUP
2243
2244 AT_SETUP([OFPST_PORT_DESC reply - OF1.4])
2245 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2246 AT_CHECK([ovs-ofctl ofp-print "\
2247 05 13 00 58 00 00 00 02 00 0d 00 00 00 00 00 00 \
2248 00 00 00 03 00 48 00 00 50 54 00 00 00 01 00 00 \
2249 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
2250 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 \
2251 00 00 20 08 00 00 28 0f 00 00 28 0f 00 00 00 00 \
2252 00 01 86 a0 00 01 86 a0 \
2253 "], [0], [dnl
2254 OFPST_PORT_DESC reply (OF1.4) (xid=0x2):
2255 3(eth0): addr:50:54:00:00:00:01
2256 config: 0
2257 state: 0
2258 current: 100MB-FD AUTO_NEG
2259 advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
2260 supported: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
2261 speed: 100 Mbps now, 100 Mbps max
2262 ])
2263 AT_CLEANUP
2264
2265 AT_SETUP([OFPT_METER_MOD request - OF1.3])
2266 AT_KEYWORDS([ofp-print])
2267 AT_CHECK([ovs-ofctl ofp-print "\
2268 04 1d 00 20 00 00 00 02 00 00 00 0d 00 00 00 05 \
2269 00 01 00 10 00 00 04 00 00 00 00 80 00 00 00 00 \
2270 "], [0], [dnl
2271 OFPT_METER_MOD (OF1.3) (xid=0x2): ADD meter=5 kbps burst stats bands=
2272 type=drop rate=1024 burst_size=128
2273 ])
2274 AT_CLEANUP
2275
2276 AT_SETUP([OFPT_METER_MOD request - bad band - OF1.3])
2277 AT_KEYWORDS([ofp-print])
2278 AT_CHECK([ovs-ofctl ofp-print "\
2279 04 1d 00 20 85 01 d7 38 00 00 00 00 00 00 00 01
2280 00 05 00 10 00 00 00 02 00 00 00 02 00 00 00 00
2281 "], [0], [dnl
2282 OFPT_METER_MOD (OF1.3) (xid=0x8501d738): ***decode error: OFPMMFC_BAD_BAND***
2283 ])
2284 AT_CLEANUP
2285
2286 AT_SETUP([OFPT_METER_MOD request - bad command - OF1.3])
2287 AT_KEYWORDS([ofp-print])
2288 AT_CHECK([ovs-ofctl ofp-print "\
2289 04 1d 00 10 28 a6 26 52 00 08 00 00 00 00 00 01
2290 "], [0], [dnl
2291 OFPT_METER_MOD (OF1.3) (xid=0x28a62652): ***decode error: OFPMMFC_BAD_COMMAND***
2292 ])
2293 AT_CLEANUP
2294
2295 AT_SETUP([OFPT_METER_MOD request - bad flags - OF1.3])
2296 AT_KEYWORDS([ofp-print])
2297 AT_CHECK([ovs-ofctl ofp-print "\
2298 04 1d 00 20 82 b3 a1 a4 00 00 00 03 00 00 00 01 \
2299 00 01 00 10 00 00 00 02 00 00 00 02 00 00 00 00 \
2300 "], [0], [dnl
2301 OFPT_METER_MOD (OF1.3) (xid=0x82b3a1a4): ***decode error: OFPMMFC_BAD_FLAGS***
2302 ])
2303 AT_CLEANUP
2304
2305 AT_SETUP([OFPST_METER request - OF1.3])
2306 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2307 AT_CHECK([ovs-ofctl ofp-print "041200180000000200090000000000000000000100000000"], [0], [dnl
2308 OFPST_METER request (OF1.3) (xid=0x2): meter=1
2309 ])
2310 AT_CLEANUP
2311
2312 AT_SETUP([OFPST_METER_CONFIG request - OF1.3])
2313 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2314 AT_CHECK([ovs-ofctl ofp-print "0412001800000002000a0000000000000000000100000000"], [0], [dnl
2315 OFPST_METER_CONFIG request (OF1.3) (xid=0x2): meter=1
2316 ])
2317 AT_CLEANUP
2318
2319 AT_SETUP([OFPST_METER_FEATURES request - OF1.3])
2320 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2321 AT_CHECK([ovs-ofctl ofp-print "0412001000000002000b000000000000"], [0], [dnl
2322 OFPST_METER_FEATURES request (OF1.3) (xid=0x2):
2323 ])
2324 AT_CLEANUP
2325
2326 AT_SETUP([OFPST_METER_FEATURES reply - OF1.3])
2327 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2328 AT_CHECK([ovs-ofctl ofp-print "\
2329 04 13 00 20 00 00 00 02 00 0b 00 00 00 00 00 00 \
2330 00 01 00 00 00 00 00 06 00 00 00 0F 10 02 00 00 \
2331 "], [0], [dnl
2332 OFPST_METER_FEATURES reply (OF1.3) (xid=0x2):
2333 max_meter:65536 max_bands:16 max_color:2
2334 band_types: drop dscp_remark
2335 capabilities: kbps pktps burst stats
2336 ])
2337 AT_CLEANUP
2338
2339 AT_SETUP([OFPST_METER_CONFIG reply - OF1.3])
2340 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2341 AT_CHECK([ovs-ofctl ofp-print "\
2342 04 13 00 50 00 00 00 02 00 0a 00 00 00 00 00 00 \
2343 00 28 00 05 00 00 00 01 \
2344 00 01 00 10 00 01 00 00 00 00 05 00 00 00 00 00 \
2345 00 02 00 10 00 10 00 00 00 00 f0 00 00 00 00 00 \
2346 00 18 00 09 00 00 00 02 \
2347 00 01 00 10 00 02 00 00 00 00 00 00 00 00 00 00 \
2348 "], [0], [dnl
2349 OFPST_METER_CONFIG reply (OF1.3) (xid=0x2):
2350 meter=1 kbps burst bands=
2351 type=drop rate=65536 burst_size=1280
2352 type=dscp_remark rate=1048576 burst_size=61440 prec_level=0
2353
2354 meter=2 kbps stats bands=
2355 type=drop rate=131072
2356 ])
2357 AT_CLEANUP
2358
2359 AT_SETUP([OFPST_METER reply - OF1.3])
2360 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2361 AT_CHECK([ovs-ofctl ofp-print "\
2362 04 13 00 90 00 00 00 02 00 09 00 00 00 00 00 00 \
2363 00 00 00 01 00 48 00 00 00 00 00 00 00 00 00 05 \
2364 00 00 00 00 00 00 10 00 00 00 00 00 00 02 30 00 \
2365 00 00 01 8a 0a 6e 23 44 \
2366 00 00 00 00 00 00 00 7e 00 00 00 00 00 00 34 33 \
2367 00 00 00 00 00 00 00 e7 00 00 00 00 00 00 94 2e \
2368 00 00 00 02 00 38 00 00 00 00 00 00 00 00 00 02 \
2369 00 00 00 00 00 00 02 00 00 00 00 00 00 00 30 00 \
2370 00 00 01 87 0a 23 6e 44 \
2371 00 00 00 00 00 00 00 2a 00 00 00 00 00 00 04 33 \
2372 "], [0], [dnl
2373 OFPST_METER reply (OF1.3) (xid=0x2):
2374 meter:1 flow_count:5 packet_in_count:4096 byte_in_count:143360 duration:394.174990148s bands:
2375 0: packet_count:126 byte_count:13363
2376 1: packet_count:231 byte_count:37934
2377
2378 meter:2 flow_count:2 packet_in_count:512 byte_in_count:12288 duration:391.170094148s bands:
2379 0: packet_count:42 byte_count:1075
2380 ])
2381 AT_CLEANUP
2382
2383 AT_SETUP([OFPST_TABLE_FEATURES request - OF1.3])
2384 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2385 AT_CHECK([ovs-ofctl ofp-print "\
2386 04 13 09 40 00 00 00 d5 00 0c 00 01 00 00 00 00 \
2387 09 30 00 00 00 00 00 00 74 61 62 6c 65 30 00 00 \
2388 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
2389 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff \
2390 ff ff ff ff ff ff ff ff 00 00 00 03 00 0f 42 40 \
2391 00 00 00 2c 00 01 00 08 00 00 00 00 00 02 00 08 \
2392 00 00 00 00 00 03 00 08 00 00 00 00 00 04 00 08 \
2393 00 00 00 00 00 05 00 08 00 00 00 00 00 00 00 00 \
2394 00 01 00 2c 00 01 00 08 00 00 00 00 00 02 00 08 \
2395 00 00 00 00 00 03 00 08 00 00 00 00 00 04 00 08 \
2396 00 00 00 00 00 05 00 08 00 00 00 00 00 00 00 00 \
2397 00 02 01 01 01 02 03 04 05 06 07 08 09 0a 0b 0c \
2398 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c \
2399 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c \
2400 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c \
2401 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c \
2402 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c \
2403 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c \
2404 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c \
2405 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c \
2406 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c \
2407 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac \
2408 ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc \
2409 bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc \
2410 cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc \
2411 dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec \
2412 ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc \
2413 fd 00 00 00 00 00 00 00 00 03 01 01 01 02 03 04 \
2414 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 \
2415 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 \
2416 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 \
2417 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 \
2418 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 \
2419 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 \
2420 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 \
2421 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 \
2422 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 \
2423 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 \
2424 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 \
2425 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 \
2426 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 \
2427 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 \
2428 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 \
2429 f5 f6 f7 f8 f9 fa fb fc fd 00 00 00 00 00 00 00 \
2430 00 04 00 84 00 00 00 08 00 00 00 00 00 0b 00 08 \
2431 00 00 00 00 00 0c 00 08 00 00 00 00 00 0f 00 08 \
2432 00 00 00 00 00 10 00 08 00 00 00 00 00 11 00 08 \
2433 00 00 00 00 00 12 00 08 00 00 00 00 00 13 00 08 \
2434 00 00 00 00 00 14 00 08 00 00 00 00 00 15 00 08 \
2435 00 00 00 00 00 16 00 08 00 00 00 00 00 17 00 08 \
2436 00 00 00 00 00 18 00 08 00 00 00 00 00 19 00 08 \
2437 00 00 00 00 00 1a 00 08 00 00 00 00 00 1b 00 08 \
2438 00 00 00 00 00 00 00 00 00 05 00 84 00 00 00 08 \
2439 00 00 00 00 00 0b 00 08 00 00 00 00 00 0c 00 08 \
2440 00 00 00 00 00 0f 00 08 00 00 00 00 00 10 00 08 \
2441 00 00 00 00 00 11 00 08 00 00 00 00 00 12 00 08 \
2442 00 00 00 00 00 13 00 08 00 00 00 00 00 14 00 08 \
2443 00 00 00 00 00 15 00 08 00 00 00 00 00 16 00 08 \
2444 00 00 00 00 00 17 00 08 00 00 00 00 00 18 00 08 \
2445 00 00 00 00 00 19 00 08 00 00 00 00 00 1a 00 08 \
2446 00 00 00 00 00 1b 00 08 00 00 00 00 00 00 00 00 \
2447 00 06 00 84 00 00 00 08 00 00 00 00 00 0b 00 08 \
2448 00 00 00 00 00 0c 00 08 00 00 00 00 00 0f 00 08 \
2449 00 00 00 00 00 10 00 08 00 00 00 00 00 11 00 08 \
2450 00 00 00 00 00 12 00 08 00 00 00 00 00 13 00 08 \
2451 00 00 00 00 00 14 00 08 00 00 00 00 00 15 00 08 \
2452 00 00 00 00 00 16 00 08 00 00 00 00 00 17 00 08 \
2453 00 00 00 00 00 18 00 08 00 00 00 00 00 19 00 08 \
2454 00 00 00 00 00 1a 00 08 00 00 00 00 00 1b 00 08 \
2455 00 00 00 00 00 00 00 00 00 07 00 84 00 00 00 08 \
2456 00 00 00 00 00 0b 00 08 00 00 00 00 00 0c 00 08 \
2457 00 00 00 00 00 0f 00 08 00 00 00 00 00 10 00 08 \
2458 00 00 00 00 00 11 00 08 00 00 00 00 00 12 00 08 \
2459 00 00 00 00 00 13 00 08 00 00 00 00 00 14 00 08 \
2460 00 00 00 00 00 15 00 08 00 00 00 00 00 16 00 08 \
2461 00 00 00 00 00 17 00 08 00 00 00 00 00 18 00 08 \
2462 00 00 00 00 00 19 00 08 00 00 00 00 00 1a 00 08 \
2463 00 00 00 00 00 1b 00 08 00 00 00 00 00 00 00 00 \
2464 00 08 00 dc 80 00 4c 08 00 01 3e 04 00 01 40 04 \
2465 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \
2466 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \
2467 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \
2468 80 00 08 06 80 00 06 06 80 00 0a 02 00 00 08 02 \
2469 80 00 0c 02 80 00 0e 01 80 00 44 04 80 00 46 01 \
2470 80 00 48 01 80 00 16 04 80 00 18 04 80 00 34 10 \
2471 80 00 36 10 80 00 38 04 80 00 14 01 00 00 0a 01 \
2472 80 00 10 01 80 00 12 01 00 01 3a 01 00 01 34 01 \
2473 80 00 2a 02 80 00 2c 04 80 00 2e 04 80 00 30 06 \
2474 80 00 32 06 80 00 1a 02 80 00 1c 02 00 01 44 02 \
2475 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \
2476 80 00 26 01 80 00 28 01 80 00 3a 01 80 00 3c 01 \
2477 80 00 3e 10 80 00 40 06 80 00 42 06 00 00 00 00 \
2478 00 0a 00 dc 80 00 4c 08 00 01 3e 04 00 01 40 04 \
2479 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \
2480 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \
2481 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \
2482 80 00 08 06 80 00 06 06 80 00 0a 02 00 00 08 02 \
2483 80 00 0c 02 80 00 0e 01 80 00 44 04 80 00 46 01 \
2484 80 00 48 01 80 00 16 04 80 00 18 04 80 00 34 10 \
2485 80 00 36 10 80 00 38 04 80 00 14 01 00 00 0a 01 \
2486 80 00 10 01 80 00 12 01 00 01 3a 01 00 01 34 01 \
2487 80 00 2a 02 80 00 2c 04 80 00 2e 04 80 00 30 06 \
2488 80 00 32 06 80 00 1a 02 80 00 1c 02 00 01 44 02 \
2489 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \
2490 80 00 26 01 80 00 28 01 80 00 3a 01 80 00 3c 01 \
2491 80 00 3e 10 80 00 40 06 80 00 42 06 00 00 00 00 \
2492 00 0c 00 a8 80 00 4c 08 00 01 3e 04 00 01 40 04 \
2493 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \
2494 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \
2495 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \
2496 80 00 08 06 80 00 06 06 00 00 08 02 80 00 0c 02 \
2497 80 00 0e 01 80 00 44 04 80 00 46 01 80 00 16 04 \
2498 80 00 18 04 80 00 34 10 80 00 36 10 00 00 0a 01 \
2499 80 00 10 01 80 00 12 01 00 01 3a 01 80 00 2a 02 \
2500 80 00 2c 04 80 00 2e 04 80 00 30 06 80 00 32 06 \
2501 80 00 1a 02 80 00 1c 02 80 00 1e 02 80 00 20 02 \
2502 80 00 22 02 80 00 24 02 00 0d 00 a8 80 00 4c 08 \
2503 00 01 3e 04 00 01 40 04 80 00 04 08 00 00 00 02 \
2504 80 00 00 04 00 01 42 04 00 01 00 04 00 01 02 04 \
2505 00 01 04 04 00 01 06 04 00 01 08 04 00 01 0a 04 \
2506 00 01 0c 04 00 01 0e 04 80 00 08 06 80 00 06 06 \
2507 00 00 08 02 80 00 0c 02 80 00 0e 01 80 00 44 04 \
2508 80 00 46 01 80 00 16 04 80 00 18 04 80 00 34 10 \
2509 80 00 36 10 00 00 0a 01 80 00 10 01 80 00 12 01 \
2510 00 01 3a 01 80 00 2a 02 80 00 2c 04 80 00 2e 04 \
2511 80 00 30 06 80 00 32 06 80 00 1a 02 80 00 1c 02 \
2512 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \
2513 00 0e 00 a8 80 00 4c 08 00 01 3e 04 00 01 40 04 \
2514 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \
2515 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \
2516 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \
2517 80 00 08 06 80 00 06 06 00 00 08 02 80 00 0c 02 \
2518 80 00 0e 01 80 00 44 04 80 00 46 01 80 00 16 04 \
2519 80 00 18 04 80 00 34 10 80 00 36 10 00 00 0a 01 \
2520 80 00 10 01 80 00 12 01 00 01 3a 01 80 00 2a 02 \
2521 80 00 2c 04 80 00 2e 04 80 00 30 06 80 00 32 06 \
2522 80 00 1a 02 80 00 1c 02 80 00 1e 02 80 00 20 02 \
2523 80 00 22 02 80 00 24 02 00 0f 00 a8 80 00 4c 08 \
2524 00 01 3e 04 00 01 40 04 80 00 04 08 00 00 00 02 \
2525 80 00 00 04 00 01 42 04 00 01 00 04 00 01 02 04 \
2526 00 01 04 04 00 01 06 04 00 01 08 04 00 01 0a 04 \
2527 00 01 0c 04 00 01 0e 04 80 00 08 06 80 00 06 06 \
2528 00 00 08 02 80 00 0c 02 80 00 0e 01 80 00 44 04 \
2529 80 00 46 01 80 00 16 04 80 00 18 04 80 00 34 10 \
2530 80 00 36 10 00 00 0a 01 80 00 10 01 80 00 12 01 \
2531 00 01 3a 01 80 00 2a 02 80 00 2c 04 80 00 2e 04 \
2532 80 00 30 06 80 00 32 06 80 00 1a 02 80 00 1c 02 \
2533 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \
2534 "], [0], [OFPST_TABLE_FEATURES reply (OF1.3) (xid=0xd5):
2535 table 0 ("table0"):
2536 metadata: match=0xffffffffffffffff write=0xffffffffffffffff
2537 max_entries=1000000
2538 instructions (table miss and others):
2539 next tables: 1-253
2540 instructions: apply_actions,clear_actions,write_actions,write_metadata,goto_table
2541 Write-Actions and Apply-Actions features:
2542 actions: output group set_field strip_vlan push_vlan mod_nw_ttl dec_ttl set_mpls_ttl dec_mpls_ttl push_mpls pop_mpls set_queue
2543 supported on Set-Field: tun_id tun_src tun_dst metadata in_port in_port_oxm pkt_mark reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7 eth_src eth_dst vlan_tci vlan_vid vlan_pcp mpls_label mpls_tc ip_src ip_dst ipv6_src ipv6_dst nw_tos ip_dscp nw_ecn nw_ttl arp_op arp_spa arp_tpa arp_sha arp_tha tcp_src tcp_dst udp_src udp_dst sctp_src sctp_dst
2544 matching:
2545 tun_id: exact match or wildcard
2546 tun_src: exact match or wildcard
2547 tun_dst: exact match or wildcard
2548 metadata: exact match or wildcard
2549 in_port: exact match or wildcard
2550 in_port_oxm: exact match or wildcard
2551 pkt_mark: exact match or wildcard
2552 reg0: exact match or wildcard
2553 reg1: exact match or wildcard
2554 reg2: exact match or wildcard
2555 reg3: exact match or wildcard
2556 reg4: exact match or wildcard
2557 reg5: exact match or wildcard
2558 reg6: exact match or wildcard
2559 reg7: exact match or wildcard
2560 eth_src: exact match or wildcard
2561 eth_dst: exact match or wildcard
2562 eth_type: exact match or wildcard
2563 vlan_tci: exact match or wildcard
2564 vlan_vid: exact match or wildcard
2565 vlan_pcp: exact match or wildcard
2566 mpls_label: exact match or wildcard
2567 mpls_tc: exact match or wildcard
2568 mpls_bos: exact match or wildcard
2569 ip_src: exact match or wildcard
2570 ip_dst: exact match or wildcard
2571 ipv6_src: exact match or wildcard
2572 ipv6_dst: exact match or wildcard
2573 ipv6_label: exact match or wildcard
2574 nw_proto: exact match or wildcard
2575 nw_tos: exact match or wildcard
2576 ip_dscp: exact match or wildcard
2577 nw_ecn: exact match or wildcard
2578 nw_ttl: exact match or wildcard
2579 ip_frag: exact match or wildcard
2580 arp_op: exact match or wildcard
2581 arp_spa: exact match or wildcard
2582 arp_tpa: exact match or wildcard
2583 arp_sha: exact match or wildcard
2584 arp_tha: exact match or wildcard
2585 tcp_src: exact match or wildcard
2586 tcp_dst: exact match or wildcard
2587 tcp_flags: exact match or wildcard
2588 udp_src: exact match or wildcard
2589 udp_dst: exact match or wildcard
2590 sctp_src: exact match or wildcard
2591 sctp_dst: exact match or wildcard
2592 icmp_type: exact match or wildcard
2593 icmp_code: exact match or wildcard
2594 icmpv6_type: exact match or wildcard
2595 icmpv6_code: exact match or wildcard
2596 nd_target: exact match or wildcard
2597 nd_sll: exact match or wildcard
2598 nd_tll: exact match or wildcard
2599 ])
2600 AT_CLEANUP
2601
2602 AT_SETUP([OFPT_BARRIER_REQUEST - OF1.0])
2603 AT_KEYWORDS([ofp-print])
2604 AT_CHECK([ovs-ofctl ofp-print '01 12 00 08 00 00 00 01'], [0], [dnl
2605 OFPT_BARRIER_REQUEST (xid=0x1):
2606 ])
2607 AT_CLEANUP
2608
2609 AT_SETUP([OFPT_BARRIER_REQUEST - OF1.1])
2610 AT_KEYWORDS([ofp-print])
2611 AT_CHECK([ovs-ofctl ofp-print '02 14 00 08 00 00 00 01'], [0], [dnl
2612 OFPT_BARRIER_REQUEST (OF1.1) (xid=0x1):
2613 ])
2614 AT_CLEANUP
2615
2616 AT_SETUP([OFPT_BARRIER_REQUEST - OF1.2])
2617 AT_KEYWORDS([ofp-print])
2618 AT_CHECK([ovs-ofctl ofp-print '03 14 00 08 00 00 00 01'], [0], [dnl
2619 OFPT_BARRIER_REQUEST (OF1.2) (xid=0x1):
2620 ])
2621 AT_CLEANUP
2622
2623 AT_SETUP([OFPT_BARRIER_REQUEST - OF1.3])
2624 AT_KEYWORDS([ofp-print])
2625 AT_CHECK([ovs-ofctl ofp-print '04 14 00 08 00 00 00 01'], [0], [dnl
2626 OFPT_BARRIER_REQUEST (OF1.3) (xid=0x1):
2627 ])
2628 AT_CLEANUP
2629
2630 AT_SETUP([OFPT_BARRIER_REPLY - OF1.0])
2631 AT_KEYWORDS([ofp-print])
2632 AT_CHECK([ovs-ofctl ofp-print '01 13 00 08 00 00 00 01'], [0], [dnl
2633 OFPT_BARRIER_REPLY (xid=0x1):
2634 ])
2635 AT_CLEANUP
2636
2637 AT_SETUP([OFPT_BARRIER_REPLY - OF1.1])
2638 AT_KEYWORDS([ofp-print])
2639 AT_CHECK([ovs-ofctl ofp-print '02 15 00 08 00 00 00 01'], [0], [dnl
2640 OFPT_BARRIER_REPLY (OF1.1) (xid=0x1):
2641 ])
2642 AT_CLEANUP
2643
2644 AT_SETUP([OFPT_BARRIER_REPLY - OF1.2])
2645 AT_KEYWORDS([ofp-print])
2646 AT_CHECK([ovs-ofctl ofp-print '03 15 00 08 00 00 00 01'], [0], [dnl
2647 OFPT_BARRIER_REPLY (OF1.2) (xid=0x1):
2648 ])
2649 AT_CLEANUP
2650
2651 AT_SETUP([OFPT_BARRIER_REPLY - OF1.3])
2652 AT_KEYWORDS([ofp-print])
2653 AT_CHECK([ovs-ofctl ofp-print '04 15 00 08 00 00 00 01'], [0], [dnl
2654 OFPT_BARRIER_REPLY (OF1.3) (xid=0x1):
2655 ])
2656 AT_CLEANUP
2657
2658 AT_SETUP([OFPT_QUEUE_GET_CONFIG_REQUEST - OF1.0])
2659 AT_KEYWORDS([ofp-print])
2660 AT_CHECK([ovs-ofctl ofp-print "01 14 00 0c 00 00 00 01 00 01 00 00"], [0], [dnl
2661 OFPT_QUEUE_GET_CONFIG_REQUEST (xid=0x1): port=1
2662 ])
2663 AT_CLEANUP
2664
2665 AT_SETUP([OFPT_QUEUE_GET_CONFIG_REQUEST - OF1.2])
2666 AT_KEYWORDS([ofp-print])
2667 AT_CHECK([ovs-ofctl ofp-print "\
2668 03 16 00 10 00 00 00 01 00 00 00 01 00 00 00 00"], [0], [dnl
2669 OFPT_QUEUE_GET_CONFIG_REQUEST (OF1.2) (xid=0x1): port=1
2670 ])
2671 AT_CLEANUP
2672
2673 AT_SETUP([OFPST_QUEUE_DESC request - OF1.4])
2674 AT_KEYWORDS([ofp-print OFPT_QUEUE_GET_CONFIG_REQUEST])
2675 AT_CHECK([ovs-ofctl ofp-print "\
2676 05 12 00 18 00 00 00 01 00 0f 00 00 00 00 00 00 \
2677 00 00 00 01 00 00 00 02"], [0],
2678 [OFPST_QUEUE_DESC request (OF1.4) (xid=0x1): port=1 queue=2
2679 ])
2680 AT_CLEANUP
2681
2682 AT_SETUP([OFPT_QUEUE_GET_CONFIG_REPLY - OF1.0])
2683 AT_KEYWORDS([ofp-print])
2684 AT_CHECK([ovs-ofctl ofp-print "01 15 00 40 00 00 00 01 \
2685 00 01 00 00 00 00 00 00 \
2686 00 00 55 55 00 28 00 00 \
2687 00 01 00 10 00 00 00 00 01 f4 00 00 00 00 00 00 \
2688 00 02 00 10 00 00 00 00 02 ee 00 00 00 00 00 00 \
2689 00 00 44 44 00 08 00 00 \
2690 "], [0], [dnl
2691 OFPT_QUEUE_GET_CONFIG_REPLY (xid=0x1): port=1
2692 queue 17476:
2693 queue 21845: min_rate:50.0% max_rate:75.0%
2694 ])
2695 AT_CLEANUP
2696
2697 AT_SETUP([OFPT_QUEUE_GET_CONFIG_REPLY - OF1.1])
2698 AT_KEYWORDS([ofp-print])
2699 AT_CHECK([ovs-ofctl ofp-print "02 17 00 40 00 00 00 01 \
2700 00 00 00 01 00 00 00 00 \
2701 00 00 55 55 00 28 00 00 \
2702 00 01 00 10 00 00 00 00 01 f4 00 00 00 00 00 00 \
2703 00 02 00 10 00 00 00 00 02 ee 00 00 00 00 00 00 \
2704 00 00 44 44 00 08 00 00 \
2705 "], [0], [dnl
2706 OFPT_QUEUE_GET_CONFIG_REPLY (OF1.1) (xid=0x1): port=1
2707 queue 17476:
2708 queue 21845: min_rate:50.0% max_rate:75.0%
2709 ])
2710 AT_CLEANUP
2711
2712 AT_SETUP([OFPT_QUEUE_GET_CONFIG_REPLY - OF1.2])
2713 AT_KEYWORDS([ofp-print])
2714 AT_CHECK([ovs-ofctl ofp-print "03 17 00 50 00 00 00 01 \
2715 00 00 00 01 00 00 00 00 \
2716 00 00 55 55 00 00 00 01 00 30 00 00 00 00 00 00 \
2717 00 01 00 10 00 00 00 00 01 f4 00 00 00 00 00 00 \
2718 00 02 00 10 00 00 00 00 02 ee 00 00 00 00 00 00 \
2719 00 00 44 44 00 08 00 01 00 10 00 00 00 00 00 00 \
2720 "], [0], [dnl
2721 OFPT_QUEUE_GET_CONFIG_REPLY (OF1.2) (xid=0x1): port=1
2722 queue 17476:
2723 queue 21845: min_rate:50.0% max_rate:75.0%
2724 ])
2725 AT_CLEANUP
2726
2727 AT_SETUP([OFPT_QUEUE_GET_CONFIG_REPLY - OF1.3])
2728 AT_KEYWORDS([ofp-print])
2729 AT_CHECK([ovs-ofctl ofp-print "04 17 00 50 00 00 00 01 \
2730 00 00 00 01 00 00 00 00 \
2731 00 00 55 55 00 00 00 01 00 30 00 00 00 00 00 00 \
2732 00 01 00 10 00 00 00 00 01 f4 00 00 00 00 00 00 \
2733 00 02 00 10 00 00 00 00 02 ee 00 00 00 00 00 00 \
2734 00 00 44 44 00 08 00 01 00 10 00 00 00 00 00 00 \
2735 "], [0], [dnl
2736 OFPT_QUEUE_GET_CONFIG_REPLY (OF1.3) (xid=0x1): port=1
2737 queue 17476:
2738 queue 21845: min_rate:50.0% max_rate:75.0%
2739 ])
2740 AT_CLEANUP
2741
2742 # OF1.4 renamed OFPT_QUEUE_GET_CONFIG_REPLY to OFPST_QUEUE_DESC.
2743 AT_SETUP([OFPST_QUEUE_DESC reply - OF1.4])
2744 AT_KEYWORDS([ofp-print OFPT_QUEUE_GET_CONFIG_REPLY])
2745 AT_CHECK([ovs-ofctl ofp-print "\
2746 05 13 00 48 00 00 00 01 00 0f 00 00 00 00 00 00 \
2747
2748 00 00 00 01 00 00 55 55 00 20 00 00 00 00 00 00 \
2749 00 01 00 08 01 f4 00 00 \
2750 00 02 00 08 02 ee 00 00 \
2751
2752 00 00 00 02 00 00 44 44 00 18 00 00 00 00 00 00 \
2753 00 02 00 08 00 64 00 00 \
2754 "], [0], [dnl
2755 OFPST_QUEUE_DESC reply (OF1.4) (xid=0x1): port=1
2756 queue 21845: min_rate:50.0% max_rate:75.0%
2757 port=2
2758 queue 17476: max_rate:10.0%
2759 ])
2760 AT_CLEANUP
2761
2762 AT_SETUP([OFPT_SET_ASYNC - OF1.3])
2763 AT_KEYWORDS([ofp-print])
2764 dnl This message has bit 12 set for the PACKET_IN messages (master and slave).
2765 dnl Those aren't supported bits so they get silently ignored on decoding.
2766 dnl That seems reasonable because OF1.3 doesn't define any error codes for
2767 dnl OFPT_SET_ASYNC.
2768 AT_CHECK([ovs-ofctl ofp-print "\
2769 04 1c 00 20 00 00 00 00 00 00 10 05 00 00 10 07 \
2770 00 00 00 03 00 00 00 07 00 00 00 00 00 00 00 03 \
2771 "], [0], [dnl
2772 OFPT_SET_ASYNC (OF1.3) (xid=0x0):
2773 master:
2774 PACKET_IN: no_match invalid_ttl
2775 PORT_STATUS: add delete
2776 FLOW_REMOVED: (off)
2777 ROLE_STATUS: (off)
2778 TABLE_STATUS: (off)
2779 REQUESTFORWARD: (off)
2780
2781 slave:
2782 PACKET_IN: no_match action invalid_ttl
2783 PORT_STATUS: add delete modify
2784 FLOW_REMOVED: idle hard
2785 ROLE_STATUS: (off)
2786 TABLE_STATUS: (off)
2787 REQUESTFORWARD: (off)
2788 ])
2789 AT_CLEANUP
2790
2791 AT_SETUP([OFPT_ROLE_REQUEST - OF1.2])
2792 AT_KEYWORDS([ofp-print])
2793 AT_CHECK([ovs-ofctl ofp-print "\
2794 03 18 00 18 00 00 00 02 00 00 00 02 00 00 00 00 \
2795 00 00 00 00 00 00 00 03 \
2796 "], [0], [dnl
2797 OFPT_ROLE_REQUEST (OF1.2) (xid=0x2): role=master generation_id=3
2798 ])
2799 AT_CLEANUP
2800
2801 AT_SETUP([OFPT_ROLE_REQUEST - nochange - OF1.2])
2802 AT_KEYWORDS([ofp-print])
2803 AT_CHECK([ovs-ofctl ofp-print "\
2804 03 18 00 18 00 00 00 02 00 00 00 00 00 00 00 00 \
2805 00 00 00 00 00 00 00 00 \
2806 "], [0], [dnl
2807 OFPT_ROLE_REQUEST (OF1.2) (xid=0x2): role=nochange
2808 ])
2809 AT_CLEANUP
2810
2811 AT_SETUP([NXT_ROLE_REQUEST])
2812 AT_KEYWORDS([ofp-print])
2813 AT_CHECK([ovs-ofctl ofp-print "\
2814 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0a \
2815 00 00 00 01 \
2816 "], [0], [dnl
2817 NXT_ROLE_REQUEST (xid=0x2): role=master
2818 ])
2819 AT_CLEANUP
2820
2821 AT_SETUP([OFPT_ROLE_REPLY - OF1.2])
2822 AT_KEYWORDS([ofp-print])
2823 AT_CHECK([ovs-ofctl ofp-print "\
2824 03 19 00 18 00 00 00 02 00 00 00 03 00 00 00 00 \
2825 12 34 56 78 ab cd ef 90 \
2826 "], [0], [dnl
2827 OFPT_ROLE_REPLY (OF1.2) (xid=0x2): role=slave generation_id=1311768467750121360
2828 ])
2829 AT_CLEANUP
2830
2831 AT_SETUP([NXT_ROLE_REPLY])
2832 AT_KEYWORDS([ofp-print])
2833 AT_CHECK([ovs-ofctl ofp-print "\
2834 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0b \
2835 00 00 00 02 \
2836 "], [0], [dnl
2837 NXT_ROLE_REPLY (xid=0x2): role=slave
2838 ])
2839 AT_CLEANUP
2840
2841 AT_SETUP([OFP_ROLE_STATUS - master, experimenter - OF1.4])
2842 AT_KEYWORDS([ofp-print])
2843 AT_CHECK([ovs-ofctl ofp-print "\
2844 05 1e 00 18 00 00 00 0a \
2845 00 00 00 02 02 00 00 00 ff ff ff ff ff ff ff ff \
2846 "], [0], [dnl
2847 OFPT_ROLE_STATUS (OF1.4) (xid=0xa): role=master reason=experimenter_data_changed
2848 ])
2849 AT_CLEANUP
2850
2851 AT_SETUP([OFP_ROLE_STATUS - master, config - OF1.4])
2852 AT_KEYWORDS([ofp-print])
2853 AT_CHECK([ovs-ofctl ofp-print "\
2854 05 1e 00 18 00 00 00 0a \
2855 00 00 00 02 01 00 00 00 ff ff ff ff ff ff ff ff \
2856 "], [0], [dnl
2857 OFPT_ROLE_STATUS (OF1.4) (xid=0xa): role=master reason=configuration_changed
2858 ])
2859 AT_CLEANUP
2860
2861 AT_SETUP([OFP_ROLE_STATUS - master, config,generation - OF1.4])
2862 AT_KEYWORDS([ofp-print])
2863 AT_CHECK([ovs-ofctl ofp-print "\
2864 05 1e 00 18 00 00 00 0a \
2865 00 00 00 02 01 00 00 00 00 00 00 00 00 00 00 10 \
2866 "], [0], [dnl
2867 OFPT_ROLE_STATUS (OF1.4) (xid=0xa): role=master generation_id=16 reason=configuration_changed
2868 ])
2869 AT_CLEANUP
2870
2871 AT_SETUP([OFP_REQUESTFORWARD - OF1.4])
2872 AT_KEYWORDS([ofp-print])
2873 AT_CHECK([ovs-ofctl ofp-print "\
2874 05 20 00 18 00 00 00 02 \
2875 05 0f 00 10 02 00 00 00 \
2876 00 00 00 00 00 00 00 01 \
2877 "], [0], [dnl
2878 OFPT_REQUESTFORWARD (OF1.4) (xid=0x2): reason=group_mod
2879 ADD group_id=1,type=all
2880 ])
2881 AT_CLEANUP
2882
2883 AT_SETUP([OFP_REQUESTFORWARD - OF1.4])
2884 AT_KEYWORDS([ofp-print])
2885 AT_CHECK([ovs-ofctl ofp-print "\
2886 05 20 00 18 00 00 00 02 \
2887 05 0f 00 10 02 00 00 00 \
2888 00 01 01 00 00 00 00 01 \
2889 "], [0], [dnl
2890 OFPT_REQUESTFORWARD (OF1.4) (xid=0x2): reason=group_mod
2891 MOD group_id=1,type=select
2892 ])
2893 AT_CLEANUP
2894
2895 AT_SETUP([OFP_REQUESTFORWARD - OF1.4])
2896 AT_KEYWORDS([ofp-print])
2897 AT_CHECK([ovs-ofctl ofp-print "\
2898 05 20 00 18 00 00 00 02 \
2899 05 1d 00 10 02 00 00 00 \
2900 00 00 00 00 00 00 00 01 \
2901 "], [0], [dnl
2902 OFPT_REQUESTFORWARD (OF1.4) (xid=0x2): reason=meter_mod ADD meter=1 bands=
2903 ])
2904 AT_CLEANUP
2905
2906 AT_SETUP([OFP_REQUESTFORWARD - OF1.4])
2907 AT_KEYWORDS([ofp-print])
2908 AT_CHECK([ovs-ofctl ofp-print "\
2909 05 20 00 18 00 00 00 02 \
2910 05 1d 00 10 02 00 00 00 \
2911 00 01 01 00 00 00 00 01 \
2912 "], [0], [dnl
2913 OFPT_REQUESTFORWARD (OF1.4) (xid=0x2): reason=meter_mod MOD meter=1 flags:0x100 bands=
2914 ])
2915 AT_CLEANUP
2916
2917 AT_SETUP([NXT_SET_PACKET_IN])
2918 AT_KEYWORDS([ofp-print])
2919 AT_CHECK([ovs-ofctl ofp-print "\
2920 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 10 \
2921 00 00 00 01 \
2922 "], [0], [dnl
2923 NXT_SET_PACKET_IN_FORMAT (xid=0x2): format=nxt_packet_in
2924 ])
2925 AT_CLEANUP
2926
2927 AT_SETUP([NXT_PACKET_IN])
2928 AT_KEYWORDS([ofp-print])
2929 AT_CHECK([ovs-ofctl ofp-print "\
2930 01 04 00 ba 00 00 00 00 00 00 23 20 00 00 00 11 \
2931 ff ff ff ff 00 40 01 07 00 00 00 00 00 00 00 09 \
2932 00 4e 00 00 00 00 00 00 00 00 00 02 00 01 00 01 \
2933 20 08 00 00 00 00 00 00 00 06 00 01 00 04 00 00 \
2934 00 01 00 01 02 04 00 00 00 02 00 01 04 04 00 00 \
2935 00 03 00 01 06 04 00 00 00 04 00 01 08 04 00 00 \
2936 00 05 80 00 05 10 5a 5a 5a 5a 5a 5a 5a 5a ff ff \
2937 ff ff ff ff ff ff 00 00 00 00 82 82 82 82 82 82 \
2938 80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 \
2939 00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 \
2940 00 55 00 56 00 00 00 00 00 00 00 00 50 02 00 00 \
2941 31 6d 00 00 00 00 00 00 00 00 \
2942 "], [0], [dnl
2943 NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 reg0=0x1,reg1=0x2,reg2=0x3,reg3=0x4,reg4=0x5,tun_id=0x6,metadata=0x5a5a5a5a5a5a5a5a,in_port=1 (via action) data_len=64 (unbuffered)
2944 tcp,dl_vlan=80,dl_vlan_pcp=0,vlan_tci1=0x0000,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=85,tp_dst=86,tcp_flags=syn tcp_csum:316d
2945 ])
2946 AT_CLEANUP
2947
2948 AT_SETUP([NXT_PACKET_IN, with hex output of packet data])
2949 AT_KEYWORDS([ofp-print])
2950 AT_CHECK([ovs-ofctl ofp-print "\
2951 01 04 00 ba 00 00 00 00 00 00 23 20 00 00 00 11 \
2952 ff ff ff ff 00 40 01 07 00 00 00 00 00 00 00 09 \
2953 00 4e 00 00 00 00 00 00 00 00 00 02 00 01 00 01 \
2954 20 08 00 00 00 00 00 00 00 06 00 01 00 04 00 00 \
2955 00 01 00 01 02 04 00 00 00 02 00 01 04 04 00 00 \
2956 00 03 00 01 06 04 00 00 00 04 00 01 08 04 00 00 \
2957 00 05 80 00 05 10 5a 5a 5a 5a 5a 5a 5a 5a ff ff \
2958 ff ff ff ff ff ff 00 00 00 00 82 82 82 82 82 82 \
2959 80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 \
2960 00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 \
2961 00 55 00 56 00 00 00 00 00 00 00 00 50 01 00 00 \
2962 31 6d 00 00 00 00 00 00 00 00 \
2963 " 3], [0], [dnl
2964 NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 reg0=0x1,reg1=0x2,reg2=0x3,reg3=0x4,reg4=0x5,tun_id=0x6,metadata=0x5a5a5a5a5a5a5a5a,in_port=1 (via action) data_len=64 (unbuffered)
2965 tcp,dl_vlan=80,dl_vlan_pcp=0,vlan_tci1=0x0000,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=85,tp_dst=86,tcp_flags=fin tcp_csum:316d
2966 00000000 82 82 82 82 82 82 80 81-81 81 81 81 81 00 00 50
2967 00000010 08 00 45 00 00 28 00 00-00 00 00 06 32 05 53 53
2968 00000020 53 53 54 54 54 54 00 55-00 56 00 00 00 00 00 00
2969 00000030 00 00 50 01 00 00 31 6d-00 00 00 00 00 00 00 00
2970 ])
2971 AT_CLEANUP
2972
2973 AT_SETUP([NX_PACKET_IN2])
2974 AT_KEYWORDS([ofp-print])
2975 AT_CHECK([ovs-ofctl ofp-print "
2976 01 04 0098 00000000 00002320 0000001e
2977 0000 0034
2978 82 82 82 82 82 82 80 81 81 81 81 81 81 00 00 50
2979 08 00 45 00 00 28 00 00 00 00 00 06 32 05 53 53
2980 53 53 54 54 54 54 00 55 00 56 00 00 00 00 00 00 00000000
2981 0001 0008 00000040
2982 0002 0008 00000114
2983 0003 0005 07 000000
2984 0004 0010 00000000 fedcba9876543210
2985 0005 0005 01 000000
2986 0006 0010 80000408 5a5a5a5a5a5a5a5a
2987 0007 0009 0102030405 00000000000000
2988 "
2989 ], [0], [dnl
2990 NXT_PACKET_IN2 (xid=0x0): table_id=7 cookie=0xfedcba9876543210 total_len=64 metadata=0x5a5a5a5a5a5a5a5a (via action) data_len=48 buffer=0x00000114
2991 userdata=01.02.03.04.05
2992 ip,dl_vlan=80,dl_vlan_pcp=0,vlan_tci1=0x0000,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=0.0.0.0,nw_dst=0.0.0.0,nw_proto=0,nw_tos=0,nw_ecn=0,nw_ttl=0
2993 ])
2994 AT_CLEANUP
2995
2996 AT_SETUP([NXT_SET_ASYNC_CONFIG])
2997 AT_KEYWORDS([ofp-print])
2998 dnl This message has bit 12 set for the PACKET_IN messages (master and slave).
2999 dnl Those aren't supported bits so they get silently ignored on decoding.
3000 AT_CHECK([ovs-ofctl ofp-print "\
3001 01 04 00 28 00 00 00 00 00 00 23 20 00 00 00 13 \
3002 00 00 10 05 00 00 10 07 00 00 00 03 00 00 00 07 \
3003 00 00 00 00 00 00 00 03 \
3004 "], [0], [dnl
3005 NXT_SET_ASYNC_CONFIG (xid=0x0):
3006 master:
3007 PACKET_IN: no_match invalid_ttl
3008 PORT_STATUS: add delete
3009 FLOW_REMOVED: (off)
3010 ROLE_STATUS: (off)
3011 TABLE_STATUS: (off)
3012 REQUESTFORWARD: (off)
3013
3014 slave:
3015 PACKET_IN: no_match action invalid_ttl
3016 PORT_STATUS: add delete modify
3017 FLOW_REMOVED: idle hard
3018 ROLE_STATUS: (off)
3019 TABLE_STATUS: (off)
3020 REQUESTFORWARD: (off)
3021 ])
3022 AT_CLEANUP
3023
3024 AT_SETUP([OFPT_SET_ASYNC_CONFIG])
3025 AT_KEYWORDS([ofp-print])
3026 AT_CHECK([ovs-ofctl ofp-print "\
3027 05 1c 00 38 00 00 00 02 00 00 00 08 00 00 00 05 \
3028 00 01 00 08 00 00 00 02 00 02 00 08 00 00 00 02 \
3029 00 03 00 08 00 00 00 05 00 04 00 08 00 00 00 1c \
3030 00 05 00 08 00 00 00 05 \
3031 "], [0], [dnl
3032 OFPT_SET_ASYNC (OF1.4) (xid=0x2):
3033 master:
3034 PACKET_IN: action
3035 PORT_STATUS: add modify
3036 FLOW_REMOVED: idle delete
3037 ROLE_STATUS: (off)
3038 TABLE_STATUS: (off)
3039 REQUESTFORWARD: (off)
3040
3041 slave:
3042 PACKET_IN: no_match invalid_ttl
3043 PORT_STATUS: delete
3044 FLOW_REMOVED: delete group_delete meter_delete
3045 ROLE_STATUS: (off)
3046 TABLE_STATUS: (off)
3047 REQUESTFORWARD: (off)
3048 ])
3049 AT_CLEANUP
3050
3051 AT_SETUP([OFPT_SET_ASYNC_CONFIG - invalid mask - OF1.4])
3052 AT_KEYWORDS([ofp-print])
3053 AT_CHECK([ovs-ofctl ofp-print "\
3054 05 1c 00 38 00 00 00 02 00 00 00 08 00 00 00 40 \
3055 00 01 00 08 00 00 00 02 00 02 00 08 00 00 00 02 \
3056 00 03 00 08 00 00 00 05 00 04 00 08 00 00 00 1c \
3057 00 05 00 08 00 00 00 05 \
3058 "], [0], [dnl
3059 OFPT_SET_ASYNC (OF1.4) (xid=0x2): ***decode error: OFPACFC_INVALID***
3060 ], [stderr])
3061 AT_CHECK([sed 's/.*|//' stderr], [0],
3062 [bad value 0x40 for PACKET_IN (allowed mask 0x3f)
3063 ])
3064 AT_CLEANUP
3065
3066 AT_SETUP([OFPT_SET_ASYNC_CONFIG - unsupported configuration - OF1.4])
3067 AT_KEYWORDS([ofp-print])
3068 AT_CHECK([ovs-ofctl ofp-print "\
3069 05 1c 00 38 00 00 00 02 00 00 00 08 00 00 00 05 \
3070 00 11 00 08 00 00 00 02 00 02 00 08 00 00 00 02 \
3071 00 03 00 08 00 00 00 05 00 04 00 08 00 00 00 1c \
3072 00 05 00 08 00 00 00 05\
3073 "], [0], [dnl
3074 OFPT_SET_ASYNC (OF1.4) (xid=0x2): ***decode error: OFPACFC_UNSUPPORTED***
3075 ], [stderr])
3076 AT_CHECK([sed 's/.*|//' stderr], [0],
3077 [unknown async config property type 17
3078 ])
3079 AT_CLEANUP
3080
3081 AT_SETUP([NXT_SET_CONTROLLER_ID])
3082 AT_KEYWORDS([ofp-print])
3083 AT_CHECK([ovs-ofctl ofp-print "\
3084 01 04 00 18 00 00 00 03 00 00 23 20 00 00 00 14 \
3085 00 00 00 00 00 00 00 7b \
3086 "], [0], [dnl
3087 NXT_SET_CONTROLLER_ID (xid=0x3): id=123
3088 ])
3089 AT_CLEANUP
3090
3091 AT_SETUP([NXT_FLOW_MONITOR_CANCEL])
3092 AT_KEYWORDS([ofp-print])
3093 AT_CHECK([ovs-ofctl ofp-print "\
3094 01 04 00 14 00 00 00 03 00 00 23 20 00 00 00 15 \
3095 01 02 30 40 \
3096 "], [0], [dnl
3097 NXT_FLOW_MONITOR_CANCEL (xid=0x3): id=16920640
3098 ])
3099 AT_CLEANUP
3100
3101 AT_SETUP([NXT_FLOW_MONITOR_PAUSED])
3102 AT_KEYWORDS([ofp-print])
3103 AT_CHECK([ovs-ofctl ofp-print "\
3104 01 04 00 10 00 00 00 03 00 00 23 20 00 00 00 16 \
3105 "], [0], [dnl
3106 NXT_FLOW_MONITOR_PAUSED (xid=0x3):
3107 ])
3108 AT_CLEANUP
3109
3110 AT_SETUP([NXT_FLOW_MONITOR_RESUMED])
3111 AT_KEYWORDS([ofp-print])
3112 AT_CHECK([ovs-ofctl ofp-print "\
3113 01 04 00 10 00 00 00 03 00 00 23 20 00 00 00 17 \
3114 "], [0], [dnl
3115 NXT_FLOW_MONITOR_RESUMED (xid=0x3):
3116 ])
3117 AT_CLEANUP
3118
3119 AT_SETUP([NXT_SET_FLOW_FORMAT])
3120 AT_KEYWORDS([ofp-print])
3121 AT_CHECK([ovs-ofctl ofp-print "\
3122 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0c \
3123 00 00 00 02 \
3124 "], [0], [dnl
3125 NXT_SET_FLOW_FORMAT (xid=0x2): format=nxm
3126 ])
3127 AT_CLEANUP
3128
3129 # The flow is formatted with cls_rule_format() for the low-verbosity case.
3130 AT_SETUP([NXT_FLOW_MOD, low verbosity])
3131 AT_KEYWORDS([ofp-print])
3132 AT_CHECK([ovs-ofctl ofp-print "\
3133 01 04 00 60 00 00 00 02 00 00 23 20 00 00 00 0d \
3134 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 \
3135 ff ff ff ff 00 10 00 00 00 14 00 00 00 00 00 00 \
3136 00 01 20 08 00 00 00 00 00 00 01 c8 00 01 00 04 \
3137 00 00 00 7b 00 00 00 00 ff ff 00 18 00 00 23 20 \
3138 00 07 00 1f 00 01 00 04 00 00 00 00 00 00 00 05 \
3139 " 2], [0], [dnl
3140 NXT_FLOW_MOD (xid=0x2): ADD reg0=0x7b,tun_id=0x1c8 out_port:16 actions=load:0x5->NXM_NX_REG0[[]]
3141 ])
3142 AT_CLEANUP
3143
3144 # The flow is formatted with ofp10_match_to_string() for the
3145 # low-verbosity case.
3146 AT_SETUP([NXT_FLOW_MOD, high verbosity])
3147 AT_KEYWORDS([ofp-print])
3148 AT_CHECK([ovs-ofctl ofp-print "\
3149 01 04 00 60 00 00 00 02 00 00 23 20 00 00 00 0d \
3150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 \
3151 ff ff ff ff 01 00 00 00 00 14 00 00 00 00 00 00 \
3152 00 01 20 08 00 00 00 00 00 00 01 c8 00 01 00 04 \
3153 00 00 00 7b 00 00 00 00 ff ff 00 18 00 00 23 20 \
3154 00 07 00 1f 00 01 00 04 00 00 00 00 00 00 00 05 \
3155 " 3], [0], [dnl
3156 NXT_FLOW_MOD (xid=0x2): ADD NXM_NX_TUN_ID(00000000000001c8), NXM_NX_REG0(0000007b) out_port:256 actions=load:0x5->NXM_NX_REG0[[]]
3157 ])
3158 AT_CLEANUP
3159
3160 AT_SETUP([OFPT_GROUP_MOD - OF1.1])
3161 AT_KEYWORDS([ofp-print])
3162 AT_CHECK([ovs-ofctl ofp-print "\
3163 02 0f 00 70 11 22 33 44 00 00 01 00 87 65 43 21 \
3164 00 20 00 64 00 00 00 01 ff ff ff ff 00 00 00 00 \
3165 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \
3166 00 20 00 c8 00 00 00 02 ff ff ff ff 00 00 00 00 \
3167 00 00 00 10 00 00 00 02 00 00 00 00 00 00 00 00 \
3168 00 20 00 c8 00 00 00 03 ff ff ff ff 00 00 00 00 \
3169 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
3170 "], [0], [dnl
3171 OFPT_GROUP_MOD (OF1.1) (xid=0x11223344):
3172 ADD group_id=2271560481,type=select,bucket=weight:100,watch_port:1,actions=output:1,bucket=weight:200,watch_port:2,actions=output:2,bucket=weight:200,watch_port:3,actions=output:3
3173 ])
3174 AT_CLEANUP
3175
3176 AT_SETUP([OFPT_GROUP_MOD add - OF1.5])
3177 AT_KEYWORDS([ofp-print])
3178 AT_CHECK([ovs-ofctl ofp-print "\
3179 06 0f 00 b8 11 22 33 44 00 00 01 00 87 65 43 21 \
3180 00 78 00 00 ff ff ff ff 00 28 00 10 00 00 00 00 \
3181 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \
3182 00 00 00 08 00 64 00 00 00 01 00 08 00 00 00 01 \
3183 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \
3184 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \
3185 00 01 00 08 00 00 00 02 00 28 00 10 00 00 00 02 \
3186 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
3187 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 03 \
3188 ff ff 00 28 00 00 15 40 00 00 00 01 00 00 00 00 \
3189 68 61 73 68 00 00 00 00 00 00 00 00 00 00 00 00 \
3190 00 00 00 00 00 00 00 07 \
3191 "], [0], [dnl
3192 OFPT_GROUP_MOD (OF1.5) (xid=0x11223344):
3193 ADD group_id=2271560481,type=select,selection_method=hash,selection_method_param=7,bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3
3194 ])
3195 AT_CLEANUP
3196
3197 AT_SETUP([OFPT_GROUP_MOD insert bucket - OF1.5])
3198 AT_KEYWORDS([ofp-print])
3199 AT_CHECK([ovs-ofctl ofp-print "\
3200 06 0f 00 90 11 22 33 44 00 03 01 00 87 65 43 21 \
3201 00 78 00 00 ff ff ff fd 00 28 00 10 00 00 00 00 \
3202 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \
3203 00 00 00 08 00 64 00 00 00 01 00 08 00 00 00 01 \
3204 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \
3205 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \
3206 00 01 00 08 00 00 00 02 00 28 00 10 00 00 00 02 \
3207 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
3208 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 03 \
3209 "], [0], [dnl
3210 OFPT_GROUP_MOD (OF1.5) (xid=0x11223344):
3211 INSERT_BUCKET command_bucket_id:first,group_id=2271560481,bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3
3212 ])
3213 AT_CLEANUP
3214
3215 AT_SETUP([NXT_FLOW_REMOVED])
3216 AT_KEYWORDS([ofp-print])
3217 AT_CHECK([ovs-ofctl ofp-print "\
3218 01 04 00 78 00 00 00 00 00 00 23 20 00 00 00 0e \
3219 00 00 00 00 00 00 00 00 ff ff 00 02 00 00 00 06 \
3220 01 6e 36 00 00 05 00 3c 00 00 00 00 00 00 00 01 \
3221 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
3222 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
3223 00 05 00 00 06 02 08 06 00 00 08 02 00 00 00 00 \
3224 1e 02 00 02 00 00 20 04 c0 a8 00 01 00 00 22 04 \
3225 c0 a8 00 02 00 00 00 00 \
3226 "], [0], [dnl
3227 NXT_FLOW_REMOVED (xid=0x0): priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,arp_spa=192.168.0.1,arp_tpa=192.168.0.2,arp_op=2 reason=idle table_id=1 duration6.024s idle5 pkts1 bytes60
3228 ])
3229 AT_CLEANUP
3230
3231 AT_SETUP([NXT_FLOW_MOD_TABLE_ID])
3232 AT_KEYWORDS([ofp-print])
3233 AT_CHECK([ovs-ofctl ofp-print "\
3234 01 04 00 18 01 02 03 04 00 00 23 20 00 00 00 0f \
3235 01 00 00 00 00 00 00 00 \
3236 "], [0], [dnl
3237 NXT_FLOW_MOD_TABLE_ID (xid=0x1020304): enable
3238 ])
3239 AT_CLEANUP
3240
3241 AT_SETUP([NXT_RESUME])
3242 AT_KEYWORDS([ofp-print])
3243 AT_CHECK([ovs-ofctl ofp-print "\
3244 01 04 0038 01020304 00002320 0000001c \
3245 0000 0012 ffffffffffff 102030405060 1234 000000000000 \
3246 0006 000a 00000002 fffd 000000000000
3247 "], [0], [dnl
3248 NXT_RESUME (xid=0x1020304): total_len=14 in_port=CONTROLLER (via no_match) data_len=14 (unbuffered)
3249 vlan_tci=0x0000,dl_src=10:20:30:40:50:60,dl_dst=ff:ff:ff:ff:ff:ff,dl_type=0x1234
3250 ])
3251 AT_CLEANUP
3252
3253 AT_SETUP([NXST_FLOW request])
3254 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
3255 AT_CHECK([ovs-ofctl ofp-print "\
3256 01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 \
3257 00 00 00 00 00 00 00 00 ff ff 00 00 ff 00 00 00 \
3258 "], [0], [dnl
3259 NXST_FLOW request (xid=0x4): @&t@
3260 ])
3261 AT_CLEANUP
3262
3263 AT_SETUP([NXST_FLOW reply])
3264 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
3265 AT_CHECK([ovs-ofctl ofp-print "\
3266 01 11 08 18 00 00 00 04 ff ff 00 00 00 00 23 20 \
3267 00 00 00 00 00 00 00 00 00 88 00 00 00 00 00 01 \
3268 02 dc 6c 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
3269 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
3270 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
3271 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
3272 00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
3273 0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \
3274 a8 00 02 00 00 0c 01 06 00 00 12 02 09 e7 00 00 \
3275 14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \
3276 00 88 00 00 00 00 00 03 32 11 62 00 ff ff 00 05 \
3277 00 00 00 4c 00 03 00 00 00 00 00 00 00 00 00 00 \
3278 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
3279 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
3280 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
3281 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
3282 a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
3283 00 00 12 02 09 e4 00 00 14 02 00 00 00 00 00 00 \
3284 00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 02 \
3285 33 f9 aa 00 ff ff 00 05 00 00 00 4c 00 05 00 00 \
3286 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
3287 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
3288 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
3289 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
3290 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
3291 a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
3292 14 02 09 e5 00 00 00 00 00 00 00 08 00 03 00 00 \
3293 00 88 00 00 00 00 00 04 2d 0f a5 00 ff ff 00 05 \
3294 00 00 00 4c 00 01 00 00 00 00 00 00 00 00 00 00 \
3295 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
3296 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
3297 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
3298 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
3299 a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
3300 00 00 12 02 09 e3 00 00 14 02 00 00 00 00 00 00 \
3301 00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 02 \
3302 34 73 bc 00 ff ff 00 05 00 0a 00 4c 00 03 00 03 \
3303 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
3304 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
3305 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
3306 00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
3307 0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \
3308 a8 00 02 00 00 0c 01 06 00 00 12 02 09 e5 00 00 \
3309 14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \
3310 00 88 00 00 00 00 00 05 28 0d e8 00 ff ff 00 05 \
3311 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
3312 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
3313 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
3314 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
3315 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
3316 a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
3317 00 00 12 02 09 e2 00 00 14 02 00 00 00 00 00 00 \
3318 00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 01 \
3319 02 62 5a 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
3320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
3321 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
3322 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
3323 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
3324 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
3325 a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
3326 14 02 09 e7 00 00 00 00 00 00 00 08 00 03 00 00 \
3327 00 88 00 00 00 00 00 01 38 be 5e 00 ff ff 00 05 \
3328 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
3329 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
3330 00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \
3331 00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \
3332 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
3333 a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \
3334 00 00 12 02 00 00 00 00 14 02 09 e6 00 00 00 00 \
3335 00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 04 \
3336 27 d0 df 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
3337 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
3338 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
3339 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
3340 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
3341 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
3342 a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
3343 14 02 09 e3 00 00 00 00 00 00 00 08 00 03 00 00 \
3344 00 88 00 00 00 00 00 03 2c d2 9c 00 ff ff 00 05 \
3345 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
3346 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
3347 00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \
3348 00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \
3349 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
3350 a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \
3351 00 00 12 02 00 00 00 00 14 02 09 e4 00 00 00 00 \
3352 00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 00 \
3353 0a 40 83 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
3354 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
3355 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
3356 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
3357 00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
3358 0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \
3359 a8 00 02 00 00 0c 01 06 00 00 12 02 09 e8 00 00 \
3360 14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \
3361 00 88 00 00 00 00 00 05 25 31 7c 00 ff ff 00 05 \
3362 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
3363 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
3364 00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \
3365 00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \
3366 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
3367 a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \
3368 00 00 12 02 00 00 00 00 14 02 09 e2 00 00 00 00 \
3369 00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 00 \
3370 04 c4 b4 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
3371 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
3372 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
3373 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
3374 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
3375 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
3376 a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
3377 14 02 09 e8 00 00 00 00 00 00 00 08 00 03 00 00 \
3378 00 88 00 00 00 00 00 01 39 38 70 00 ff ff 00 05 \
3379 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
3380 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
3381 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
3382 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
3383 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
3384 a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
3385 00 00 12 02 09 e6 00 00 14 02 00 00 00 00 00 00 \
3386 00 00 00 08 00 01 00 00 00 60 00 00 00 00 00 e4 \
3387 2e 7d db 00 80 00 00 00 00 00 00 14 00 00 00 00 \
3388 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
3389 00 00 00 00 00 00 00 00 00 01 20 08 00 00 00 00 \
3390 00 00 01 c8 00 01 00 04 00 00 00 7b 00 00 00 00 \
3391 ff ff 00 18 00 00 23 20 00 07 00 1f 00 01 00 04 \
3392 00 00 00 00 00 00 00 05 \
3393 00 30 01 00 00 00 0e 10 00 07 a1 20 80 00 00 00 \
3394 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
3395 00 00 00 00 00 00 00 64 00 00 00 00 00 00 19 00 \
3396 "], [0],
3397 [[NXST_FLOW reply (xid=0x4):
3398 cookie=0x0, duration=1.048s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2535,tp_dst=0 actions=output:1
3399 cookie=0x0, duration=3.840s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, idle_age=2, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2532,tp_dst=0 actions=output:1
3400 cookie=0x0, duration=2.872s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, idle_age=4, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2533 actions=output:3
3401 cookie=0x0, duration=4.756s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, idle_age=0, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2531,tp_dst=0 actions=output:1
3402 cookie=0x0, duration=2.880s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, hard_timeout=10, idle_age=2, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2533,tp_dst=0 actions=output:1
3403 cookie=0x0, duration=5.672s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2530,tp_dst=0 actions=output:1
3404 cookie=0x0, duration=1.040s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2535 actions=output:3
3405 cookie=0x0, duration=1.952s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2534 actions=output:3
3406 cookie=0x0, duration=4.668s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2531 actions=output:3
3407 cookie=0x0, duration=3.752s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2532 actions=output:3
3408 cookie=0x0, duration=0.172s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2536,tp_dst=0 actions=output:1
3409 cookie=0x0, duration=5.624s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2530 actions=output:3
3410 cookie=0x0, duration=0.080s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2536 actions=output:3
3411 cookie=0x0, duration=1.960s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2534,tp_dst=0 actions=output:1
3412 cookie=0x0, duration=228.780s, table=0, n_packets=0, n_bytes=0, reg0=0x7b,tun_id=0x1c8 actions=load:0x5->NXM_NX_REG0[]
3413 cookie=0x0, duration=3600.0005s, table=1, n_packets=100, n_bytes=6400, actions=drop
3414 ]])
3415 AT_CLEANUP
3416
3417 AT_SETUP([NXST_AGGREGATE request])
3418 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
3419 AT_CHECK([ovs-ofctl ofp-print "\
3420 01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 \
3421 00 00 00 01 00 00 00 00 ff ff 00 00 ff 00 00 00 \
3422 "], [0], [dnl
3423 NXST_AGGREGATE request (xid=0x4): @&t@
3424 ])
3425 AT_CLEANUP
3426
3427 AT_SETUP([NXST_AGGREGATE reply])
3428 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
3429 AT_CHECK([ovs-ofctl ofp-print "\
3430 01 11 00 30 00 00 00 04 ff ff 00 00 00 00 23 20 \
3431 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 07 \
3432 00 00 00 00 00 00 01 a4 00 00 00 07 00 00 00 00 \
3433 "], [0], [dnl
3434 NXST_AGGREGATE reply (xid=0x4): packet_count=7 byte_count=420 flow_count=7
3435 ])
3436 AT_CLEANUP
3437
3438 AT_SETUP([NXST_FLOW_MONITOR request])
3439 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
3440 AT_CHECK([ovs-ofctl ofp-print "\
3441 01 10 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 02 00 00 00 00 \
3442 00 00 40 00 00 3f ff fe 00 00 01 00 00 00 00 00 \
3443 00 00 20 00 00 04 ff ff 00 06 02 00 00 00 00 00 00 00 00 02 00 01 00 00 \
3444 "], [0], [dnl
3445 NXST_FLOW_MONITOR request (xid=0x4):
3446 id=16384 flags=initial,add,delete,modify,actions,own out_port=LOCAL table=1
3447 id=8192 flags=delete table=2 in_port=1
3448 ])
3449 AT_CLEANUP
3450
3451 AT_SETUP([NXST_FLOW_MONITOR reply])
3452 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
3453 AT_CHECK([ovs-ofctl ofp-print "\
3454 01 11 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 02 00 00 00 00 \
3455 00 20 00 01 00 05 80 00 00 05 00 10 00 06 01 00 12 34 56 78 9a bc de f0 \
3456 00 00 00 02 00 01 00 00 \
3457 00 08 00 03 00 01 86 a0 \
3458 "], [0], [dnl
3459 NXST_FLOW_MONITOR reply (xid=0x4):
3460 event=DELETED reason=eviction table=1 idle_timeout=5 hard_timeout=16 cookie=0x123456789abcdef0 in_port=1
3461 event=ABBREV xid=0x186a0
3462 ])
3463 AT_CLEANUP
3464
3465
3466 AT_SETUP([OFPT_BUNDLE_CONTROL - atomic OPEN_REQUEST])
3467 AT_KEYWORDS([ofp-print bundle])
3468 AT_CHECK([ovs-ofctl ofp-print "\
3469 05 21 00 10 00 00 00 00 \
3470 00 00 00 01 00 00 00 01 \
3471 "], [0], [dnl
3472 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3473 bundle_id=0x1 type=OPEN_REQUEST flags=atomic
3474 ])
3475 AT_CLEANUP
3476
3477 AT_SETUP([OFPT_BUNDLE_CONTROL - ordered OPEN_REQUEST])
3478 AT_KEYWORDS([ofp-print bundle])
3479 AT_CHECK([ovs-ofctl ofp-print "\
3480 05 21 00 10 00 00 00 00 \
3481 00 00 00 01 00 00 00 02 \
3482 "], [0], [dnl
3483 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3484 bundle_id=0x1 type=OPEN_REQUEST flags=ordered
3485 ])
3486 AT_CLEANUP
3487
3488 AT_SETUP([OFPT_BUNDLE_CONTROL - atomic ordered OPEN_REQUEST])
3489 AT_KEYWORDS([ofp-print bundle])
3490 AT_CHECK([ovs-ofctl ofp-print "\
3491 05 21 00 10 00 00 00 00 \
3492 00 00 00 01 00 00 00 03 \
3493 "], [0], [dnl
3494 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3495 bundle_id=0x1 type=OPEN_REQUEST flags=atomic ordered
3496 ])
3497 AT_CLEANUP
3498
3499 AT_SETUP([OFPT_BUNDLE_CONTROL - OPEN_REPLY])
3500 AT_KEYWORDS([ofp-print bundle])
3501 AT_CHECK([ovs-ofctl ofp-print "\
3502 05 21 00 10 00 00 00 00 \
3503 00 00 00 01 00 01 00 01 \
3504 "], [0], [dnl
3505 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3506 bundle_id=0x1 type=OPEN_REPLY flags=atomic
3507 ])
3508 AT_CLEANUP
3509
3510 AT_SETUP([OFPT_BUNDLE_CONTROL - CLOSE_REQUEST])
3511 AT_KEYWORDS([ofp-print bundle])
3512 AT_CHECK([ovs-ofctl ofp-print "\
3513 05 21 00 10 00 00 00 00 \
3514 00 00 00 01 00 02 00 01 \
3515 "], [0], [dnl
3516 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3517 bundle_id=0x1 type=CLOSE_REQUEST flags=atomic
3518 ])
3519 AT_CLEANUP
3520
3521 AT_SETUP([OFPT_BUNDLE_CONTROL - CLOSE_REPLY])
3522 AT_KEYWORDS([ofp-print bundle])
3523 AT_CHECK([ovs-ofctl ofp-print "\
3524 05 21 00 10 00 00 00 00 \
3525 00 00 00 01 00 03 00 01 \
3526 "], [0], [dnl
3527 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3528 bundle_id=0x1 type=CLOSE_REPLY flags=atomic
3529 ])
3530 AT_CLEANUP
3531
3532 AT_SETUP([OFPT_BUNDLE_CONTROL - COMMIT_REQUEST])
3533 AT_KEYWORDS([ofp-print bundle])
3534 AT_CHECK([ovs-ofctl ofp-print "\
3535 05 21 00 10 00 00 00 00 \
3536 00 00 00 01 00 04 00 01 \
3537 "], [0], [dnl
3538 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3539 bundle_id=0x1 type=COMMIT_REQUEST flags=atomic
3540 ])
3541 AT_CLEANUP
3542
3543 AT_SETUP([OFPT_BUNDLE_CONTROL - COMMIT_REPLY])
3544 AT_KEYWORDS([ofp-print bundle])
3545 AT_CHECK([ovs-ofctl ofp-print "\
3546 05 21 00 10 00 00 00 00 \
3547 00 00 00 01 00 05 00 01 \
3548 "], [0], [dnl
3549 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3550 bundle_id=0x1 type=COMMIT_REPLY flags=atomic
3551 ])
3552 AT_CLEANUP
3553
3554 AT_SETUP([OFPT_BUNDLE_CONTROL - DISCARD_REQUEST])
3555 AT_KEYWORDS([ofp-print bundle])
3556 AT_CHECK([ovs-ofctl ofp-print "\
3557 05 21 00 10 00 00 00 00 \
3558 00 00 00 01 00 06 00 01 \
3559 "], [0], [dnl
3560 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3561 bundle_id=0x1 type=DISCARD_REQUEST flags=atomic
3562 ])
3563 AT_CLEANUP
3564
3565 AT_SETUP([OFPT_BUNDLE_CONTROL - DISCARD_REPLY])
3566 AT_KEYWORDS([ofp-print bundle])
3567 AT_CHECK([ovs-ofctl ofp-print "\
3568 05 21 00 10 00 00 00 00 \
3569 00 00 00 01 00 07 00 01 \
3570 "], [0], [dnl
3571 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3572 bundle_id=0x1 type=DISCARD_REPLY flags=atomic
3573 ])
3574 AT_CLEANUP
3575
3576 AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - verify xid])
3577 AT_KEYWORDS([ofp-print bundle])
3578 AT_CHECK([ovs-ofctl ofp-print "\
3579 05 22 00 20 00 00 00 00 00 00 00 01 00 00 00 01 \
3580 05 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 \
3581 "], [0], [dnl
3582 OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x0): ***decode error: OFPBFC_MSG_BAD_XID***
3583 ])
3584 AT_CLEANUP
3585
3586 AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - reject OFPT_HELLO])
3587 AT_KEYWORDS([ofp-print bundle])
3588 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
3589 05 22 00 20 00 00 00 00 00 00 00 01 00 00 00 01 \
3590 05 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 \
3591 "], [0], [dnl
3592 OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x0): ***decode error: OFPBFC_MSG_UNSUP***
3593 ], [dnl
3594 ofp_util|WARN|OFPT_HELLO message not allowed inside OFPT14_BUNDLE_ADD_MESSAGE
3595 ])
3596 AT_CLEANUP
3597
3598 AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - FLOW_MOD])
3599 AT_KEYWORDS([ofp-print bundle])
3600 AT_CHECK([ovs-ofctl ofp-print "\
3601 05 22 00 a0 00 00 00 02 00 00 00 01 00 00 00 01 \
3602 05 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \
3603 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \
3604 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
3605 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \
3606 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \
3607 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \
3608 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \
3609 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
3610 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
3611 "], [0], [dnl
3612 OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x2):
3613 bundle_id=0x1 flags=atomic
3614 OFPT_FLOW_MOD (OF1.4) (xid=0x2): ADD table:1 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 actions=output:3
3615 ])
3616 AT_CLEANUP
3617
3618 AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - PORT_MOD])
3619 AT_KEYWORDS([ofp-print bundle])
3620 AT_CHECK([ovs-ofctl ofp-print "\
3621 05 22 00 38 00 00 00 03 00 00 00 01 00 00 00 01 \
3622 05 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
3623 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
3624 00 00 00 08 00 00 00 01
3625 "], [0], [dnl
3626 OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x3):
3627 bundle_id=0x1 flags=atomic
3628 OFPT_PORT_MOD (OF1.4) (xid=0x3): port: 3: addr:50:54:00:00:00:01
3629 config: PORT_DOWN
3630 mask: PORT_DOWN
3631 advertise: 10MB-HD
3632 ])
3633 AT_CLEANUP
3634
3635 AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - GROUP_MOD])
3636 AT_KEYWORDS([ofp-print bundle])
3637 AT_CHECK([ovs-ofctl ofp-print "\
3638 06 22 00 c8 00 00 00 03 00 00 00 01 00 00 00 01 \
3639 06 0f 00 b8 00 00 00 03 00 00 01 00 87 65 43 21 \
3640 00 78 00 00 ff ff ff ff 00 28 00 10 00 00 00 00 \
3641 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \
3642 00 00 00 08 00 64 00 00 00 01 00 08 00 00 00 01 \
3643 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \
3644 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \
3645 00 01 00 08 00 00 00 02 00 28 00 10 00 00 00 02 \
3646 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
3647 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 03 \
3648 ff ff 00 28 00 00 15 40 00 00 00 01 00 00 00 00 \
3649 68 61 73 68 00 00 00 00 00 00 00 00 00 00 00 00 \
3650 00 00 00 00 00 00 00 07 \
3651 "], [0], [dnl
3652 OFPT_BUNDLE_ADD_MESSAGE (OF1.5) (xid=0x3):
3653 bundle_id=0x1 flags=atomic
3654 OFPT_GROUP_MOD (OF1.5) (xid=0x3):
3655 ADD group_id=2271560481,type=select,selection_method=hash,selection_method_param=7,bucket=bucket_id:0,weight:100,watch_port:1,actions=output:1,bucket=bucket_id:1,weight:200,watch_port:2,actions=output:2,bucket=bucket_id:2,weight:200,watch_port:3,actions=output:3
3656 ])
3657 AT_CLEANUP
3658
3659 AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - PACKET_OUT])
3660 AT_KEYWORDS([ofp-print bundle packet-out])
3661 AT_CHECK([ovs-ofctl ofp-print "\
3662 05 22 00 74 00 00 00 03 00 00 00 01 00 00 00 01 \
3663 05 0d 00 64 00 00 00 03 ff ff ff ff ff ff ff fe \
3664 00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \
3665 05 dc 00 00 00 00 00 00 50 54 00 00 00 05 50 54 \
3666 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
3667 b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
3668 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
3669 00 00 00 00 \
3670 "], [0], [dnl
3671 OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x3):
3672 bundle_id=0x1 flags=atomic
3673 OFPT_PACKET_OUT (OF1.4) (xid=0x3): in_port=LOCAL actions=FLOOD data_len=60
3674 tcp,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=0,tp_dst=11104,tcp_flags=rst|ack tcp_csum:6d75
3675 ])
3676 AT_CLEANUP
3677
3678 AT_SETUP([NXST_IPFIX_BRIDGE - request])
3679 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
3680 AT_CHECK([ovs-ofctl ofp-print "\
3681 01 10 00 18 00 00 00 02 \
3682 ff ff 00 00 00 00 23 20 00 00 00 03 00 00 00 00 \
3683 "], [0], [dnl
3684 NXST_IPFIX_BRIDGE request (xid=0x2):
3685 ])
3686 AT_CLEANUP
3687
3688 AT_SETUP([NXST_IPFIX_BRIDGE - reply])
3689 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
3690 AT_CHECK([ovs-ofctl ofp-print "\
3691 01 11 00 70 00 00 00 02 \
3692 ff ff 00 00 00 00 23 20 00 00 00 03 00 00 00 00\
3693 00 00 00 00 00 00 00 01 \
3694 00 00 00 00 00 00 00 10 \
3695 00 00 00 00 00 00 00 78 \
3696 00 00 00 00 00 00 00 f0 \
3697 00 00 00 00 00 00 00 00 \
3698 00 00 00 00 00 00 00 a0 \
3699 00 00 00 00 00 00 00 02 \
3700 00 00 00 00 00 00 00 03 \
3701 00 00 00 00 00 00 00 04 \
3702 00 00 00 00 00 00 00 05 \
3703 00 00 00 00 00 00 00 00 \
3704 "], [0], [dnl
3705 NXST_IPFIX_BRIDGE reply (xid=0x2):
3706 bridge ipfix: flows=1, current flows=16, sampled pkts=120, ipv4 ok=240, ipv6 ok=0, tx pkts=4
3707 pkts errs=160, ipv4 errs=2, ipv6 errs=3, tx errs=5
3708 ])
3709 AT_CLEANUP
3710
3711 AT_SETUP([NXST_IPFIX_FLOW - request])
3712 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
3713 AT_CHECK([ovs-ofctl ofp-print "\
3714 01 10 00 18 00 00 00 02 \
3715 ff ff 00 00 00 00 23 20 00 00 00 04 00 00 00 00 \
3716 "], [0], [dnl
3717 NXST_IPFIX_FLOW request (xid=0x2):
3718 ])
3719 AT_CLEANUP
3720
3721 AT_SETUP([NXST_IPFIX_FLOW - reply])
3722 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
3723 AT_CHECK([ovs-ofctl ofp-print "\
3724 01 11 00 C8 00 00 00 02 \
3725 ff ff 00 00 00 00 23 20 00 00 00 04 00 00 00 00\
3726 00 00 00 00 00 00 00 01 \
3727 00 00 00 00 00 00 00 10 \
3728 00 00 00 00 00 00 00 78 \
3729 00 00 00 00 00 00 00 f0 \
3730 00 00 00 00 00 00 00 00 \
3731 00 00 00 00 00 00 00 a0 \
3732 00 00 00 10 00 00 00 02 \
3733 00 00 00 00 00 00 00 03 \
3734 00 00 00 00 00 00 00 04 \
3735 00 00 00 00 00 00 00 05 \
3736 00 00 00 01 00 00 00 00 \
3737 00 00 00 00 00 00 00 01 \
3738 00 00 00 00 00 00 00 10 \
3739 00 00 00 00 00 00 00 78 \
3740 00 00 00 00 00 00 00 f0 \
3741 00 00 00 00 00 00 00 00 \
3742 00 00 00 00 00 00 00 a0 \
3743 00 00 00 10 00 00 00 02 \
3744 00 00 00 00 00 00 00 03 \
3745 00 00 00 00 00 00 00 04 \
3746 00 00 00 00 00 00 00 05 \
3747 00 00 00 02 00 00 00 00 \
3748 "], [0], [dnl
3749 NXST_IPFIX_FLOW reply (xid=0x2): 2 ids
3750 id 1: flows=1, current flows=16, sampled pkts=120, ipv4 ok=240, ipv6 ok=0, tx pkts=4
3751 pkts errs=160, ipv4 errs=68719476738, ipv6 errs=3, tx errs=5
3752 id 2: flows=1, current flows=16, sampled pkts=120, ipv4 ok=240, ipv6 ok=0, tx pkts=4
3753 pkts errs=160, ipv4 errs=68719476738, ipv6 errs=3, tx errs=5
3754 ])
3755 AT_CLEANUP
3756
3757 AT_SETUP([NXT_CT_FLUSH_ZONE])
3758 AT_KEYWORDS([ofp-print])
3759 AT_CHECK([ovs-ofctl ofp-print "\
3760 01 04 00 18 00 00 00 03 00 00 23 20 00 00 00 1d \
3761 00 00 00 00 00 00 00 0d \
3762 "], [0], [dnl
3763 NXT_CT_FLUSH_ZONE (xid=0x3): zone_id=13
3764 ])
3765 AT_CLEANUP