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