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