ofp-util.c: Enable packet-in messages for OpenFlow 1.4 and 1.5.
[cascardo/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 - with auxiliary_id - OF1.3])
407 AT_KEYWORDS([ofp-print])
408 AT_CHECK([ovs-ofctl ofp-print "\
409 04 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \
410 00 00 01 00 ff 01 00 00 00 00 01 77 00 00 00 00 \
411 "], [0], [dnl
412 OFPT_FEATURES_REPLY (OF1.3) (xid=0x1): dpid:0000505400000001
413 n_tables:255, n_buffers:256, auxiliary_id:1
414 capabilities: FLOW_STATS TABLE_STATS PORT_STATS IP_REASM QUEUE_STATS PORT_BLOCKED
415 ])
416 AT_CLEANUP
417
418 AT_SETUP([OFPT_GET_CONFIG_REQUEST])
419 AT_KEYWORDS([ofp-print])
420 AT_CHECK([ovs-ofctl ofp-print '0107000800000001'], [0], [dnl
421 OFPT_GET_CONFIG_REQUEST (xid=0x1):
422 ])
423 AT_CLEANUP
424
425 AT_SETUP([OFPT_GET_CONFIG_REPLY, most common form])
426 AT_KEYWORDS([ofp-print])
427 AT_CHECK([ovs-ofctl ofp-print '01 08 00 0c 00 00 00 03 00 00 00 00'], [0], [dnl
428 OFPT_GET_CONFIG_REPLY (xid=0x3): frags=normal miss_send_len=0
429 ])
430 AT_CLEANUP
431
432
433 AT_SETUP([OFPT_GET_CONFIG_REPLY, frags and miss_send_len])
434 AT_KEYWORDS([ofp-print])
435 AT_CHECK([ovs-ofctl ofp-print '01 08 00 0c 00 00 00 03 00 02 00 ff'], [0], [dnl
436 OFPT_GET_CONFIG_REPLY (xid=0x3): frags=reassemble miss_send_len=255
437 ])
438 AT_CLEANUP
439
440 AT_SETUP([OFPT_PACKET_IN - OF1.0])
441 AT_KEYWORDS([ofp-print])
442 AT_CHECK([ovs-ofctl ofp-print "\
443 01 0a 00 4e 00 00 00 00 00 00 01 11 00 3c 00 03 \
444 00 00 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \
445 45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \
446 c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \
447 50 02 02 00 26 e8 00 00 00 00 00 00 00 00 \
448 "], [0], [dnl
449 OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111
450 tcp,in_port=0,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
451 ])
452 AT_CLEANUP
453
454 AT_SETUP([OFPT_PACKET_IN - OF1.0, with hex output of packet data])
455 AT_KEYWORDS([ofp-print])
456 AT_CHECK([ovs-ofctl ofp-print "\
457 01 0a 00 4e 00 00 00 00 00 00 01 11 00 3c 00 03 \
458 00 00 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \
459 45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \
460 c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \
461 50 10 02 00 26 e8 00 00 00 00 00 00 00 00 \
462 " 3], [0], [dnl
463 OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111
464 tcp,in_port=0,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
465 00000000  50 54 00 00 00 06 50 54-00 00 00 05 08 00 45 00
466 00000010  00 28 bd 12 00 00 40 06-3c 6a c0 a8 00 01 c0 a8
467 00000020  00 02 27 2f 00 00 78 50-cc 5b 57 af 42 1e 50 10
468 00000030  02 00 26 e8 00 00 00 00-00 00 00 00
469 ])
470 AT_CLEANUP
471
472 AT_SETUP([OFPT_PACKET_IN - OF1.1])
473 AT_KEYWORDS([ofp-print])
474 AT_CHECK([ovs-ofctl ofp-print "\
475 02 0a 00 54 00 00 00 00 00 00 01 11 00 00 00 03 \
476 00 00 00 03 00 3c 00 00 \
477 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \
478 45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \
479 c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \
480 50 02 02 00 26 e8 00 00 00 00 00 00 00 00 \
481 "], [0], [dnl
482 OFPT_PACKET_IN (OF1.1) (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111
483 tcp,in_port=0,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
484 ])
485 AT_CLEANUP
486
487 AT_SETUP([OFPT_PACKET_IN - OF1.2])
488 AT_KEYWORDS([ofp-print])
489 AT_CHECK([ovs-ofctl ofp-print "\
490 03 0a 00 4c 00 00 00 00 ff ff ff 00 00 2a 00 00 \
491 00 01 00 0c 80 00 00 04 ff ff ff fe 00 00 00 00 \
492 00 00 ff ff ff ff ff ff 00 23 20 83 c1 5f 80 35 \
493 00 01 08 00 06 04 00 01 00 23 20 83 c1 5f 00 00 \
494 00 00 00 23 20 83 c1 5f 00 00 00 00 \
495 "], [0], [dnl
496 OFPT_PACKET_IN (OF1.2) (xid=0x0): total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
497 rarp,in_port=0,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
498 ])
499 AT_CLEANUP
500
501 AT_SETUP([OFPT_PACKET_IN - OF1.2, with hex output of packet data])
502 AT_KEYWORDS([ofp-print])
503 AT_CHECK([ovs-ofctl ofp-print "\
504 03 0a 00 4c 00 00 00 00 ff ff ff 00 00 2a 00 00 \
505 00 01 00 0c 80 00 00 04 ff ff ff fe 00 00 00 00 \
506 00 00 ff ff ff ff ff ff 00 23 20 83 c1 5f 80 35 \
507 00 01 08 00 06 04 00 03 00 23 20 83 c1 5f 00 00 \
508 00 00 00 23 20 83 c1 5f 00 00 00 00 \
509 " 3], [0], [dnl
510 OFPT_PACKET_IN (OF1.2) (xid=0x0): total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
511 rarp,in_port=0,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
512 00000000  ff ff ff ff ff ff 00 23-20 83 c1 5f 80 35 00 01
513 00000010  08 00 06 04 00 03 00 23-20 83 c1 5f 00 00 00 00
514 00000020  00 23 20 83 c1 5f 00 00-00 00
515 ])
516 AT_CLEANUP
517
518 AT_SETUP([OFPT_PACKET_IN - OF1.3])
519 AT_KEYWORDS([ofp-print])
520 AT_CHECK([ovs-ofctl ofp-print "\
521 04 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \
522 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \
523 ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \
524 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \
525 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \
526 00 00 00 00 \
527 "], [0], [dnl
528 OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
529 rarp,in_port=0,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
530 ])
531 AT_CLEANUP
532
533 AT_SETUP([OFPT_PACKET_IN - OF1.4])
534 AT_KEYWORDS([ofp-print])
535 AT_CHECK([ovs-ofctl ofp-print "\
536 05 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \
537 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \
538 ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \
539 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \
540 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \
541 00 00 00 00 \
542 "], [0], [dnl
543 OFPT_PACKET_IN (OF1.4) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
544 rarp,in_port=0,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
545 ])
546 AT_CLEANUP
547
548 AT_SETUP([OFPT_PACKET_IN - OF1.5])
549 AT_KEYWORDS([ofp-print])
550 AT_CHECK([ovs-ofctl ofp-print "\
551 06 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \
552 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \
553 ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \
554 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \
555 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \
556 00 00 00 00 \
557 "], [0], [dnl
558 OFPT_PACKET_IN (OF1.5) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
559 rarp,in_port=0,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
560 ])
561 AT_CLEANUP
562
563 AT_SETUP([OFPT_PACKET_IN - OF1.3, with hex output of packet data])
564 AT_KEYWORDS([ofp-print])
565 AT_CHECK([ovs-ofctl ofp-print "\
566 04 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \
567 01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \
568 ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \
569 00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \
570 00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \
571 00 00 00 00 \
572 " 3], [0], [dnl
573 OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
574 rarp,in_port=0,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
575 00000000  ff ff ff ff ff ff 00 23-20 83 c1 5f 80 35 00 01
576 00000010  08 00 06 04 00 03 00 23-20 83 c1 5f 00 00 00 00
577 00000020  00 23 20 83 c1 5f 00 00-00 00
578 ])
579 AT_CLEANUP
580
581 AT_SETUP([OFPT_FLOW_REMOVED - OF1.0])
582 AT_KEYWORDS([ofp-print])
583 AT_CHECK([ovs-ofctl ofp-print "\
584 01 0b 00 58 00 00 00 00 00 00 00 00 00 03 50 54 \
585 00 00 00 05 50 54 00 00 00 06 ff ff 00 00 08 06 \
586 00 02 00 00 c0 a8 00 01 c0 a8 00 02 00 00 00 00 \
587 00 00 00 00 00 00 00 00 ff ff 00 00 00 00 00 05 \
588 30 e0 35 00 00 05 00 00 00 00 00 00 00 00 00 01 \
589 00 00 00 00 00 00 00 3c \
590 "], [0], [dnl
591 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
592 ])
593 AT_CLEANUP
594
595 AT_SETUP([OFPT_FLOW_REMOVED - OF1.2])
596 AT_KEYWORDS([ofp-print])
597 AT_CHECK([ovs-ofctl ofp-print "\
598 03 0b 00 40 00 00 00 00 fe dc ba 98 76 54 32 10 \
599 80 00 01 05 00 00 00 01 00 98 96 80 00 3c 00 78 \
600 00 00 00 00 00 12 d6 87 00 00 00 00 6f 68 ba 66 \
601 00 01 00 0a 80 00 0c 02 10 09 00 00 00 00 00 00"], [0], [dnl
602 OFPT_FLOW_REMOVED (OF1.2) (xid=0x0): dl_vlan=9 reason=hard table_id=5 cookie:0xfedcba9876543210 duration1.010s idle60 hard120 pkts1234567 bytes1869134438
603 ])
604 AT_CLEANUP
605
606 AT_SETUP([OFPT_FLOW_REMOVED - OF1.3])
607 AT_KEYWORDS([ofp-print])
608 AT_CHECK([ovs-ofctl ofp-print "\
609 04 0b 00 40 00 00 00 00 fe dc ba 98 76 54 32 10 \
610 80 00 01 05 00 00 00 01 00 98 96 80 00 3c 00 78 \
611 00 00 00 00 00 12 d6 87 00 00 00 00 6f 68 ba 66 \
612 00 01 00 0a 80 00 0c 02 10 09 00 00 00 00 00 00"], [0], [dnl
613 OFPT_FLOW_REMOVED (OF1.3) (xid=0x0): dl_vlan=9 reason=hard table_id=5 cookie:0xfedcba9876543210 duration1.010s idle60 hard120 pkts1234567 bytes1869134438
614 ])
615 AT_CLEANUP
616
617 AT_SETUP([OFPT_PORT_STATUS - OF1.0])
618 AT_KEYWORDS([ofp-print])
619 AT_CHECK([ovs-ofctl ofp-print "\
620 01 0c 00 40 00 00 00 00 02 00 00 00 00 00 00 00 \
621 00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \
622 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \
623 00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
624 "], [0], [dnl
625 OFPT_PORT_STATUS (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
626      config:     PORT_DOWN
627      state:      LINK_DOWN
628      current:    100MB-FD AUTO_NEG
629      advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
630      supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
631      speed: 100 Mbps now, 100 Mbps max
632 ])
633 AT_CLEANUP
634
635 AT_SETUP([OFPT_PORT_STATUS - OF1.1])
636 AT_KEYWORDS([ofp-print])
637 AT_CHECK([ovs-ofctl ofp-print "\
638 02 0c 00 50 00 00 00 00 02 00 00 00 00 00 00 00 \
639 00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
640 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
641 00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
642 00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \
643 "], [0], [dnl
644 OFPT_PORT_STATUS (OF1.1) (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
645      config:     0
646      state:      0
647      current:    100MB-FD AUTO_NEG
648      advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
649      supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
650      speed: 100 Mbps now, 100 Mbps max
651 ])
652 AT_CLEANUP
653
654 AT_SETUP([OFPT_PORT_STATUS - OF1.4])
655 AT_KEYWORDS([ofp-print])
656 AT_CHECK([ovs-ofctl ofp-print "\
657 05 0c 00 58 00 00 00 00 02 00 00 00 00 00 00 00 \
658 00 00 00 03 00 48 00 00 50 54 00 00 00 01 00 00 \
659 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
660 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 \
661 00 00 20 08 00 00 28 0f 00 00 28 0f 00 00 00 00 \
662 00 01 86 a0 00 01 86 a0 \
663 "], [0], [dnl
664 OFPT_PORT_STATUS (OF1.4) (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
665      config:     0
666      state:      0
667      current:    100MB-FD AUTO_NEG
668      advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
669      supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
670      speed: 100 Mbps now, 100 Mbps max
671 ])
672 AT_CLEANUP
673
674 AT_SETUP([OFPT_PACKET_OUT - OF1.0])
675 AT_KEYWORDS([ofp-print])
676 AT_CHECK([ovs-ofctl ofp-print "\
677 01 0d 00 54 00 00 00 00 00 00 01 14 00 01 00 08 \
678 00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \
679 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
680 b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
681 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
682 00 00 00 00 \
683 "], [0], [dnl
684 OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 buffer=0x00000114
685 ])
686 AT_CLEANUP
687
688 AT_SETUP([OFPT_PACKET_OUT - OF1.0, with packet])
689 AT_KEYWORDS([ofp-print])
690 AT_CHECK([ovs-ofctl ofp-print "\
691 01 0d 00 54 00 00 00 00 ff ff ff ff 00 01 00 08 \
692 00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \
693 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
694 b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
695 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
696 00 00 00 00 \
697 "], [0], [dnl
698 OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 data_len=60
699 tcp,in_port=0,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
700 ])
701 AT_CLEANUP
702
703 AT_SETUP([OFPT_PACKET_OUT - OF1.0, with hex output of packet data])
704 AT_KEYWORDS([ofp-print])
705 AT_CHECK([ovs-ofctl ofp-print "\
706 01 0d 00 54 00 00 00 00 ff ff ff ff 00 01 00 08 \
707 00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \
708 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
709 b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
710 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
711 00 00 00 00 \
712 " 3], [0], [dnl
713 OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 data_len=60
714 tcp,in_port=0,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
715 00000000  50 54 00 00 00 05 50 54-00 00 00 06 08 00 45 00
716 00000010  00 28 00 00 40 00 40 06-b9 7c c0 a8 00 02 c0 a8
717 00000020  00 01 00 00 2b 60 00 00-00 00 6a 4f 2b 58 50 14
718 00000030  00 00 6d 75 00 00 00 00-00 00 00 00
719 ])
720 AT_CLEANUP
721
722 AT_SETUP([OFPT_PACKET_OUT - OF1.1])
723 AT_KEYWORDS([ofp-print])
724 AT_CHECK([ovs-ofctl ofp-print "\
725 03 0d 00 28 88 58 df c5 ff ff ff 00 ff ff ff fe \
726 00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \
727 05 dc 00 00 00 00 00 00 \
728 "], [0], [dnl
729 OFPT_PACKET_OUT (OF1.2) (xid=0x8858dfc5): in_port=LOCAL actions=FLOOD buffer=0xffffff00
730 ])
731 AT_CLEANUP
732
733 AT_SETUP([OFPT_PACKET_OUT - OF1.1, with packet])
734 AT_KEYWORDS([ofp-print])
735 AT_CHECK([ovs-ofctl ofp-print "\
736 03 0d 00 64 88 58 df c5 ff ff ff ff ff ff ff fe \
737 00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \
738 05 dc 00 00 00 00 00 00 50 54 00 00 00 05 50 54 \
739 00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
740 b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
741 00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
742 00 00 00 00 \
743 "], [0], [dnl
744 OFPT_PACKET_OUT (OF1.2) (xid=0x8858dfc5): in_port=LOCAL actions=FLOOD data_len=60
745 tcp,in_port=0,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
746 ])
747 AT_CLEANUP
748
749 # The flow is formatted with cls_rule_format() for the low-verbosity case.
750 AT_SETUP([OFPT_FLOW_MOD - OF1.0 - low verbosity])
751 AT_KEYWORDS([ofp-print])
752 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
753 01 0e 00 50 00 00 00 00 00 00 00 00 00 01 50 54 \
754 00 00 00 06 50 54 00 00 00 05 ff ff 00 00 08 06 \
755 00 02 00 00 c0 a8 00 02 c0 a8 00 01 00 00 00 00 \
756 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 \
757 00 00 01 0e 00 00 00 00 00 00 00 08 00 03 00 00 \
758 " 2], [0], [dnl
759 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
760 ], [dnl
761 ofp_util|INFO|normalization changed ofp_match, details:
762 ofp_util|INFO| pre: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0
763 ofp_util|INFO|post: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2
764 ])
765 AT_CLEANUP
766
767 # The flow is formatted with cls_rule_format() for the low-verbosity case.
768 AT_SETUP([OFPT_FLOW_MOD - OF1.1 - low verbosity])
769 AT_KEYWORDS([ofp-print])
770 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
771 020e 0090 01020304 \
772 da1aa3e035d87158 ffffffffffffffff \
773 02 01 003c 0078 9c40 ffffffff ffffffff ffffffff 0003 \
774 0000 \
775 \
776 0000 0058 00000000 000003f7 \
777 000000000000ffffffffffff 000000000000ffffffffffff \
778 0000 00 00 0806 00 00 c0a88000000000ff 00000000ffffffff 0000 0000 \
779 00000000 00 000000 0000000000000000ffffffffffffffff \
780 \
781 0001 0008 03 000000 \
782 " 2], [0], [dnl
783 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
784 ])
785 AT_CLEANUP
786
787 # The flow is formatted with cls_rule_format() for the low-verbosity case.
788 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - low verbosity])
789 AT_KEYWORDS([ofp-print])
790 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
791 03 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \
792 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \
793 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
794 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \
795 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \
796 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \
797 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \
798 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
799 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
800 " 2], [0], [dnl
801 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
802 ], [dnl
803 ])
804 AT_CLEANUP
805
806 # The flow is formatted with ofp10_match_to_string() for the
807 # high-verbosity case.
808 AT_SETUP([OFPT_FLOW_MOD - OF1.0 - high verbosity])
809 AT_KEYWORDS([ofp-print])
810 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
811 01 0e 00 50 00 00 00 00 00 00 00 00 00 01 50 54 \
812 00 00 00 06 50 54 00 00 00 05 ff ff 00 00 08 06 \
813 00 02 00 00 c0 a8 00 02 c0 a8 00 01 00 00 00 00 \
814 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 \
815 00 00 01 0e 00 00 00 00 00 00 00 08 00 03 00 00 \
816 " 3], [0], [dnl
817 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
818 ], [dnl
819 ofp_util|INFO|normalization changed ofp_match, details:
820 ofp_util|INFO| pre: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0
821 ofp_util|INFO|post: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2
822 ])
823 AT_CLEANUP
824
825 # The flow is formatted with cls_rule_format() for the low-verbosity case.
826 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - low verbosity])
827 AT_KEYWORDS([ofp-print])
828 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
829 03 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \
830 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \
831 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
832 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \
833 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \
834 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \
835 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \
836 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
837 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
838 " 2], [0], [dnl
839 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
840 ], [dnl
841 ])
842 AT_CLEANUP
843
844 # The flow is formatted with cls_rule_format() for the low-verbosity case.
845 AT_SETUP([OFPT_FLOW_MOD - OF1.3 - flags - low verbosity])
846 AT_KEYWORDS([ofp-print])
847 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
848 04 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \
849 00 00 00 00 00 00 00 00 01 00 00 00 00 00 ff ff \
850 ff ff ff ff ff ff ff ff ff ff ff ff 00 1f 00 00 \
851 00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \
852 50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \
853 80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \
854 00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \
855 00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
856 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
857 " 2], [0], [dnl
858 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
859 ], [dnl
860 ])
861 AT_CLEANUP
862
863 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field ip_src])
864 AT_KEYWORDS([ofp-print])
865 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
866 03 0e 00 58 52 33 45 02 00 00 00 00 00 00 00 00 \
867 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
868 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
869 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
870 00 04 00 18 00 00 00 00 00 19 00 10 80 00 16 04 \
871 c0 a8 03 5c 00 00 00 00                         \
872 " 2], [0], [dnl
873 OFPT_FLOW_MOD (OF1.2) (xid=0x52334502): ADD priority=255,ip actions=set_field:192.168.3.92->ip_src
874 ], [dnl
875 ])
876 AT_CLEANUP
877
878 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field ip_dst])
879 AT_KEYWORDS([ofp-print])
880 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
881 03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \
882 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
883 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
884 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
885 00 04 00 18 00 00 00 00 00 19 00 10 80 00 18 04 \
886 c0 a8 4a 7a 00 00 00 00                         \
887 " 2], [0], [dnl
888 OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,ip actions=set_field:192.168.74.122->ip_dst
889 ], [dnl
890 ])
891 AT_CLEANUP
892
893 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field sctp_src])
894 AT_KEYWORDS([ofp-print])
895 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
896 03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \
897 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
898 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
899 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
900 00 04 00 18 00 00 00 00 00 19 00 10 80 00 22 02 \
901 0d 06 00 00 00 00 00 00                         \
902 " 2], [0], [dnl
903 OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,sctp actions=set_field:3334->sctp_src
904 ], [dnl
905 ])
906 AT_CLEANUP
907
908 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - set-field sctp_dst])
909 AT_KEYWORDS([ofp-print])
910 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
911 03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \
912 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
913 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
914 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
915 00 04 00 18 00 00 00 00 00 19 00 10 80 00 24 02 \
916 11 5d 00 00 00 00 00 00                         \
917 " 2], [0], [dnl
918 OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,sctp actions=set_field:4445->sctp_dst
919 ], [dnl
920 ])
921 AT_CLEANUP
922
923 AT_SETUP([OFPT_FLOW_MOD - OF1.2 - experimenter OXM])
924 AT_KEYWORDS([ofp-print])
925 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
926 03 0e 00 48 52 33 45 07 00 00 00 00 00 00 00 00 \
927 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
928 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
929 00 01 00 14 ff ff 01 0c 00 00 23 20 01 23 45 67 \
930 0f ff ff ff 00 00 00 00
931 " 2], [0], [dnl
932 OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,dp_hash=0x1234567/0xfffffff actions=drop
933 ], [dnl
934 ])
935 AT_CLEANUP
936
937 dnl This triggered a buggy "instructions out of order" message earlier.
938 AT_SETUP([OFPT_FLOW_MOD - OF1.3 - meter])
939 AT_KEYWORDS([ofp-print])
940 AT_CHECK([ovs-ofctl ofp-print "\
941 04 0e 00 40 cf fe 6b 86 00 00 00 00 00 00 00 00 \
942 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 e8 \
943 ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
944 00 01 00 04 00 00 00 00 00 06 00 08 00 00 00 01"], [0], [dnl
945 OFPT_FLOW_MOD (OF1.3) (xid=0xcffe6b86): ADD priority=1000 actions=meter:1
946 ])
947 AT_CLEANUP
948
949 AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field ip_src])
950 AT_KEYWORDS([ofp-print])
951 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
952 03 13 00 68 52 33 45 04 00 01 00 00 00 00 00 00 \
953 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
954 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
955 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
956 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
957 00 04 00 18 00 00 00 00 00 19 00 10 80 00 16 04 \
958 c0 a8 03 5c 00 00 00 00                         \
959 " 2], [0], [dnl
960 OFPST_FLOW reply (OF1.2) (xid=0x52334504):
961  cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,ip actions=set_field:192.168.3.92->ip_src
962 ], [dnl
963 ])
964 AT_CLEANUP
965
966 AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field ip_dst])
967 AT_KEYWORDS([ofp-print])
968 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
969 03 13 00 68 52 33 45 09 00 01 00 00 00 00 00 00 \
970 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
971 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
972 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
973 00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
974 00 04 00 18 00 00 00 00 00 19 00 10 80 00 18 04 \
975 c0 a8 4a 7a 00 00 00 00                         \
976 " 2], [0], [dnl
977 OFPST_FLOW reply (OF1.2) (xid=0x52334509):
978  cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,ip actions=set_field:192.168.74.122->ip_dst
979 ], [dnl
980 ])
981 AT_CLEANUP
982
983 AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field sctp_src])
984 AT_KEYWORDS([ofp-print])
985 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
986 03 13 00 68 52 33 45 04 00 01 00 00 00 00 00 00 \
987 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
988 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
989 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
990 00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
991 00 04 00 18 00 00 00 00 00 19 00 10 80 00 22 02 \
992 0d 06 00 00 00 00 00 00                         \
993 " 2], [0], [dnl
994 OFPST_FLOW reply (OF1.2) (xid=0x52334504):
995  cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,sctp actions=set_field:3334->sctp_src
996 ], [dnl
997 ])
998 AT_CLEANUP
999
1000 AT_SETUP([OFPT_FLOW reply - OF1.2 - set-field sctp_dst])
1001 AT_KEYWORDS([ofp-print])
1002 AT_CHECK([ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
1003 03 13 00 68 52 33 45 09 00 01 00 00 00 00 00 00 \
1004 00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
1005 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1006 00 00 00 00 00 00 00 00 00 00 00 00 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 24 02 \
1009 11 5d 00 00 00 00 00 00                         \
1010 " 2], [0], [dnl
1011 OFPST_FLOW reply (OF1.2) (xid=0x52334509):
1012  cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,sctp actions=set_field:4445->sctp_dst
1013 ], [dnl
1014 ])
1015 AT_CLEANUP
1016
1017 AT_SETUP([OFPT_PORT_MOD - OF1.0])
1018 AT_KEYWORDS([ofp-print])
1019 AT_CHECK([ovs-ofctl ofp-print "\
1020 01 0f 00 20 00 00 00 03 00 03 50 54 00 00 00 01 \
1021 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
1022 " 3], [0], [dnl
1023 OFPT_PORT_MOD (xid=0x3):port: 3: addr:50:54:00:00:00:01
1024      config: PORT_DOWN
1025      mask:   PORT_DOWN
1026      advertise: UNCHANGED
1027 ])
1028 AT_CLEANUP
1029
1030 AT_SETUP([OFPT_PORT_MOD - OF1.1])
1031 AT_KEYWORDS([ofp-print])
1032 AT_CHECK([ovs-ofctl ofp-print "\
1033 02 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
1034 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
1035 00 00 00 00 00 00 00 00 \
1036 " 3], [0], [dnl
1037 OFPT_PORT_MOD (OF1.1) (xid=0x3):port: 3: addr:50:54:00:00:00:01
1038      config: PORT_DOWN
1039      mask:   PORT_DOWN
1040      advertise: UNCHANGED
1041 ])
1042 AT_CLEANUP
1043
1044 AT_SETUP([OFPT_PORT_MOD - OF1.2])
1045 AT_KEYWORDS([ofp-print])
1046 AT_CHECK([ovs-ofctl ofp-print "\
1047 03 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
1048 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
1049 00 00 00 00 00 00 00 00 \
1050 " 3], [0], [dnl
1051 OFPT_PORT_MOD (OF1.2) (xid=0x3):port: 3: addr:50:54:00:00:00:01
1052      config: PORT_DOWN
1053      mask:   PORT_DOWN
1054      advertise: UNCHANGED
1055 ])
1056 AT_CLEANUP
1057
1058 AT_SETUP([OFPT_PORT_MOD - OF1.3])
1059 AT_KEYWORDS([ofp-print])
1060 AT_CHECK([ovs-ofctl ofp-print "\
1061 04 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
1062 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
1063 00 00 00 00 00 00 00 00 \
1064 " 3], [0], [dnl
1065 OFPT_PORT_MOD (OF1.3) (xid=0x3):port: 3: addr:50:54:00:00:00:01
1066      config: PORT_DOWN
1067      mask:   PORT_DOWN
1068      advertise: UNCHANGED
1069 ])
1070 AT_CLEANUP
1071
1072 AT_SETUP([OFPT_PORT_MOD - OF1.4])
1073 AT_KEYWORDS([ofp-print])
1074 AT_CHECK([ovs-ofctl ofp-print "\
1075 05 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
1076 50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
1077 00 00 00 08 00 00 00 01
1078 " 3], [0], [dnl
1079 OFPT_PORT_MOD (OF1.4) (xid=0x3):port: 3: addr:50:54:00:00:00:01
1080      config: PORT_DOWN
1081      mask:   PORT_DOWN
1082      advertise: 10MB-HD
1083 ])
1084 AT_CLEANUP
1085
1086 AT_SETUP([OFPT_TABLE_MOD - OF1.1])
1087 AT_KEYWORDS([ofp-print])
1088 AT_CHECK([ovs-ofctl ofp-print "\
1089 02 11 00 10 00 00 00 02 02 00 00 00 00 00 00 02 \
1090 " 3], [0], [dnl
1091 OFPT_TABLE_MOD (OF1.1) (xid=0x2): table_id=2, flow_miss_config=drop
1092 ])
1093 AT_CLEANUP
1094
1095 AT_SETUP([OFPT_TABLE_MOD - OF1.2])
1096 AT_KEYWORDS([ofp-print])
1097 AT_CHECK([ovs-ofctl ofp-print "\
1098 03 11 00 10 00 00 00 02 02 00 00 00 00 00 00 01 \
1099 " 3], [0], [dnl
1100 OFPT_TABLE_MOD (OF1.2) (xid=0x2): table_id=2, flow_miss_config=continue
1101 ])
1102 AT_CLEANUP
1103
1104 AT_SETUP([OFPT_TABLE_MOD - OF1.3])
1105 AT_KEYWORDS([ofp-print])
1106 AT_CHECK([ovs-ofctl ofp-print "\
1107 04 11 00 10 00 00 00 02 02 00 00 00 00 00 00 00 \
1108 " 3], [0], [dnl
1109 OFPT_TABLE_MOD (OF1.3) (xid=0x2): table_id=2
1110 ])
1111 AT_CLEANUP
1112
1113 AT_SETUP([OFPT_TABLE_MOD - OF1.4])
1114 AT_KEYWORDS([ofp-print])
1115 AT_CHECK([ovs-ofctl ofp-print "\
1116 05 11 00 10 00 00 00 02 02 00 00 00 00 00 00 00 \
1117 " 3], [0], [dnl
1118 OFPT_TABLE_MOD (OF1.4) (xid=0x2): table_id=2
1119 ])
1120 AT_CLEANUP
1121
1122 AT_SETUP([OFPST_DESC request])
1123 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1124 AT_CHECK([ovs-ofctl ofp-print "0110000c0000000100000000"], [0], [dnl
1125 OFPST_DESC request (xid=0x1):
1126 ])
1127 AT_CLEANUP
1128
1129 AT_SETUP([OFPST_DESC reply])
1130 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1131 AT_CHECK([ovs-ofctl ofp-print "\
1132 01 11 04 2c 00 00 00 01 00 00 00 00 4e 69 63 69 \
1133 72 61 2c 20 49 6e 63 2e 00 00 00 00 00 00 00 00 \
1134 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1135 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1136 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1137 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1138 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1139 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1141 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1142 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1143 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1144 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1145 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1146 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1147 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1148 00 00 00 00 00 00 00 00 00 00 00 00 4f 70 65 6e \
1149 20 76 53 77 69 74 63 68 00 00 00 00 00 00 00 00 \
1150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1151 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1152 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1153 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1154 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1155 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1156 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1157 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1158 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1159 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1161 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1162 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1163 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1164 00 00 00 00 00 00 00 00 00 00 00 00 31 2e 31 2e \
1165 30 70 72 65 32 00 00 00 00 00 00 00 00 00 00 00 \
1166 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1167 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1168 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1169 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1171 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1172 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1173 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1174 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1175 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1176 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1177 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1178 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1179 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1180 00 00 00 00 00 00 00 00 00 00 00 00 4e 6f 6e 65 \
1181 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1182 00 00 00 00 00 00 00 00 00 00 00 00 4e 6f 6e 65 \
1183 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1184 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1185 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1186 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1187 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1188 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1189 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1191 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1192 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1193 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1194 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1195 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1196 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1197 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1198 00 00 00 00 00 00 00 00 00 00 00 00 \
1199 "], [0], [dnl
1200 OFPST_DESC reply (xid=0x1):
1201 Manufacturer: Nicira, Inc.
1202 Hardware: Open vSwitch
1203 Software: 1.1.0pre2
1204 Serial Num: None
1205 DP Description: None
1206 ])
1207 AT_CLEANUP
1208
1209 AT_SETUP([OFPST_FLOW request - OF1.0])
1210 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1211 AT_CHECK([ovs-ofctl ofp-print "\
1212 01 10 00 38 00 00 00 04 00 01 00 00 00 38 20 ff \
1213 ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1214 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1215 00 00 00 00 ff 00 ff ff \
1216 "], [0], [dnl
1217 OFPST_FLOW request (xid=0x4): @&t@
1218 ])
1219 AT_CLEANUP
1220
1221 AT_SETUP([OFPST_FLOW request - OF1.2])
1222 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1223 AT_CHECK([ovs-ofctl ofp-print "\
1224 03 12 00 38 00 00 00 02 00 01 00 00 00 00 00 00 \
1225 ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
1226 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1227 00 01 00 04 00 00 00 00 \
1228 "], [0], [dnl
1229 OFPST_FLOW request (OF1.2) (xid=0x2): @&t@
1230 ])
1231 AT_CLEANUP
1232
1233 AT_SETUP([OFPST_FLOW request - OF1.3])
1234 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1235 AT_CHECK([ovs-ofctl ofp-print "\
1236 04 12 00 38 00 00 00 02 00 01 00 00 00 00 00 00 \
1237 ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
1238 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1239 00 01 00 04 00 00 00 00 \
1240 "], [0], [dnl
1241 OFPST_FLOW request (OF1.3) (xid=0x2): @&t@
1242 ])
1243 AT_CLEANUP
1244
1245 AT_SETUP([OFPST_FLOW reply - OF1.0])
1246 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1247 AT_CHECK([ovs-ofctl ofp-print "\
1248 01 11 01 e4 00 00 00 04 00 01 00 00 00 60 00 00 \
1249 00 00 00 00 00 03 50 54 00 00 00 05 50 54 00 00 \
1250 00 06 ff ff 00 00 08 06 00 02 00 00 c0 a8 00 01 \
1251 c0 a8 00 02 00 00 00 00 00 00 00 04 0b eb c2 00 \
1252 ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
1253 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 \
1254 00 00 00 3c 00 00 00 08 00 01 00 00 00 60 00 00 \
1255 00 00 00 00 00 01 50 54 00 00 00 06 50 54 00 00 \
1256 00 05 ff ff 00 00 08 00 00 01 00 00 c0 a8 00 02 \
1257 c0 a8 00 01 00 00 00 00 00 00 00 08 35 a4 e9 00 \
1258 ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
1259 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 \
1260 00 00 04 fa 00 00 00 08 00 03 00 00 00 60 00 00 \
1261 00 00 00 00 00 01 50 54 00 00 00 06 50 54 00 00 \
1262 00 05 ff ff 00 00 08 06 00 01 00 00 c0 a8 00 02 \
1263 c0 a8 00 01 00 00 00 00 00 00 00 04 10 b0 76 00 \
1264 ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
1265 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 \
1266 00 00 00 3c 00 00 00 08 00 03 00 00 00 60 00 00 \
1267 00 00 00 01 00 03 50 54 00 00 00 05 50 54 00 00 \
1268 00 06 ff ff 00 00 08 00 00 01 00 00 c0 a8 00 01 \
1269 c0 a8 00 02 00 08 00 00 00 00 00 09 05 b8 d8 00 \
1270 80 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
1271 00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 \
1272 00 00 04 fa 00 00 00 08 00 01 00 00 \
1273 00 58 02 00 00 3f ff ff 00 00 00 00 00 00 00 00 \
1274 00 00 00 00 00 00 00 00 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 80 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 \
1279 "], [0], [dnl
1280 OFPST_FLOW reply (xid=0x4):
1281  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
1282  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
1283  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
1284  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
1285  cookie=0x0, duration=0s, table=2, n_packets=0, n_bytes=0, actions=drop
1286 ])
1287 AT_CLEANUP
1288
1289 AT_SETUP([OFPST_FLOW reply - OF1.2])
1290 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1291 AT_CHECK([ovs-ofctl ofp-print "\
1292 03 13 01 78 00 00 00 02 00 01 00 00 00 00 00 00 \
1293 00 78 00 00 00 00 00 03 01 5e f3 c0 80 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 01 00 00 00 00 00 00 00 62 \
1296 00 01 00 2d 80 00 00 04 00 00 00 02 80 00 06 06 \
1297 ca da ad d6 0d 37 80 00 0a 02 08 00 80 00 10 01 \
1298 00 80 00 04 08 00 00 00 00 00 00 00 00 00 00 00 \
1299 00 04 00 18 00 00 00 00 00 00 00 10 00 00 00 02 \
1300 05 dc 00 00 00 00 00 00 00 78 00 00 00 00 00 04 \
1301 20 7c 0a 40 80 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 02 \
1303 00 00 00 00 00 00 00 8c 00 01 00 2d 80 00 00 04 \
1304 00 00 00 02 80 00 06 06 52 54 00 c3 00 89 80 00 \
1305 0a 02 08 00 80 00 10 01 00 80 00 04 08 00 00 00 \
1306 00 00 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
1307 00 00 00 10 00 00 00 02 05 dc 00 00 00 00 00 00 \
1308 00 78 00 00 00 00 00 04 20 a9 d1 00 80 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 01 00 00 00 00 00 00 00 2a \
1311 00 01 00 2d 80 00 00 04 00 00 00 02 80 00 06 06 \
1312 52 54 00 97 00 69 80 00 0a 02 08 00 80 00 10 01 \
1313 00 80 00 04 08 00 00 00 00 00 00 00 00 00 00 00 \
1314 00 04 00 18 00 00 00 00 00 00 00 10 00 00 00 02 \
1315 05 dc 00 00 00 00 00 00 \
1316 "], [0], [dnl
1317 OFPST_FLOW reply (OF1.2) (xid=0x2):
1318  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
1319  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
1320  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
1321 ])
1322 AT_CLEANUP
1323
1324 AT_SETUP([OFPST_AGGREGATE request - OF1.0])
1325 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1326 AT_CHECK([ovs-ofctl ofp-print "\
1327 01 10 00 38 00 00 00 04 00 02 00 00 00 38 20 ff \
1328 ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1329 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1330 00 00 00 00 ff 00 ff ff \
1331 "], [0], [dnl
1332 OFPST_AGGREGATE request (xid=0x4): @&t@
1333 ])
1334 AT_CLEANUP
1335
1336 AT_SETUP([OFPST_AGGREGATE request - OF1.2])
1337 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1338 AT_CHECK([ovs-ofctl ofp-print "\
1339 03 12 00 38 00 00 00 02 00 02 00 00 00 00 00 00 \
1340 ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
1341 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1342 00 01 00 04 00 00 00 00 \
1343 "], [0], [dnl
1344 OFPST_AGGREGATE request (OF1.2) (xid=0x2): @&t@
1345 ])
1346 AT_CLEANUP
1347
1348 AT_SETUP([OFPST_AGGREGATE request - OF1.3])
1349 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1350 AT_CHECK([ovs-ofctl ofp-print "\
1351 04 12 00 38 00 00 00 02 00 02 00 00 00 00 00 00 \
1352 ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
1353 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1354 00 01 00 04 00 00 00 00 \
1355 "], [0], [dnl
1356 OFPST_AGGREGATE request (OF1.3) (xid=0x2): @&t@
1357 ])
1358 AT_CLEANUP
1359
1360 AT_SETUP([OFPST_AGGREGATE reply - OF1.0])
1361 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1362 AT_CHECK([ovs-ofctl ofp-print "\
1363 01 11 00 24 00 00 00 04 00 02 00 00 00 00 00 00 \
1364 00 00 01 82 00 00 00 00 00 00 93 78 00 00 00 04 \
1365 00 00 00 00 \
1366 "], [0], [dnl
1367 OFPST_AGGREGATE reply (xid=0x4): packet_count=386 byte_count=37752 flow_count=4
1368 ])
1369 AT_CLEANUP
1370
1371 AT_SETUP([OFPST_AGGREGATE reply - OF1.2])
1372 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1373 AT_CHECK([ovs-ofctl ofp-print "\
1374 03 13 00 28 00 00 00 02 00 02 00 00 00 00 00 00 \
1375 00 00 00 00 00 00 00 79 00 00 00 00 00 00 4b 4f \
1376 00 00 00 03 00 00 00 00 \
1377 "], [0], [dnl
1378 OFPST_AGGREGATE reply (OF1.2) (xid=0x2): packet_count=121 byte_count=19279 flow_count=3
1379 ])
1380 AT_CLEANUP
1381
1382 AT_SETUP([OFPST_AGGREGATE reply - OF1.3])
1383 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1384 AT_CHECK([ovs-ofctl ofp-print "\
1385 04 13 00 28 00 00 00 02 00 02 00 00 00 00 00 00 \
1386 00 00 00 00 00 00 00 79 00 00 00 00 00 00 4b 4f \
1387 00 00 00 03 00 00 00 00 \
1388 "], [0], [dnl
1389 OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=121 byte_count=19279 flow_count=3
1390 ])
1391 AT_CLEANUP
1392
1393 AT_SETUP([OFPST_TABLE request - OF1.0])
1394 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1395 AT_CHECK([ovs-ofctl ofp-print "0110000c0000000100030000"], [0], [dnl
1396 OFPST_TABLE request (xid=0x1):
1397 ])
1398 AT_CLEANUP
1399
1400 AT_SETUP([OFPST_TABLE request - OF1.1])
1401 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1402 AT_CHECK([ovs-ofctl ofp-print "02120010000000020003000000000000"], [0], [dnl
1403 OFPST_TABLE request (OF1.1) (xid=0x2):
1404 ])
1405 AT_CLEANUP
1406
1407 AT_SETUP([OFPST_TABLE request - OF1.2])
1408 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1409 AT_CHECK([ovs-ofctl ofp-print "03120010000000020003000000000000"], [0], [dnl
1410 OFPST_TABLE request (OF1.2) (xid=0x2):
1411 ])
1412 AT_CLEANUP
1413
1414 AT_SETUP([OFPST_TABLE request - OF1.3])
1415 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1416 AT_CHECK([ovs-ofctl ofp-print "04120010000000020003000000000000"], [0], [dnl
1417 OFPST_TABLE request (OF1.3) (xid=0x2):
1418 ])
1419 AT_CLEANUP
1420
1421 AT_SETUP([OFPST_TABLE reply - OF1.0])
1422 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1423 AT_CHECK([ovs-ofctl ofp-print "\
1424 01 11 00 4c 00 00 00 01 00 03 00 00 00 00 00 00 \
1425 63 6c 61 73 73 69 66 69 65 72 00 00 00 00 00 00 \
1426 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1427 00 3f ff ff 00 10 00 00 00 00 00 0b 00 00 00 00 \
1428 00 00 00 00 00 00 00 00 00 00 00 00 \
1429 "], [0], [dnl
1430 OFPST_TABLE reply (xid=0x1):
1431   table 0 ("classifier"):
1432     active=11, lookup=0, matched=0
1433     max_entries=1048576
1434     matching:
1435       in_port: exact match or wildcard
1436       eth_src: exact match or wildcard
1437       eth_dst: exact match or wildcard
1438       eth_type: exact match or wildcard
1439       vlan_vid: exact match or wildcard
1440       vlan_pcp: exact match or wildcard
1441       ip_src: exact match or wildcard
1442       ip_dst: exact match or wildcard
1443       nw_proto: exact match or wildcard
1444       nw_tos: exact match or wildcard
1445       tcp_src: exact match or wildcard
1446       tcp_dst: exact match or wildcard
1447 ])
1448 AT_CLEANUP
1449
1450 AT_SETUP([OFPST_TABLE reply - OF1.2])
1451 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1452 (tail="
1453     config=controller
1454     max_entries=1000000
1455     instructions (table miss and others):
1456       instructions: write_metadata,goto_table
1457       Write-Actions and Apply-Actions features:
1458         supported on Set-Field: metadata in_port_oxm eth_src eth_dst eth_type vlan_vid vlan_pcp mpls_label mpls_tc ip_src ip_dst ipv6_src ipv6_dst ipv6_label nw_proto ip_dscp nw_ecn arp_op arp_spa arp_tpa arp_sha arp_tha tcp_src tcp_dst udp_src udp_dst sctp_src sctp_dst icmp_type icmp_code icmpv6_type icmpv6_code nd_target nd_sll nd_tll
1459     matching:
1460       metadata: exact match or wildcard
1461       in_port_oxm: exact match or wildcard
1462       eth_src: exact match or wildcard
1463       eth_dst: exact match or wildcard
1464       eth_type: exact match or wildcard
1465       vlan_vid: exact match or wildcard
1466       vlan_pcp: exact match or wildcard
1467       mpls_label: exact match or wildcard
1468       mpls_tc: exact match or wildcard
1469       ip_src: exact match or wildcard
1470       ip_dst: exact match or wildcard
1471       ipv6_src: exact match or wildcard
1472       ipv6_dst: exact match or wildcard
1473       ipv6_label: exact match or wildcard
1474       nw_proto: exact match or wildcard
1475       ip_dscp: exact match or wildcard
1476       nw_ecn: exact match or wildcard
1477       arp_op: exact match or wildcard
1478       arp_spa: exact match or wildcard
1479       arp_tpa: exact match or wildcard
1480       arp_sha: exact match or wildcard
1481       arp_tha: exact match or wildcard
1482       tcp_src: exact match or wildcard
1483       tcp_dst: exact match or wildcard
1484       udp_src: exact match or wildcard
1485       udp_dst: exact match or wildcard
1486       sctp_src: exact match or wildcard
1487       sctp_dst: exact match or wildcard
1488       icmp_type: exact match or wildcard
1489       icmp_code: exact match or wildcard
1490       icmpv6_type: exact match or wildcard
1491       icmpv6_code: exact match or wildcard
1492       nd_target: exact match or wildcard
1493       nd_sll: exact match or wildcard
1494       nd_tll: exact match or wildcard"
1495  echo "OFPST_TABLE reply (OF1.2) (xid=0x2):
1496   table 0 (\"classifier\"):
1497     active=1, lookup=74614, matched=106024$tail"
1498  x=1
1499  while test $x -lt 254; do
1500    printf "
1501   table %d (\"%s\"):
1502     active=0, lookup=0, matched=0$tail
1503 " $x table$x
1504    x=`expr $x + 1`
1505  done
1506  echo "
1507   table 254 (\"table254\"):
1508     active=2, lookup=0, matched=0$tail") > expout
1509
1510 (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"
1511  pad7="00 00 00 00 00 00 00 "
1512  mid="00 00 00 0f ff ff ff ff \
1513 00 00 00 0f ff ff ff ff 00 00 00 00 00 00 00 00 \
1514 00 00 00 0f ff ff ff ff 00 00 00 0f ff ff ff ff \
1515 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1516 00 00 00 07 00 00 00 00 00 0f 42 40 "
1517  tail="00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
1518
1519  echo -n "03 13 7f 90 00 00 00 02 00 03 00 00 00 00 00 00 "
1520
1521  x=0
1522  printf "%02x $pad7" $x
1523  printf "%s$pad32" "classifier" | od -A n -t x1 -v -N 32 | tr '\n' ' '
1524  echo -n "$mid 00 00 00 01  "
1525  echo -n "00 00 00 00 00 01 23 76 00 00 00 00 00 01 9e 28 "
1526
1527  x=1
1528  while test $x -lt 254; do
1529    printf "%02x $pad7" $x
1530    printf "%s$pad32" "table$x" | od -A n -t x1 -v -N 32 | tr '\n' ' '
1531    echo -n "$mid 00 00 00 00 $tail "
1532    x=`expr $x + 1`
1533  done
1534
1535  x=254
1536  printf "%02x $pad7" $x
1537  printf "%s$pad32" "table$x" | od -A n -t x1 -v -N 32 | tr '\n' ' '
1538  echo -n "$mid 00 00 00 02 $tail") > in
1539 AT_CHECK([ovs-ofctl ofp-print - < in], [0], [expout])
1540 AT_CLEANUP
1541
1542 AT_SETUP([OFPST_TABLE reply - OF1.3])
1543 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1544 AT_CHECK([ovs-ofctl ofp-print "\
1545 04 13 00 40 00 00 00 01 00 03 00 00 00 00 00 00 \
1546 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 02 00 \
1547 00 00 00 00 00 00 01 00 01 00 00 00 00 00 00 0c \
1548 00 00 00 00 00 00 02 01 00 00 00 00 00 00 01 01 \
1549 "], [0], [dnl
1550 OFPST_TABLE reply (OF1.3) (xid=0x1):
1551   table 0:
1552     active=11, lookup=512, matched=256
1553
1554   table 1:
1555     active=12, lookup=513, matched=257
1556 ])
1557 AT_CLEANUP
1558
1559 AT_SETUP([OFPST_PORT request - 1.0])
1560 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1561 AT_CHECK([ovs-ofctl ofp-print "\
1562 01 10 00 14 00 00 00 01 00 04 00 00 ff ff 00 00 \
1563 00 00 00 00 \
1564 "], [0], [dnl
1565 OFPST_PORT request (xid=0x1): port_no=ANY
1566 ])
1567 AT_CLEANUP
1568
1569 AT_SETUP([OFPST_PORT request - 1.1])
1570 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1571 AT_CHECK([ovs-ofctl ofp-print "\
1572 02 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \
1573 ff ff ff ff 00 00 00 00 \
1574 "], [0], [dnl
1575 OFPST_PORT request (OF1.1) (xid=0x2): port_no=ANY
1576 ])
1577 AT_CLEANUP
1578
1579 AT_SETUP([OFPST_PORT request - 1.2])
1580 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1581 AT_CHECK([ovs-ofctl ofp-print "\
1582 03 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \
1583 ff ff ff ff 00 00 00 00 \
1584 "], [0], [dnl
1585 OFPST_PORT request (OF1.2) (xid=0x2): port_no=ANY
1586 ])
1587 AT_CLEANUP
1588
1589 AT_SETUP([OFPST_PORT request - 1.3])
1590 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1591 AT_CHECK([ovs-ofctl ofp-print "\
1592 04 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \
1593 ff ff ff ff 00 00 00 00 \
1594 "], [0], [dnl
1595 OFPST_PORT request (OF1.3) (xid=0x2): port_no=ANY
1596 ])
1597 AT_CLEANUP
1598
1599 AT_SETUP([OFPST_PORT reply - OF1.0])
1600 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1601 AT_CHECK([ovs-ofctl ofp-print "\
1602 01 11 01 ac 00 00 00 01 00 04 00 00 00 03 00 00 \
1603 00 00 00 00 00 00 00 00 00 00 4d 20 00 00 00 00 \
1604 00 00 14 32 00 00 00 00 00 0f 60 4e 00 00 00 00 \
1605 00 05 71 bc 00 00 00 00 00 00 00 00 00 00 00 00 \
1606 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1607 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1608 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1609 00 00 00 00 ff fe 00 00 00 00 00 00 00 00 00 00 \
1610 00 00 02 ac 00 00 00 00 00 00 01 f5 00 00 00 00 \
1611 00 01 0c 8c 00 00 00 00 00 00 db 1c 00 00 00 00 \
1612 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1613 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1614 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1615 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 \
1616 00 00 00 00 00 00 00 00 00 00 06 be 00 00 00 00 \
1617 00 00 05 84 00 00 00 00 00 02 34 b4 00 00 00 00 \
1618 00 02 23 d4 00 00 00 00 00 00 00 00 00 00 00 00 \
1619 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1621 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1622 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 \
1623 00 00 14 12 00 00 00 00 00 00 14 66 00 00 00 00 \
1624 00 04 a2 54 00 00 00 00 00 05 8a 1e 00 00 00 00 \
1625 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1626 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1627 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1628 00 00 00 00 00 00 00 00 00 00 00 00 \
1629 "], [0], [dnl
1630 OFPST_PORT reply (xid=0x1): 4 ports
1631   port  3: rx pkts=19744, bytes=1007694, drop=0, errs=0, frame=0, over=0, crc=0
1632            tx pkts=5170, bytes=356796, drop=0, errs=0, coll=0
1633   port LOCAL: rx pkts=684, bytes=68748, drop=0, errs=0, frame=0, over=0, crc=0
1634            tx pkts=501, bytes=56092, drop=0, errs=0, coll=0
1635   port  2: rx pkts=1726, bytes=144564, drop=0, errs=0, frame=0, over=0, crc=0
1636            tx pkts=1412, bytes=140244, drop=0, errs=0, coll=0
1637   port  1: rx pkts=5138, bytes=303700, drop=0, errs=0, frame=0, over=0, crc=0
1638            tx pkts=5222, bytes=363038, drop=0, errs=0, coll=0
1639 ])
1640 AT_CLEANUP
1641
1642 AT_SETUP([OFPST_PORT reply - OF1.2])
1643 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1644 AT_CHECK([ovs-ofctl ofp-print "\
1645 03 13 01 48 00 00 00 02 00 04 00 00 00 00 00 00 \
1646 00 00 00 02 00 00 00 00 00 00 00 00 00 01 95 56 \
1647 00 00 00 00 00 00 00 88 00 00 00 00 02 5d 08 98 \
1648 00 00 00 00 00 00 2c f8 00 00 00 00 00 00 00 00 \
1649 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1650 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1651 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1652 00 00 00 00 00 00 00 00 ff ff ff fe 00 00 00 00 \
1653 00 00 00 00 00 00 00 44 00 00 00 00 00 00 9d 2c \
1654 00 00 00 00 00 00 16 7c 00 00 00 00 01 1e 36 44 \
1655 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1656 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1657 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1658 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1659 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 44 \
1660 00 00 00 00 00 00 9d 2c 00 00 00 00 00 00 16 7c \
1661 00 00 00 00 01 1e 36 44 00 00 00 00 00 00 00 00 \
1662 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1663 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1664 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1665 00 00 00 00 00 00 00 00 \
1666 "], [0], [dnl
1667 OFPST_PORT reply (OF1.2) (xid=0x2): 3 ports
1668   port  2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=0, over=0, crc=0
1669            tx pkts=136, bytes=11512, drop=0, errs=0, coll=0
1670   port LOCAL: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
1671            tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
1672   port  1: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
1673            tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
1674 ])
1675 AT_CLEANUP
1676
1677 AT_SETUP([OFPST_PORT reply - OF1.3])
1678 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1679 AT_CHECK([ovs-ofctl ofp-print "\
1680 04 13 01 60 00 00 00 02 00 04 00 00 00 00 00 00 \
1681 00 00 00 02 00 00 00 00 00 00 00 00 00 01 95 56 \
1682 00 00 00 00 00 00 00 88 00 00 00 00 02 5d 08 98 \
1683 00 00 00 00 00 00 2c f8 00 00 00 00 00 00 00 00 \
1684 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1685 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1686 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1687 00 00 00 00 00 00 00 00 00 00 00 01 00 0f 42 40 \
1688 ff ff ff fe 00 00 00 00 \
1689 00 00 00 00 00 00 00 44 00 00 00 00 00 00 9d 2c \
1690 00 00 00 00 00 00 16 7c 00 00 00 00 01 1e 36 44 \
1691 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1692 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1693 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1694 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1695 ff ff ff ff ff ff ff ff \
1696 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 44 \
1697 00 00 00 00 00 00 9d 2c 00 00 00 00 00 00 16 7c \
1698 00 00 00 00 01 1e 36 44 00 00 00 00 00 00 00 00 \
1699 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1701 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1702 00 00 00 00 00 00 00 00 00 00 00 00 07 54 d4 c0 \
1703 "], [0], [dnl
1704 OFPST_PORT reply (OF1.3) (xid=0x2): 3 ports
1705   port  2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=0, over=0, crc=0
1706            tx pkts=136, bytes=11512, drop=0, errs=0, coll=0
1707            duration=1.001s
1708   port LOCAL: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
1709            tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
1710   port  1: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
1711            tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
1712            duration=0.123s
1713 ])
1714 AT_CLEANUP
1715
1716 AT_SETUP([OFPST_PORT reply - OF1.4])
1717 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1718 AT_CHECK([ovs-ofctl ofp-print "\
1719 05 13 00 88 00 00 00 02 00 04 00 00 00 00 00 00 \
1720 00 78 00 00 00 00 00 02 00 00 00 01 00 0f 42 40 \
1721 00 00 00 00 00 01 95 56 00 00 00 00 00 00 00 88 \
1722 00 00 00 00 02 5d 08 98 00 00 00 00 00 00 2c f8 \
1723 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1724 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1725 00 00 00 28 00 00 00 00 00 00 00 00 00 00 00 fc \
1726 00 00 00 00 00 00 00 fd 00 00 00 00 00 00 00 fe \
1727 00 00 00 00 00 00 00 ff \
1728 "], [0], [dnl
1729 OFPST_PORT reply (OF1.4) (xid=0x2): 1 ports
1730   port  2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=252, over=253, crc=254
1731            tx pkts=136, bytes=11512, drop=0, errs=0, coll=255
1732            duration=1.001s
1733 ])
1734 AT_CLEANUP
1735
1736 AT_SETUP([OFPST_QUEUE request - OF1.0])
1737 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1738 AT_CHECK([ovs-ofctl ofp-print "\
1739 01 10 00 14 00 00 00 01 00 05 00 00 ff fc 00 00 \
1740 ff ff ff ff \
1741 "], [0], [dnl
1742 OFPST_QUEUE request (xid=0x1):port=ANY queue=ALL
1743 ])
1744 AT_CLEANUP
1745
1746 AT_SETUP([OFPST_QUEUE request - OF1.1])
1747 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1748 AT_CHECK([ovs-ofctl ofp-print "\
1749 02 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \
1750 ff ff ff ff ff ff ff ff \
1751 "], [0], [dnl
1752 OFPST_QUEUE request (OF1.1) (xid=0x2):port=ANY queue=ALL
1753 ])
1754 AT_CLEANUP
1755
1756 AT_SETUP([OFPST_QUEUE request - OF1.2])
1757 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1758 AT_CHECK([ovs-ofctl ofp-print "\
1759 03 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \
1760 ff ff ff ff ff ff ff ff \
1761 "], [0], [dnl
1762 OFPST_QUEUE request (OF1.2) (xid=0x2):port=ANY queue=ALL
1763 ])
1764 AT_CLEANUP
1765
1766 AT_SETUP([OFPST_QUEUE request - OF1.3])
1767 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1768 AT_CHECK([ovs-ofctl ofp-print "\
1769 04 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \
1770 ff ff ff ff ff ff ff ff \
1771 "], [0], [dnl
1772 OFPST_QUEUE request (OF1.3) (xid=0x2):port=ANY queue=ALL
1773 ])
1774 AT_CLEANUP
1775
1776 AT_SETUP([OFPST_QUEUE reply - OF1.0])
1777 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1778 AT_CHECK([ovs-ofctl ofp-print "\
1779 01 11 00 cc 00 00 00 01 00 05 00 00 00 03 00 00 \
1780 00 00 00 01 00 00 00 00 00 00 01 2e 00 00 00 00 \
1781 00 00 00 01 00 00 00 00 00 00 00 00 00 03 00 00 \
1782 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \
1783 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 \
1784 00 00 00 01 00 00 00 00 00 00 08 34 00 00 00 00 \
1785 00 00 00 14 00 00 00 00 00 00 00 00 00 02 00 00 \
1786 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \
1787 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 \
1788 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 \
1789 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 \
1790 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \
1791 00 00 00 00 00 00 00 00 00 00 00 00 \
1792 "], [0], [dnl
1793 OFPST_QUEUE reply (xid=0x1): 6 queues
1794   port 3 queue 1: bytes=302, pkts=1, errors=0, duration=?
1795   port 3 queue 2: bytes=0, pkts=0, errors=0, duration=?
1796   port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=?
1797   port 2 queue 2: bytes=0, pkts=0, errors=0, duration=?
1798   port 1 queue 1: bytes=0, pkts=0, errors=0, duration=?
1799   port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
1800 ])
1801 AT_CLEANUP
1802
1803 AT_SETUP([OFPST_QUEUE reply - OF1.1])
1804 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1805 AT_CHECK([ovs-ofctl ofp-print "\
1806 02 13 00 d0 00 00 00 01 00 05 00 00 00 00 00 00 \
1807 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
1808 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
1809 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
1810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1811 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
1812 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
1813 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
1814 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1815 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
1816 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1817 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \
1818 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1819 "], [0], [dnl
1820 OFPST_QUEUE reply (OF1.1) (xid=0x1): 6 queues
1821   port 3 queue 1: bytes=302, pkts=1, errors=0, duration=?
1822   port 3 queue 2: bytes=0, pkts=0, errors=0, duration=?
1823   port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=?
1824   port 2 queue 2: bytes=0, pkts=0, errors=0, duration=?
1825   port 1 queue 1: bytes=0, pkts=0, errors=0, duration=?
1826   port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
1827 ])
1828 AT_CLEANUP
1829
1830 AT_SETUP([OFPST_QUEUE reply - OF1.2])
1831 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1832 AT_CHECK([ovs-ofctl ofp-print "\
1833 03 13 00 d0 00 00 00 01 00 05 00 00 00 00 00 00 \
1834 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
1835 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
1836 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
1837 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1838 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
1839 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
1840 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
1841 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1842 00 00 00 01 00 00 00 01 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 01 00 00 00 02 00 00 00 00 00 00 00 00 \
1845 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1846 "], [0], [dnl
1847 OFPST_QUEUE reply (OF1.2) (xid=0x1): 6 queues
1848   port 3 queue 1: bytes=302, pkts=1, errors=0, duration=?
1849   port 3 queue 2: bytes=0, pkts=0, errors=0, duration=?
1850   port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=?
1851   port 2 queue 2: bytes=0, pkts=0, errors=0, duration=?
1852   port 1 queue 1: bytes=0, pkts=0, errors=0, duration=?
1853   port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
1854 ])
1855 AT_CLEANUP
1856
1857 AT_SETUP([OFPST_QUEUE reply - OF1.3])
1858 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1859 AT_CHECK([ovs-ofctl ofp-print "\
1860 04 13 01 00 00 00 00 01 00 05 00 00 00 00 00 00 \
1861 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
1862 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
1863 00 00 00 64 1d cd 65 00 \
1864 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
1865 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1866 00 00 00 64 1d cd 65 00 \
1867 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
1868 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
1869 00 00 00 64 1d cd 65 00 \
1870 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
1871 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1872 00 00 00 64 1d cd 65 00 \
1873 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
1874 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1875 00 00 00 64 1d cd 65 00 \
1876 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \
1877 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1878 ff ff ff ff ff ff ff ff \
1879 "], [0], [dnl
1880 OFPST_QUEUE reply (OF1.3) (xid=0x1): 6 queues
1881   port 3 queue 1: bytes=302, pkts=1, errors=0, duration=100.500s
1882   port 3 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s
1883   port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=100.500s
1884   port 2 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s
1885   port 1 queue 1: bytes=0, pkts=0, errors=0, duration=100.500s
1886   port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
1887 ])
1888 AT_CLEANUP
1889
1890 AT_SETUP([OFPST_QUEUE reply - OF1.4])
1891 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1892 AT_CHECK([ovs-ofctl ofp-print "\
1893 05 13 01 30 00 00 00 01 00 05 00 00 00 00 00 00 \
1894 00 30 00 00 00 00 00 00 \
1895 00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
1896 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
1897 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \
1898 00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
1899 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1900 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \
1901 00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
1902 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
1903 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \
1904 00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
1905 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1906 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \
1907 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
1908 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1909 00 00 00 64 1d cd 65 00 00 30 00 00 00 00 00 00 \
1910 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \
1911 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
1912 ff ff ff ff ff ff ff ff \
1913 "], [0], [dnl
1914 OFPST_QUEUE reply (OF1.4) (xid=0x1): 6 queues
1915   port 3 queue 1: bytes=302, pkts=1, errors=0, duration=100.500s
1916   port 3 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s
1917   port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=100.500s
1918   port 2 queue 2: bytes=0, pkts=0, errors=0, duration=100.500s
1919   port 1 queue 1: bytes=0, pkts=0, errors=0, duration=100.500s
1920   port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
1921 ])
1922 AT_CLEANUP
1923
1924 AT_SETUP([OFPST_GROUP request])
1925 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1926 AT_CHECK([ovs-ofctl ofp-print "\
1927 02 12 00 18 00 00 00 02 00 06 00 00 00 00 00 00 \
1928 ff ff ff ff 00 00 00 00 \
1929 "], [0], [OFPST_GROUP request (OF1.1) (xid=0x2): group_id=ANY
1930 ])
1931 AT_CLEANUP
1932
1933 AT_SETUP([OFPST_GROUP reply - OF1.1])
1934 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1935 AT_CHECK([ovs-ofctl ofp-print "\
1936 02 13 00 a0 00 00 00 02 00 06 00 00 00 00 00 00 \
1937 00 50 00 00 87 65 43 21 00 00 00 04 00 00 00 00 \
1938 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \
1939 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
1940 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
1941 00 00 00 00 00 00 66 66 00 00 00 00 00 33 33 33 \
1942 00 40 00 00 00 00 00 05 00 00 00 02 00 00 00 00 \
1943 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \
1944 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
1945 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
1946 "], [0], [dnl
1947 OFPST_GROUP reply (OF1.1) (xid=0x2):
1948  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
1949  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
1950 ])
1951 AT_CLEANUP
1952
1953 AT_SETUP([OFPST_GROUP reply - OF1.3])
1954 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
1955 AT_CHECK([ovs-ofctl ofp-print "\
1956 04 13 00 b0 00 00 00 02 00 06 00 00 00 00 00 00 \
1957 00 58 00 00 87 65 43 21 00 00 00 04 00 00 00 00 \
1958 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \
1959 00 00 00 12 1d cd 65 00 \
1960 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
1961 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
1962 00 00 00 00 00 00 66 66 00 00 00 00 00 33 33 33 \
1963 00 48 00 00 00 00 00 05 00 00 00 02 00 00 00 00 \
1964 00 00 00 00 00 00 88 88 00 00 00 00 00 77 77 77 \
1965 00 00 00 10 1d cd 65 00 \
1966 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
1967 00 00 00 00 00 00 11 11 00 00 00 00 00 22 22 22 \
1968 "], [0], [dnl
1969 OFPST_GROUP reply (OF1.3) (xid=0x2):
1970  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
1971  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
1972 ])
1973 AT_CLEANUP
1974
1975 AT_SETUP([OFPST_GROUP_DESC request - OF1.1])
1976 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1977 AT_CHECK([ovs-ofctl ofp-print "\
1978 02 12 00 10 00 00 00 02 00 07 00 00 00 00 00 00 \
1979 "], [0], [OFPST_GROUP_DESC request (OF1.1) (xid=0x2): group_id=ALL
1980 ])
1981 AT_CLEANUP
1982
1983 AT_SETUP([OFPST_GROUP_DESC request - OF1.5])
1984 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1985 AT_CHECK([ovs-ofctl ofp-print "\
1986 06 12 00 14 00 00 00 02 00 07 00 00 00 00 00 00 \
1987 00 00 00 01
1988 "], [0], [OFPST_GROUP_DESC request (OF1.5) (xid=0x2): group_id=1
1989 ])
1990 AT_CLEANUP
1991
1992 AT_SETUP([OFPST_GROUP_DESC reply - OF1.1])
1993 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
1994 AT_CHECK([ovs-ofctl ofp-print "\
1995 02 13 00 78 00 00 00 02 00 07 00 00 00 00 00 00 \
1996 00 68 01 00 00 00 20 00 \
1997 00 20 00 64 00 00 00 01 ff ff ff ff 00 00 00 00 \
1998 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \
1999 00 20 00 c8 00 00 00 02 ff ff ff ff 00 00 00 00 \
2000 00 00 00 10 00 00 00 02 00 00 00 00 00 00 00 00 \
2001 00 20 00 c8 00 00 00 03 ff ff ff ff 00 00 00 00 \
2002 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
2003 "], [0], [dnl
2004 OFPST_GROUP_DESC reply (OF1.1) (xid=0x2):
2005  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
2006 ])
2007 AT_CLEANUP
2008
2009 AT_SETUP([OFPST_GROUP_DESC reply - OF1.5])
2010 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2011 AT_CHECK([ovs-ofctl ofp-print "\
2012 06 13 00 98 00 00 00 02 00 07 00 00 00 00 00 00 \
2013 00 88 01 00 00 00 20 00 00 78 00 00 00 00 00 00 \
2014 00 28 00 10 00 00 00 00 00 00 00 10 00 00 00 01 \
2015 00 00 00 00 00 00 00 00 00 00 00 08 00 64 00 00 \
2016 00 01 00 08 00 00 00 01 \
2017 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \
2018 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \
2019 00 01 00 08 00 00 00 02 \
2020 00 28 00 10 00 00 00 02 00 00 00 10 00 00 00 03 \
2021 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \
2022 00 01 00 08 00 00 00 03 \
2023 "], [0], [dnl
2024 OFPST_GROUP_DESC reply (OF1.5) (xid=0x2):
2025  group_id=8192,type=select,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
2026 ])
2027 AT_CLEANUP
2028
2029 AT_SETUP([OFPST_GROUP_FEATURES request])
2030 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2031 AT_CHECK([ovs-ofctl ofp-print "\
2032 03 12 00 10 00 00 00 02 00 08 00 00 00 00 00 00 \
2033 "], [0], [OFPST_GROUP_FEATURES request (OF1.2) (xid=0x2):
2034 ])
2035 AT_CLEANUP
2036
2037 AT_SETUP([OFPST_GROUP_FEATURES reply])
2038 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2039 AT_CHECK([ovs-ofctl ofp-print "\
2040 03 13 00 38 00 00 00 02 00 08 00 00 00 00 00 00 \
2041 00 00 00 0f 00 00 00 0f \
2042 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 \
2043 00 00 00 01 00 02 00 01 00 06 00 01 00 0e 00 01 \
2044 "], [0], [dnl
2045 OFPST_GROUP_FEATURES reply (OF1.2) (xid=0x2):
2046  Group table:
2047     Types:  0xf
2048     Capabilities:  0xf
2049     all group:
2050        max_groups=0x1
2051        actions: output
2052     select group:
2053        max_groups=0x2
2054        actions: output push_vlan
2055     indirect group:
2056        max_groups=0x3
2057        actions: output strip_vlan push_vlan
2058     fast failover group:
2059        max_groups=0x4
2060        actions: output strip_vlan push_vlan push_mpls
2061 ])
2062 AT_CLEANUP
2063
2064 AT_SETUP([OFPST_PORT_DESC request - OF1.0])
2065 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2066 AT_CHECK([ovs-ofctl ofp-print "0110000c00000001000d0000"], [0], [dnl
2067 OFPST_PORT_DESC request (xid=0x1): port=ANY
2068 ])
2069 AT_CLEANUP
2070
2071 AT_SETUP([OFPST_PORT_DESC request - OF1.5])
2072 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2073 AT_CHECK([ovs-ofctl ofp-print "\
2074 06 12 00 14 00 00 00 02 00 0d 00 00 00 00 00 00 \
2075 00 00 00 05"], [0], [dnl
2076 OFPST_PORT_DESC request (OF1.5) (xid=0x2): port=5
2077 ])
2078 AT_CLEANUP
2079
2080 AT_SETUP([OFPST_PORT_DESC reply - OF1.0])
2081 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2082 AT_CHECK([ovs-ofctl ofp-print "\
2083 01 11 00 3c 00 00 00 00 00 0d 00 00 00 03 50 54 \
2084 00 00 00 01 65 74 68 30 00 00 00 00 00 00 00 00 \
2085 00 00 00 00 00 00 00 01 00 00 00 01 00 00 02 08 \
2086 00 00 02 8f 00 00 02 8f 00 00 00 00 \
2087 "], [0], [dnl
2088 OFPST_PORT_DESC reply (xid=0x0):
2089  3(eth0): addr:50:54:00:00:00:01
2090      config:     PORT_DOWN
2091      state:      LINK_DOWN
2092      current:    100MB-FD AUTO_NEG
2093      advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
2094      supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
2095      speed: 100 Mbps now, 100 Mbps max
2096 ])
2097 AT_CLEANUP
2098
2099 AT_SETUP([OFPST_PORT_DESC reply - OF1.4])
2100 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2101 AT_CHECK([ovs-ofctl ofp-print "\
2102 05 13 00 58 00 00 00 02 00 0d 00 00 00 00 00 00 \
2103 00 00 00 03 00 48 00 00 50 54 00 00 00 01 00 00 \
2104 65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
2105 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 \
2106 00 00 20 08 00 00 28 0f 00 00 28 0f 00 00 00 00 \
2107 00 01 86 a0 00 01 86 a0 \
2108 "], [0], [dnl
2109 OFPST_PORT_DESC reply (OF1.4) (xid=0x2):
2110  3(eth0): addr:50:54:00:00:00:01
2111      config:     0
2112      state:      0
2113      current:    100MB-FD AUTO_NEG
2114      advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
2115      supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
2116      speed: 100 Mbps now, 100 Mbps max
2117 ])
2118 AT_CLEANUP
2119
2120 AT_SETUP([OFPT_METER_MOD request - OF1.3])
2121 AT_KEYWORDS([ofp-print])
2122 AT_CHECK([ovs-ofctl ofp-print "\
2123 04 1d 00 20 00 00 00 02 00 00 00 0d 00 00 00 05 \
2124 00 01 00 10 00 00 04 00 00 00 00 80 00 00 00 00 \
2125 "], [0], [dnl
2126 OFPT_METER_MOD (OF1.3) (xid=0x2): ADD meter=5 kbps burst stats bands=
2127 type=drop rate=1024 burst_size=128
2128 ])
2129 AT_CLEANUP
2130
2131 AT_SETUP([OFPT_METER_MOD request - bad band - OF1.3])
2132 AT_KEYWORDS([ofp-print])
2133 AT_CHECK([ovs-ofctl ofp-print "\
2134 04 1d 00 20 85 01 d7 38 00 00 00 00 00 00 00 01
2135 00 05 00 10 00 00 00 02 00 00 00 02 00 00 00 00
2136 "], [0], [dnl
2137 OFPT_METER_MOD (OF1.3) (xid=0x8501d738): ***decode error: OFPMMFC_BAD_BAND***
2138 ])
2139 AT_CLEANUP
2140
2141 AT_SETUP([OFPT_METER_MOD request - bad command - OF1.3])
2142 AT_KEYWORDS([ofp-print])
2143 AT_CHECK([ovs-ofctl ofp-print "\
2144 04 1d 00 10 28 a6 26 52 00 08 00 00 00 00 00 01
2145 "], [0], [dnl
2146 OFPT_METER_MOD (OF1.3) (xid=0x28a62652): ***decode error: OFPMMFC_BAD_COMMAND***
2147 ])
2148 AT_CLEANUP
2149
2150 AT_SETUP([OFPT_METER_MOD request - bad flags - OF1.3])
2151 AT_KEYWORDS([ofp-print])
2152 AT_CHECK([ovs-ofctl ofp-print "\
2153 04 1d 00 20 82 b3 a1 a4 00 00 00 03 00 00 00 01 \
2154 00 01 00 10 00 00 00 02 00 00 00 02 00 00 00 00 \
2155 "], [0], [dnl
2156 OFPT_METER_MOD (OF1.3) (xid=0x82b3a1a4): ***decode error: OFPMMFC_BAD_FLAGS***
2157 ])
2158 AT_CLEANUP
2159
2160 AT_SETUP([OFPST_METER request - OF1.3])
2161 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2162 AT_CHECK([ovs-ofctl ofp-print "041200180000000200090000000000000000000100000000"], [0], [dnl
2163 OFPST_METER request (OF1.3) (xid=0x2): meter=1
2164 ])
2165 AT_CLEANUP
2166
2167 AT_SETUP([OFPST_METER_CONFIG request - OF1.3])
2168 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2169 AT_CHECK([ovs-ofctl ofp-print "0412001800000002000a0000000000000000000100000000"], [0], [dnl
2170 OFPST_METER_CONFIG request (OF1.3) (xid=0x2): meter=1
2171 ])
2172 AT_CLEANUP
2173
2174 AT_SETUP([OFPST_METER_FEATURES request - OF1.3])
2175 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2176 AT_CHECK([ovs-ofctl ofp-print "0412001000000002000b000000000000"], [0], [dnl
2177 OFPST_METER_FEATURES request (OF1.3) (xid=0x2):
2178 ])
2179 AT_CLEANUP
2180
2181 AT_SETUP([OFPST_METER_FEATURES reply - OF1.3])
2182 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2183 AT_CHECK([ovs-ofctl ofp-print "\
2184 04 13 00 20 00 00 00 02 00 0b 00 00 00 00 00 00 \
2185 00 01 00 00 00 00 00 06 00 00 00 0F 10 02 00 00 \
2186 "], [0], [dnl
2187 OFPST_METER_FEATURES reply (OF1.3) (xid=0x2):
2188 max_meter:65536 max_bands:16 max_color:2
2189 band_types: drop dscp_remark
2190 capabilities: kbps pktps burst stats
2191 ])
2192 AT_CLEANUP
2193
2194 AT_SETUP([OFPST_METER_CONFIG reply - OF1.3])
2195 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2196 AT_CHECK([ovs-ofctl ofp-print "\
2197 04 13 00 50 00 00 00 02 00 0a 00 00 00 00 00 00 \
2198 00 28 00 05 00 00 00 01 \
2199 00 01 00 10 00 01 00 00 00 00 05 00 00 00 00 00 \
2200 00 02 00 10 00 10 00 00 00 00 f0 00 00 00 00 00 \
2201 00 18 00 09 00 00 00 02 \
2202 00 01 00 10 00 02 00 00 00 00 00 00 00 00 00 00 \
2203 "], [0], [dnl
2204 OFPST_METER_CONFIG reply (OF1.3) (xid=0x2):
2205 meter=1 kbps burst bands=
2206 type=drop rate=65536 burst_size=1280
2207 type=dscp_remark rate=1048576 burst_size=61440 prec_level=0
2208
2209 meter=2 kbps stats bands=
2210 type=drop rate=131072
2211 ])
2212 AT_CLEANUP
2213
2214 AT_SETUP([OFPST_METER reply - OF1.3])
2215 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2216 AT_CHECK([ovs-ofctl ofp-print "\
2217 04 13 00 90 00 00 00 02 00 09 00 00 00 00 00 00 \
2218 00 00 00 01 00 48 00 00 00 00 00 00 00 00 00 05 \
2219 00 00 00 00 00 00 10 00 00 00 00 00 00 02 30 00 \
2220 00 00 01 8a 0a 6e 23 44 \
2221 00 00 00 00 00 00 00 7e 00 00 00 00 00 00 34 33 \
2222 00 00 00 00 00 00 00 e7 00 00 00 00 00 00 94 2e \
2223 00 00 00 02 00 38 00 00 00 00 00 00 00 00 00 02 \
2224 00 00 00 00 00 00 02 00 00 00 00 00 00 00 30 00 \
2225 00 00 01 87 0a 23 6e 44 \
2226 00 00 00 00 00 00 00 2a 00 00 00 00 00 00 04 33 \
2227 "], [0], [dnl
2228 OFPST_METER reply (OF1.3) (xid=0x2):
2229 meter:1 flow_count:5 packet_in_count:4096 byte_in_count:143360 duration:394.174990148s bands:
2230 0: packet_count:126 byte_count:13363
2231 1: packet_count:231 byte_count:37934
2232
2233 meter:2 flow_count:2 packet_in_count:512 byte_in_count:12288 duration:391.170094148s bands:
2234 0: packet_count:42 byte_count:1075
2235 ])
2236 AT_CLEANUP
2237
2238 AT_SETUP([OFPST_TABLE_FEATURES request - OF1.3])
2239 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2240 AT_CHECK([ovs-ofctl ofp-print "\
2241 04 13 09 40 00 00 00 d5 00 0c 00 01 00 00 00 00 \
2242 09 30 00 00 00 00 00 00 74 61 62 6c 65 30 00 00 \
2243 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
2244 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff \
2245 ff ff ff ff ff ff ff ff 00 00 00 03 00 0f 42 40 \
2246 00 00 00 2c 00 01 00 08 00 00 00 00 00 02 00 08 \
2247 00 00 00 00 00 03 00 08 00 00 00 00 00 04 00 08 \
2248 00 00 00 00 00 05 00 08 00 00 00 00 00 00 00 00 \
2249 00 01 00 2c 00 01 00 08 00 00 00 00 00 02 00 08 \
2250 00 00 00 00 00 03 00 08 00 00 00 00 00 04 00 08 \
2251 00 00 00 00 00 05 00 08 00 00 00 00 00 00 00 00 \
2252 00 02 01 01 01 02 03 04 05 06 07 08 09 0a 0b 0c \
2253 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c \
2254 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c \
2255 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c \
2256 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c \
2257 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c \
2258 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c \
2259 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c \
2260 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c \
2261 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c \
2262 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac \
2263 ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc \
2264 bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc \
2265 cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc \
2266 dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec \
2267 ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc \
2268 fd 00 00 00 00 00 00 00 00 03 01 01 01 02 03 04 \
2269 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 \
2270 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 \
2271 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 \
2272 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 \
2273 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 \
2274 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 \
2275 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 \
2276 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 \
2277 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 \
2278 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 \
2279 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 \
2280 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 \
2281 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 \
2282 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 \
2283 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 \
2284 f5 f6 f7 f8 f9 fa fb fc fd 00 00 00 00 00 00 00 \
2285 00 04 00 84 00 00 00 08 00 00 00 00 00 0b 00 08 \
2286 00 00 00 00 00 0c 00 08 00 00 00 00 00 0f 00 08 \
2287 00 00 00 00 00 10 00 08 00 00 00 00 00 11 00 08 \
2288 00 00 00 00 00 12 00 08 00 00 00 00 00 13 00 08 \
2289 00 00 00 00 00 14 00 08 00 00 00 00 00 15 00 08 \
2290 00 00 00 00 00 16 00 08 00 00 00 00 00 17 00 08 \
2291 00 00 00 00 00 18 00 08 00 00 00 00 00 19 00 08 \
2292 00 00 00 00 00 1a 00 08 00 00 00 00 00 1b 00 08 \
2293 00 00 00 00 00 00 00 00 00 05 00 84 00 00 00 08 \
2294 00 00 00 00 00 0b 00 08 00 00 00 00 00 0c 00 08 \
2295 00 00 00 00 00 0f 00 08 00 00 00 00 00 10 00 08 \
2296 00 00 00 00 00 11 00 08 00 00 00 00 00 12 00 08 \
2297 00 00 00 00 00 13 00 08 00 00 00 00 00 14 00 08 \
2298 00 00 00 00 00 15 00 08 00 00 00 00 00 16 00 08 \
2299 00 00 00 00 00 17 00 08 00 00 00 00 00 18 00 08 \
2300 00 00 00 00 00 19 00 08 00 00 00 00 00 1a 00 08 \
2301 00 00 00 00 00 1b 00 08 00 00 00 00 00 00 00 00 \
2302 00 06 00 84 00 00 00 08 00 00 00 00 00 0b 00 08 \
2303 00 00 00 00 00 0c 00 08 00 00 00 00 00 0f 00 08 \
2304 00 00 00 00 00 10 00 08 00 00 00 00 00 11 00 08 \
2305 00 00 00 00 00 12 00 08 00 00 00 00 00 13 00 08 \
2306 00 00 00 00 00 14 00 08 00 00 00 00 00 15 00 08 \
2307 00 00 00 00 00 16 00 08 00 00 00 00 00 17 00 08 \
2308 00 00 00 00 00 18 00 08 00 00 00 00 00 19 00 08 \
2309 00 00 00 00 00 1a 00 08 00 00 00 00 00 1b 00 08 \
2310 00 00 00 00 00 00 00 00 00 07 00 84 00 00 00 08 \
2311 00 00 00 00 00 0b 00 08 00 00 00 00 00 0c 00 08 \
2312 00 00 00 00 00 0f 00 08 00 00 00 00 00 10 00 08 \
2313 00 00 00 00 00 11 00 08 00 00 00 00 00 12 00 08 \
2314 00 00 00 00 00 13 00 08 00 00 00 00 00 14 00 08 \
2315 00 00 00 00 00 15 00 08 00 00 00 00 00 16 00 08 \
2316 00 00 00 00 00 17 00 08 00 00 00 00 00 18 00 08 \
2317 00 00 00 00 00 19 00 08 00 00 00 00 00 1a 00 08 \
2318 00 00 00 00 00 1b 00 08 00 00 00 00 00 00 00 00 \
2319 00 08 00 dc 80 00 4c 08 00 01 3e 04 00 01 40 04 \
2320 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \
2321 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \
2322 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \
2323 80 00 08 06 80 00 06 06 80 00 0a 02 00 00 08 02 \
2324 80 00 0c 02 80 00 0e 01 80 00 44 04 80 00 46 01 \
2325 80 00 48 01 80 00 16 04 80 00 18 04 80 00 34 10 \
2326 80 00 36 10 80 00 38 04 80 00 14 01 00 00 0a 01 \
2327 80 00 10 01 80 00 12 01 00 01 3a 01 00 01 34 01 \
2328 80 00 2a 02 80 00 2c 04 80 00 2e 04 80 00 30 06 \
2329 80 00 32 06 80 00 1a 02 80 00 1c 02 00 01 44 02 \
2330 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \
2331 80 00 26 01 80 00 28 01 80 00 3a 01 80 00 3c 01 \
2332 80 00 3e 10 80 00 40 06 80 00 42 06 00 00 00 00 \
2333 00 0a 00 dc 80 00 4c 08 00 01 3e 04 00 01 40 04 \
2334 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \
2335 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \
2336 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \
2337 80 00 08 06 80 00 06 06 80 00 0a 02 00 00 08 02 \
2338 80 00 0c 02 80 00 0e 01 80 00 44 04 80 00 46 01 \
2339 80 00 48 01 80 00 16 04 80 00 18 04 80 00 34 10 \
2340 80 00 36 10 80 00 38 04 80 00 14 01 00 00 0a 01 \
2341 80 00 10 01 80 00 12 01 00 01 3a 01 00 01 34 01 \
2342 80 00 2a 02 80 00 2c 04 80 00 2e 04 80 00 30 06 \
2343 80 00 32 06 80 00 1a 02 80 00 1c 02 00 01 44 02 \
2344 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \
2345 80 00 26 01 80 00 28 01 80 00 3a 01 80 00 3c 01 \
2346 80 00 3e 10 80 00 40 06 80 00 42 06 00 00 00 00 \
2347 00 0c 00 a8 80 00 4c 08 00 01 3e 04 00 01 40 04 \
2348 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \
2349 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \
2350 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \
2351 80 00 08 06 80 00 06 06 00 00 08 02 80 00 0c 02 \
2352 80 00 0e 01 80 00 44 04 80 00 46 01 80 00 16 04 \
2353 80 00 18 04 80 00 34 10 80 00 36 10 00 00 0a 01 \
2354 80 00 10 01 80 00 12 01 00 01 3a 01 80 00 2a 02 \
2355 80 00 2c 04 80 00 2e 04 80 00 30 06 80 00 32 06 \
2356 80 00 1a 02 80 00 1c 02 80 00 1e 02 80 00 20 02 \
2357 80 00 22 02 80 00 24 02 00 0d 00 a8 80 00 4c 08 \
2358 00 01 3e 04 00 01 40 04 80 00 04 08 00 00 00 02 \
2359 80 00 00 04 00 01 42 04 00 01 00 04 00 01 02 04 \
2360 00 01 04 04 00 01 06 04 00 01 08 04 00 01 0a 04 \
2361 00 01 0c 04 00 01 0e 04 80 00 08 06 80 00 06 06 \
2362 00 00 08 02 80 00 0c 02 80 00 0e 01 80 00 44 04 \
2363 80 00 46 01 80 00 16 04 80 00 18 04 80 00 34 10 \
2364 80 00 36 10 00 00 0a 01 80 00 10 01 80 00 12 01 \
2365 00 01 3a 01 80 00 2a 02 80 00 2c 04 80 00 2e 04 \
2366 80 00 30 06 80 00 32 06 80 00 1a 02 80 00 1c 02 \
2367 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \
2368 00 0e 00 a8 80 00 4c 08 00 01 3e 04 00 01 40 04 \
2369 80 00 04 08 00 00 00 02 80 00 00 04 00 01 42 04 \
2370 00 01 00 04 00 01 02 04 00 01 04 04 00 01 06 04 \
2371 00 01 08 04 00 01 0a 04 00 01 0c 04 00 01 0e 04 \
2372 80 00 08 06 80 00 06 06 00 00 08 02 80 00 0c 02 \
2373 80 00 0e 01 80 00 44 04 80 00 46 01 80 00 16 04 \
2374 80 00 18 04 80 00 34 10 80 00 36 10 00 00 0a 01 \
2375 80 00 10 01 80 00 12 01 00 01 3a 01 80 00 2a 02 \
2376 80 00 2c 04 80 00 2e 04 80 00 30 06 80 00 32 06 \
2377 80 00 1a 02 80 00 1c 02 80 00 1e 02 80 00 20 02 \
2378 80 00 22 02 80 00 24 02 00 0f 00 a8 80 00 4c 08 \
2379 00 01 3e 04 00 01 40 04 80 00 04 08 00 00 00 02 \
2380 80 00 00 04 00 01 42 04 00 01 00 04 00 01 02 04 \
2381 00 01 04 04 00 01 06 04 00 01 08 04 00 01 0a 04 \
2382 00 01 0c 04 00 01 0e 04 80 00 08 06 80 00 06 06 \
2383 00 00 08 02 80 00 0c 02 80 00 0e 01 80 00 44 04 \
2384 80 00 46 01 80 00 16 04 80 00 18 04 80 00 34 10 \
2385 80 00 36 10 00 00 0a 01 80 00 10 01 80 00 12 01 \
2386 00 01 3a 01 80 00 2a 02 80 00 2c 04 80 00 2e 04 \
2387 80 00 30 06 80 00 32 06 80 00 1a 02 80 00 1c 02 \
2388 80 00 1e 02 80 00 20 02 80 00 22 02 80 00 24 02 \
2389 "], [0], [OFPST_TABLE_FEATURES reply (OF1.3) (xid=0xd5):
2390   table 0 ("table0"):
2391     metadata: match=0xffffffffffffffff write=0xffffffffffffffff
2392     max_entries=1000000
2393     instructions (table miss and others):
2394       next tables: 1-253
2395       instructions: apply_actions,clear_actions,write_actions,write_metadata,goto_table
2396       Write-Actions and Apply-Actions features:
2397         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
2398         supported on Set-Field: tun_id tun_src tun_dst metadata in_port in_port_oxm pkt_mark reg0 reg1 reg2 reg3 reg4 reg5 reg6 reg7 eth_src eth_dst vlan_tci vlan_vid vlan_pcp mpls_label mpls_tc ip_src ip_dst ipv6_src ipv6_dst nw_tos ip_dscp nw_ecn nw_ttl arp_op arp_spa arp_tpa arp_sha arp_tha tcp_src tcp_dst udp_src udp_dst sctp_src sctp_dst
2399     matching:
2400       tun_id: exact match or wildcard
2401       tun_src: exact match or wildcard
2402       tun_dst: exact match or wildcard
2403       metadata: exact match or wildcard
2404       in_port: exact match or wildcard
2405       in_port_oxm: exact match or wildcard
2406       pkt_mark: exact match or wildcard
2407       reg0: exact match or wildcard
2408       reg1: exact match or wildcard
2409       reg2: exact match or wildcard
2410       reg3: exact match or wildcard
2411       reg4: exact match or wildcard
2412       reg5: exact match or wildcard
2413       reg6: exact match or wildcard
2414       reg7: exact match or wildcard
2415       eth_src: exact match or wildcard
2416       eth_dst: exact match or wildcard
2417       eth_type: exact match or wildcard
2418       vlan_tci: exact match or wildcard
2419       vlan_vid: exact match or wildcard
2420       vlan_pcp: exact match or wildcard
2421       mpls_label: exact match or wildcard
2422       mpls_tc: exact match or wildcard
2423       mpls_bos: exact match or wildcard
2424       ip_src: exact match or wildcard
2425       ip_dst: exact match or wildcard
2426       ipv6_src: exact match or wildcard
2427       ipv6_dst: exact match or wildcard
2428       ipv6_label: exact match or wildcard
2429       nw_proto: exact match or wildcard
2430       nw_tos: exact match or wildcard
2431       ip_dscp: exact match or wildcard
2432       nw_ecn: exact match or wildcard
2433       nw_ttl: exact match or wildcard
2434       ip_frag: exact match or wildcard
2435       arp_op: exact match or wildcard
2436       arp_spa: exact match or wildcard
2437       arp_tpa: exact match or wildcard
2438       arp_sha: exact match or wildcard
2439       arp_tha: exact match or wildcard
2440       tcp_src: exact match or wildcard
2441       tcp_dst: exact match or wildcard
2442       tcp_flags: exact match or wildcard
2443       udp_src: exact match or wildcard
2444       udp_dst: exact match or wildcard
2445       sctp_src: exact match or wildcard
2446       sctp_dst: exact match or wildcard
2447       icmp_type: exact match or wildcard
2448       icmp_code: exact match or wildcard
2449       icmpv6_type: exact match or wildcard
2450       icmpv6_code: exact match or wildcard
2451       nd_target: exact match or wildcard
2452       nd_sll: exact match or wildcard
2453       nd_tll: exact match or wildcard
2454 ])
2455 AT_CLEANUP
2456
2457 AT_SETUP([OFPT_BARRIER_REQUEST - OF1.0])
2458 AT_KEYWORDS([ofp-print])
2459 AT_CHECK([ovs-ofctl ofp-print '01 12 00 08 00 00 00 01'], [0], [dnl
2460 OFPT_BARRIER_REQUEST (xid=0x1):
2461 ])
2462 AT_CLEANUP
2463
2464 AT_SETUP([OFPT_BARRIER_REQUEST - OF1.1])
2465 AT_KEYWORDS([ofp-print])
2466 AT_CHECK([ovs-ofctl ofp-print '02 14 00 08 00 00 00 01'], [0], [dnl
2467 OFPT_BARRIER_REQUEST (OF1.1) (xid=0x1):
2468 ])
2469 AT_CLEANUP
2470
2471 AT_SETUP([OFPT_BARRIER_REQUEST - OF1.2])
2472 AT_KEYWORDS([ofp-print])
2473 AT_CHECK([ovs-ofctl ofp-print '03 14 00 08 00 00 00 01'], [0], [dnl
2474 OFPT_BARRIER_REQUEST (OF1.2) (xid=0x1):
2475 ])
2476 AT_CLEANUP
2477
2478 AT_SETUP([OFPT_BARRIER_REQUEST - OF1.3])
2479 AT_KEYWORDS([ofp-print])
2480 AT_CHECK([ovs-ofctl ofp-print '04 14 00 08 00 00 00 01'], [0], [dnl
2481 OFPT_BARRIER_REQUEST (OF1.3) (xid=0x1):
2482 ])
2483 AT_CLEANUP
2484
2485 AT_SETUP([OFPT_BARRIER_REPLY - OF1.0])
2486 AT_KEYWORDS([ofp-print])
2487 AT_CHECK([ovs-ofctl ofp-print '01 13 00 08 00 00 00 01'], [0], [dnl
2488 OFPT_BARRIER_REPLY (xid=0x1):
2489 ])
2490 AT_CLEANUP
2491
2492 AT_SETUP([OFPT_BARRIER_REPLY - OF1.1])
2493 AT_KEYWORDS([ofp-print])
2494 AT_CHECK([ovs-ofctl ofp-print '02 15 00 08 00 00 00 01'], [0], [dnl
2495 OFPT_BARRIER_REPLY (OF1.1) (xid=0x1):
2496 ])
2497 AT_CLEANUP
2498
2499 AT_SETUP([OFPT_BARRIER_REPLY - OF1.2])
2500 AT_KEYWORDS([ofp-print])
2501 AT_CHECK([ovs-ofctl ofp-print '03 15 00 08 00 00 00 01'], [0], [dnl
2502 OFPT_BARRIER_REPLY (OF1.2) (xid=0x1):
2503 ])
2504 AT_CLEANUP
2505
2506 AT_SETUP([OFPT_BARRIER_REPLY - OF1.3])
2507 AT_KEYWORDS([ofp-print])
2508 AT_CHECK([ovs-ofctl ofp-print '04 15 00 08 00 00 00 01'], [0], [dnl
2509 OFPT_BARRIER_REPLY (OF1.3) (xid=0x1):
2510 ])
2511 AT_CLEANUP
2512
2513 AT_SETUP([OFPT_QUEUE_GET_CONFIG_REQUEST - OF1.0])
2514 AT_KEYWORDS([ofp-print])
2515 AT_CHECK([ovs-ofctl ofp-print "01 14 00 0c 00 00 00 01 00 01 00 00"], [0], [dnl
2516 OFPT_QUEUE_GET_CONFIG_REQUEST (xid=0x1): port=1
2517 ])
2518 AT_CLEANUP
2519
2520 AT_SETUP([OFPT_QUEUE_GET_CONFIG_REQUEST - OF1.2])
2521 AT_KEYWORDS([ofp-print])
2522 AT_CHECK([ovs-ofctl ofp-print "\
2523 03 16 00 10 00 00 00 01 00 00 00 01 00 00 00 00"], [0], [dnl
2524 OFPT_QUEUE_GET_CONFIG_REQUEST (OF1.2) (xid=0x1): port=1
2525 ])
2526 AT_CLEANUP
2527
2528 AT_SETUP([OFPT_QUEUE_GET_CONFIG_REPLY - OF1.0])
2529 AT_KEYWORDS([ofp-print])
2530 AT_CHECK([ovs-ofctl ofp-print "01 15 00 40 00 00 00 01 \
2531 00 01 00 00 00 00 00 00 \
2532 00 00 55 55 00 28 00 00 \
2533 00 01 00 10 00 00 00 00 01 f4 00 00 00 00 00 00 \
2534 00 02 00 10 00 00 00 00 02 ee 00 00 00 00 00 00 \
2535 00 00 44 44 00 08 00 00 \
2536 "], [0], [dnl
2537 OFPT_QUEUE_GET_CONFIG_REPLY (xid=0x1): port=1
2538 queue 21845: min_rate:50.0% max_rate:75.0%
2539 queue 17476:
2540 ])
2541 AT_CLEANUP
2542
2543 AT_SETUP([OFPT_QUEUE_GET_CONFIG_REPLY - OF1.2])
2544 AT_KEYWORDS([ofp-print])
2545 AT_CHECK([ovs-ofctl ofp-print "03 17 00 50 00 00 00 01 \
2546 00 00 00 01 00 00 00 00 \
2547 00 00 55 55 00 00 00 01 00 30 00 00 00 00 00 00 \
2548 00 01 00 10 00 00 00 00 01 f4 00 00 00 00 00 00 \
2549 00 02 00 10 00 00 00 00 02 ee 00 00 00 00 00 00 \
2550 00 00 44 44 00 08 00 01 00 10 00 00 00 00 00 00 \
2551 "], [0], [dnl
2552 OFPT_QUEUE_GET_CONFIG_REPLY (OF1.2) (xid=0x1): port=1
2553 queue 21845: min_rate:50.0% max_rate:75.0%
2554 queue 17476:
2555 ])
2556 AT_CLEANUP
2557
2558 AT_SETUP([OFPT_SET_ASYNC - OF1.3])
2559 AT_KEYWORDS([ofp-print])
2560 AT_CHECK([ovs-ofctl ofp-print "\
2561 04 1c 00 20 00 00 00 00 00 00 10 05 00 00 10 07 \
2562 00 00 00 03 00 00 00 07 00 00 00 00 00 00 00 03 \
2563 "], [0], [dnl
2564 OFPT_SET_ASYNC (OF1.3) (xid=0x0):
2565  master:
2566        PACKET_IN: no_match invalid_ttl 12
2567      PORT_STATUS: add delete
2568     FLOW_REMOVED: (off)
2569
2570  slave:
2571        PACKET_IN: no_match action invalid_ttl 12
2572      PORT_STATUS: add delete modify
2573     FLOW_REMOVED: idle hard
2574 ])
2575 AT_CLEANUP
2576
2577 AT_SETUP([OFPT_ROLE_REQUEST - OF1.2])
2578 AT_KEYWORDS([ofp-print])
2579 AT_CHECK([ovs-ofctl ofp-print "\
2580 03 18 00 18 00 00 00 02 00 00 00 02 00 00 00 00 \
2581 00 00 00 00 00 00 00 03 \
2582 "], [0], [dnl
2583 OFPT_ROLE_REQUEST (OF1.2) (xid=0x2): role=master generation_id=3
2584 ])
2585 AT_CLEANUP
2586
2587 AT_SETUP([OFPT_ROLE_REQUEST - nochange - OF1.2])
2588 AT_KEYWORDS([ofp-print])
2589 AT_CHECK([ovs-ofctl ofp-print "\
2590 03 18 00 18 00 00 00 02 00 00 00 00 00 00 00 00 \
2591 00 00 00 00 00 00 00 00 \
2592 "], [0], [dnl
2593 OFPT_ROLE_REQUEST (OF1.2) (xid=0x2): role=nochange
2594 ])
2595 AT_CLEANUP
2596
2597 AT_SETUP([NXT_ROLE_REQUEST])
2598 AT_KEYWORDS([ofp-print])
2599 AT_CHECK([ovs-ofctl ofp-print "\
2600 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0a \
2601 00 00 00 01 \
2602 "], [0], [dnl
2603 NXT_ROLE_REQUEST (xid=0x2): role=master
2604 ])
2605 AT_CLEANUP
2606
2607 AT_SETUP([OFPT_ROLE_REPLY - OF1.2])
2608 AT_KEYWORDS([ofp-print])
2609 AT_CHECK([ovs-ofctl ofp-print "\
2610 03 19 00 18 00 00 00 02 00 00 00 03 00 00 00 00 \
2611 12 34 56 78 ab cd ef 90 \
2612 "], [0], [dnl
2613 OFPT_ROLE_REPLY (OF1.2) (xid=0x2): role=slave generation_id=1311768467750121360
2614 ])
2615 AT_CLEANUP
2616
2617 AT_SETUP([NXT_ROLE_REPLY])
2618 AT_KEYWORDS([ofp-print])
2619 AT_CHECK([ovs-ofctl ofp-print "\
2620 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0b \
2621 00 00 00 02 \
2622 "], [0], [dnl
2623 NXT_ROLE_REPLY (xid=0x2): role=slave
2624 ])
2625 AT_CLEANUP
2626
2627 AT_SETUP([OFP_ROLE_STATUS - master, experimenter - OF1.4])
2628 AT_KEYWORDS([ofp-print])
2629 AT_CHECK([ovs-ofctl ofp-print "\
2630 05 1e 00 18 00 00 00 0a \
2631 00 00 00 02 02 00 00 00 ff ff ff ff ff ff ff ff \
2632 "], [0], [dnl
2633 OFPT_ROLE_STATUS (OF1.4) (xid=0xa): role=master reason=experimenter_data_changed
2634 ])
2635 AT_CLEANUP
2636
2637 AT_SETUP([OFP_ROLE_STATUS - master, config - OF1.4])
2638 AT_KEYWORDS([ofp-print])
2639 AT_CHECK([ovs-ofctl ofp-print "\
2640 05 1e 00 18 00 00 00 0a \
2641 00 00 00 02 01 00 00 00 ff ff ff ff ff ff ff ff \
2642 "], [0], [dnl
2643 OFPT_ROLE_STATUS (OF1.4) (xid=0xa): role=master reason=configuration_changed
2644 ])
2645 AT_CLEANUP
2646
2647 AT_SETUP([OFP_ROLE_STATUS - master, config,generation - OF1.4])
2648 AT_KEYWORDS([ofp-print])
2649 AT_CHECK([ovs-ofctl ofp-print "\
2650 05 1e 00 18 00 00 00 0a \
2651 00 00 00 02 01 00 00 00 00 00 00 00 00 00 00 10 \
2652 "], [0], [dnl
2653 OFPT_ROLE_STATUS (OF1.4) (xid=0xa): role=master generation_id=16 reason=configuration_changed
2654 ])
2655 AT_CLEANUP
2656
2657 AT_SETUP([NXT_SET_PACKET_IN])
2658 AT_KEYWORDS([ofp-print])
2659 AT_CHECK([ovs-ofctl ofp-print "\
2660 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 10 \
2661 00 00 00 01 \
2662 "], [0], [dnl
2663 NXT_SET_PACKET_IN_FORMAT (xid=0x2): format=nxm
2664 ])
2665 AT_CLEANUP
2666
2667 AT_SETUP([NXT_PACKET_IN])
2668 AT_KEYWORDS([ofp-print])
2669 AT_CHECK([ovs-ofctl ofp-print "\
2670 01 04 00 ba 00 00 00 00 00 00 23 20 00 00 00 11 \
2671 ff ff ff ff 00 40 01 07 00 00 00 00 00 00 00 09 \
2672 00 4e 00 00 00 00 00 00 00 00 00 02 00 01 00 01 \
2673 20 08 00 00 00 00 00 00 00 06 00 01 00 04 00 00 \
2674 00 01 00 01 02 04 00 00 00 02 00 01 04 04 00 00 \
2675 00 03 00 01 06 04 00 00 00 04 00 01 08 04 00 00 \
2676 00 05 80 00 05 10 5a 5a 5a 5a 5a 5a 5a 5a ff ff \
2677 ff ff ff ff ff ff 00 00 00 00 82 82 82 82 82 82 \
2678 80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 \
2679 00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 \
2680 00 55 00 56 00 00 00 00 00 00 00 00 50 02 00 00 \
2681 31 6d 00 00 00 00 00 00 00 00 \
2682 "], [0], [dnl
2683 NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 in_port=1 tun_id=0x6 metadata=0x5a5a5a5a5a5a5a5a reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
2684 tcp,in_port=0,dl_vlan=80,dl_vlan_pcp=0,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
2685 ])
2686 AT_CLEANUP
2687
2688 AT_SETUP([NXT_PACKET_IN, with hex output of packet data])
2689 AT_KEYWORDS([ofp-print])
2690 AT_CHECK([ovs-ofctl ofp-print "\
2691 01 04 00 ba 00 00 00 00 00 00 23 20 00 00 00 11 \
2692 ff ff ff ff 00 40 01 07 00 00 00 00 00 00 00 09 \
2693 00 4e 00 00 00 00 00 00 00 00 00 02 00 01 00 01 \
2694 20 08 00 00 00 00 00 00 00 06 00 01 00 04 00 00 \
2695 00 01 00 01 02 04 00 00 00 02 00 01 04 04 00 00 \
2696 00 03 00 01 06 04 00 00 00 04 00 01 08 04 00 00 \
2697 00 05 80 00 05 10 5a 5a 5a 5a 5a 5a 5a 5a ff ff \
2698 ff ff ff ff ff ff 00 00 00 00 82 82 82 82 82 82 \
2699 80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 \
2700 00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 \
2701 00 55 00 56 00 00 00 00 00 00 00 00 50 01 00 00 \
2702 31 6d 00 00 00 00 00 00 00 00 \
2703 " 3], [0], [dnl
2704 NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 in_port=1 tun_id=0x6 metadata=0x5a5a5a5a5a5a5a5a reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
2705 tcp,in_port=0,dl_vlan=80,dl_vlan_pcp=0,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
2706 00000000  82 82 82 82 82 82 80 81-81 81 81 81 81 00 00 50
2707 00000010  08 00 45 00 00 28 00 00-00 00 00 06 32 05 53 53
2708 00000020  53 53 54 54 54 54 00 55-00 56 00 00 00 00 00 00
2709 00000030  00 00 50 01 00 00 31 6d-00 00 00 00 00 00 00 00
2710 ])
2711 AT_CLEANUP
2712
2713 AT_SETUP([NXT_SET_ASYNC_CONFIG])
2714 AT_KEYWORDS([ofp-print])
2715 AT_CHECK([ovs-ofctl ofp-print "\
2716 01 04 00 28 00 00 00 00 00 00 23 20 00 00 00 13 \
2717 00 00 10 05 00 00 10 07 00 00 00 03 00 00 00 07 \
2718 00 00 00 00 00 00 00 03 \
2719 "], [0], [dnl
2720 NXT_SET_ASYNC_CONFIG (xid=0x0):
2721  master:
2722        PACKET_IN: no_match invalid_ttl 12
2723      PORT_STATUS: add delete
2724     FLOW_REMOVED: (off)
2725
2726  slave:
2727        PACKET_IN: no_match action invalid_ttl 12
2728      PORT_STATUS: add delete modify
2729     FLOW_REMOVED: idle hard
2730 ])
2731 AT_CLEANUP
2732
2733 AT_SETUP([NXT_SET_CONTROLLER_ID])
2734 AT_KEYWORDS([ofp-print])
2735 AT_CHECK([ovs-ofctl ofp-print "\
2736 01 04 00 18 00 00 00 03 00 00 23 20 00 00 00 14 \
2737 00 00 00 00 00 00 00 7b \
2738 "], [0], [dnl
2739 NXT_SET_CONTROLLER_ID (xid=0x3): id=123
2740 ])
2741 AT_CLEANUP
2742
2743 AT_SETUP([NXT_FLOW_MONITOR_CANCEL])
2744 AT_KEYWORDS([ofp-print])
2745 AT_CHECK([ovs-ofctl ofp-print "\
2746 01 04 00 14 00 00 00 03 00 00 23 20 00 00 00 15 \
2747 01 02 30 40 \
2748 "], [0], [dnl
2749 NXT_FLOW_MONITOR_CANCEL (xid=0x3): id=16920640
2750 ])
2751 AT_CLEANUP
2752
2753 AT_SETUP([NXT_FLOW_MONITOR_PAUSED])
2754 AT_KEYWORDS([ofp-print])
2755 AT_CHECK([ovs-ofctl ofp-print "\
2756 01 04 00 10 00 00 00 03 00 00 23 20 00 00 00 16 \
2757 "], [0], [dnl
2758 NXT_FLOW_MONITOR_PAUSED (xid=0x3):
2759 ])
2760 AT_CLEANUP
2761
2762 AT_SETUP([NXT_FLOW_MONITOR_RESUMED])
2763 AT_KEYWORDS([ofp-print])
2764 AT_CHECK([ovs-ofctl ofp-print "\
2765 01 04 00 10 00 00 00 03 00 00 23 20 00 00 00 17 \
2766 "], [0], [dnl
2767 NXT_FLOW_MONITOR_RESUMED (xid=0x3):
2768 ])
2769 AT_CLEANUP
2770
2771 AT_SETUP([NXT_SET_FLOW_FORMAT])
2772 AT_KEYWORDS([ofp-print])
2773 AT_CHECK([ovs-ofctl ofp-print "\
2774 01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0c \
2775 00 00 00 02 \
2776 "], [0], [dnl
2777 NXT_SET_FLOW_FORMAT (xid=0x2): format=nxm
2778 ])
2779 AT_CLEANUP
2780
2781 # The flow is formatted with cls_rule_format() for the low-verbosity case.
2782 AT_SETUP([NXT_FLOW_MOD, low verbosity])
2783 AT_KEYWORDS([ofp-print])
2784 AT_CHECK([ovs-ofctl ofp-print "\
2785 01 04 00 60 00 00 00 02 00 00 23 20 00 00 00 0d \
2786 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 \
2787 ff ff ff ff 00 10 00 00 00 14 00 00 00 00 00 00 \
2788 00 01 20 08 00 00 00 00 00 00 01 c8 00 01 00 04 \
2789 00 00 00 7b 00 00 00 00 ff ff 00 18 00 00 23 20 \
2790 00 07 00 1f 00 01 00 04 00 00 00 00 00 00 00 05 \
2791 " 2], [0], [dnl
2792 NXT_FLOW_MOD (xid=0x2): ADD reg0=0x7b,tun_id=0x1c8 out_port:16 actions=load:0x5->NXM_NX_REG0[[]]
2793 ])
2794 AT_CLEANUP
2795
2796 # The flow is formatted with ofp10_match_to_string() for the
2797 # low-verbosity case.
2798 AT_SETUP([NXT_FLOW_MOD, high verbosity])
2799 AT_KEYWORDS([ofp-print])
2800 AT_CHECK([ovs-ofctl ofp-print "\
2801 01 04 00 60 00 00 00 02 00 00 23 20 00 00 00 0d \
2802 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 \
2803 ff ff ff ff 01 00 00 00 00 14 00 00 00 00 00 00 \
2804 00 01 20 08 00 00 00 00 00 00 01 c8 00 01 00 04 \
2805 00 00 00 7b 00 00 00 00 ff ff 00 18 00 00 23 20 \
2806 00 07 00 1f 00 01 00 04 00 00 00 00 00 00 00 05 \
2807 " 3], [0], [dnl
2808 NXT_FLOW_MOD (xid=0x2): ADD NXM_NX_TUN_ID(00000000000001c8), NXM_NX_REG0(0000007b) out_port:256 actions=load:0x5->NXM_NX_REG0[[]]
2809 ])
2810 AT_CLEANUP
2811
2812 AT_SETUP([OFPT_GROUP_MOD - OF1.1])
2813 AT_KEYWORDS([ofp-print])
2814 AT_CHECK([ovs-ofctl ofp-print "\
2815 02 0f 00 70 11 22 33 44 00 00 01 00 87 65 43 21 \
2816 00 20 00 64 00 00 00 01 ff ff ff ff 00 00 00 00 \
2817 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \
2818 00 20 00 c8 00 00 00 02 ff ff ff ff 00 00 00 00 \
2819 00 00 00 10 00 00 00 02 00 00 00 00 00 00 00 00 \
2820 00 20 00 c8 00 00 00 03 ff ff ff ff 00 00 00 00 \
2821 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
2822 "], [0], [dnl
2823 OFPT_GROUP_MOD (OF1.1) (xid=0x11223344):
2824  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
2825 ])
2826 AT_CLEANUP
2827
2828 AT_SETUP([OFPT_GROUP_MOD add - OF1.5])
2829 AT_KEYWORDS([ofp-print])
2830 AT_CHECK([ovs-ofctl ofp-print "\
2831 06 0f 00 90 11 22 33 44 00 00 01 00 87 65 43 21 \
2832 00 78 00 00 ff ff ff ff 00 28 00 10 00 00 00 00 \
2833 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \
2834 00 00 00 08 00 64 00 00 00 01 00 08 00 00 00 01 \
2835 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \
2836 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \
2837 00 01 00 08 00 00 00 02 00 28 00 10 00 00 00 02 \
2838 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
2839 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 03 \
2840 "], [0], [dnl
2841 OFPT_GROUP_MOD (OF1.5) (xid=0x11223344):
2842  ADD group_id=2271560481,type=select,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
2843 ])
2844 AT_CLEANUP
2845
2846 AT_SETUP([OFPT_GROUP_MOD insert bucket - OF1.5])
2847 AT_KEYWORDS([ofp-print])
2848 AT_CHECK([ovs-ofctl ofp-print "\
2849 06 0f 00 90 11 22 33 44 00 03 01 00 87 65 43 21 \
2850 00 78 00 00 ff ff ff fd 00 28 00 10 00 00 00 00 \
2851 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 00 \
2852 00 00 00 08 00 64 00 00 00 01 00 08 00 00 00 01 \
2853 00 28 00 10 00 00 00 01 00 00 00 10 00 00 00 02 \
2854 00 00 00 00 00 00 00 00 00 00 00 08 00 c8 00 00 \
2855 00 01 00 08 00 00 00 02 00 28 00 10 00 00 00 02 \
2856 00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
2857 00 00 00 08 00 c8 00 00 00 01 00 08 00 00 00 03 \
2858 "], [0], [dnl
2859 OFPT_GROUP_MOD (OF1.5) (xid=0x11223344):
2860  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
2861 ])
2862 AT_CLEANUP
2863
2864 AT_SETUP([NXT_FLOW_REMOVED])
2865 AT_KEYWORDS([ofp-print])
2866 AT_CHECK([ovs-ofctl ofp-print "\
2867 01 04 00 78 00 00 00 00 00 00 23 20 00 00 00 0e \
2868 00 00 00 00 00 00 00 00 ff ff 00 02 00 00 00 06 \
2869 01 6e 36 00 00 05 00 3c 00 00 00 00 00 00 00 01 \
2870 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
2871 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
2872 00 05 00 00 06 02 08 06 00 00 08 02 00 00 00 00 \
2873 1e 02 00 02 00 00 20 04 c0 a8 00 01 00 00 22 04 \
2874 c0 a8 00 02 00 00 00 00 \
2875 "], [0], [dnl
2876 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
2877 ])
2878 AT_CLEANUP
2879
2880 AT_SETUP([NXT_FLOW_MOD_TABLE_ID])
2881 AT_KEYWORDS([ofp-print])
2882 AT_CHECK([ovs-ofctl ofp-print "\
2883 01 04 00 18 01 02 03 04 00 00 23 20 00 00 00 0f \
2884 01 00 00 00 00 00 00 00 \
2885 "], [0], [dnl
2886 NXT_FLOW_MOD_TABLE_ID (xid=0x1020304): enable
2887 ])
2888 AT_CLEANUP
2889
2890 AT_SETUP([NXST_FLOW request])
2891 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
2892 AT_CHECK([ovs-ofctl ofp-print "\
2893 01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 \
2894 00 00 00 00 00 00 00 00 ff ff 00 00 ff 00 00 00 \
2895 "], [0], [dnl
2896 NXST_FLOW request (xid=0x4): @&t@
2897 ])
2898 AT_CLEANUP
2899
2900 AT_SETUP([NXST_FLOW reply])
2901 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
2902 AT_CHECK([ovs-ofctl ofp-print "\
2903 01 11 08 18 00 00 00 04 ff ff 00 00 00 00 23 20 \
2904 00 00 00 00 00 00 00 00 00 88 00 00 00 00 00 01 \
2905 02 dc 6c 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
2906 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
2907 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
2908 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
2909 00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
2910 0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \
2911 a8 00 02 00 00 0c 01 06 00 00 12 02 09 e7 00 00 \
2912 14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \
2913 00 88 00 00 00 00 00 03 32 11 62 00 ff ff 00 05 \
2914 00 00 00 4c 00 03 00 00 00 00 00 00 00 00 00 00 \
2915 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
2916 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
2917 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
2918 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
2919 a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
2920 00 00 12 02 09 e4 00 00 14 02 00 00 00 00 00 00 \
2921 00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 02 \
2922 33 f9 aa 00 ff ff 00 05 00 00 00 4c 00 05 00 00 \
2923 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
2924 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
2925 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
2926 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
2927 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
2928 a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
2929 14 02 09 e5 00 00 00 00 00 00 00 08 00 03 00 00 \
2930 00 88 00 00 00 00 00 04 2d 0f a5 00 ff ff 00 05 \
2931 00 00 00 4c 00 01 00 00 00 00 00 00 00 00 00 00 \
2932 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
2933 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
2934 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
2935 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
2936 a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
2937 00 00 12 02 09 e3 00 00 14 02 00 00 00 00 00 00 \
2938 00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 02 \
2939 34 73 bc 00 ff ff 00 05 00 0a 00 4c 00 03 00 03 \
2940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
2941 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
2942 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
2943 00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
2944 0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \
2945 a8 00 02 00 00 0c 01 06 00 00 12 02 09 e5 00 00 \
2946 14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \
2947 00 88 00 00 00 00 00 05 28 0d e8 00 ff ff 00 05 \
2948 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
2949 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
2950 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
2951 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
2952 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
2953 a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
2954 00 00 12 02 09 e2 00 00 14 02 00 00 00 00 00 00 \
2955 00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 01 \
2956 02 62 5a 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
2957 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
2958 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
2959 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
2960 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
2961 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
2962 a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
2963 14 02 09 e7 00 00 00 00 00 00 00 08 00 03 00 00 \
2964 00 88 00 00 00 00 00 01 38 be 5e 00 ff ff 00 05 \
2965 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
2966 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
2967 00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \
2968 00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \
2969 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
2970 a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \
2971 00 00 12 02 00 00 00 00 14 02 09 e6 00 00 00 00 \
2972 00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 04 \
2973 27 d0 df 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
2974 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
2975 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
2976 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
2977 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
2978 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
2979 a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
2980 14 02 09 e3 00 00 00 00 00 00 00 08 00 03 00 00 \
2981 00 88 00 00 00 00 00 03 2c d2 9c 00 ff ff 00 05 \
2982 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
2983 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
2984 00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \
2985 00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \
2986 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
2987 a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \
2988 00 00 12 02 00 00 00 00 14 02 09 e4 00 00 00 00 \
2989 00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 00 \
2990 0a 40 83 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
2991 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
2992 00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
2993 02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
2994 00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
2995 0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \
2996 a8 00 02 00 00 0c 01 06 00 00 12 02 09 e8 00 00 \
2997 14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \
2998 00 88 00 00 00 00 00 05 25 31 7c 00 ff ff 00 05 \
2999 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
3000 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
3001 00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \
3002 00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \
3003 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
3004 a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \
3005 00 00 12 02 00 00 00 00 14 02 09 e2 00 00 00 00 \
3006 00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 00 \
3007 04 c4 b4 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
3008 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
3009 00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
3010 02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
3011 00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
3012 0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
3013 a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
3014 14 02 09 e8 00 00 00 00 00 00 00 08 00 03 00 00 \
3015 00 88 00 00 00 00 00 01 39 38 70 00 ff ff 00 05 \
3016 00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
3017 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
3018 00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
3019 00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
3020 00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
3021 a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
3022 00 00 12 02 09 e6 00 00 14 02 00 00 00 00 00 00 \
3023 00 00 00 08 00 01 00 00 00 60 00 00 00 00 00 e4 \
3024 2e 7d db 00 80 00 00 00 00 00 00 14 00 00 00 00 \
3025 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
3026 00 00 00 00 00 00 00 00 00 01 20 08 00 00 00 00 \
3027 00 00 01 c8 00 01 00 04 00 00 00 7b 00 00 00 00 \
3028 ff ff 00 18 00 00 23 20 00 07 00 1f 00 01 00 04 \
3029 00 00 00 00 00 00 00 05 \
3030 00 30 01 00 00 00 0e 10 00 07 a1 20 80 00 00 00 \
3031 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
3032 00 00 00 00 00 00 00 64 00 00 00 00 00 00 19 00 \
3033 "], [0],
3034 [[NXST_FLOW reply (xid=0x4):
3035  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
3036  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
3037  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
3038  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
3039  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
3040  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
3041  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
3042  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
3043  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
3044  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
3045  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
3046  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
3047  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
3048  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
3049  cookie=0x0, duration=228.780s, table=0, n_packets=0, n_bytes=0, reg0=0x7b,tun_id=0x1c8 actions=load:0x5->NXM_NX_REG0[]
3050  cookie=0x0, duration=3600.0005s, table=1, n_packets=100, n_bytes=6400, actions=drop
3051 ]])
3052 AT_CLEANUP
3053
3054 AT_SETUP([NXST_AGGREGATE request])
3055 AT_KEYWORDS([ofp-print OFPT_STATS_REQUEST])
3056 AT_CHECK([ovs-ofctl ofp-print "\
3057 01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 \
3058 00 00 00 01 00 00 00 00 ff ff 00 00 ff 00 00 00 \
3059 "], [0], [dnl
3060 NXST_AGGREGATE request (xid=0x4): @&t@
3061 ])
3062 AT_CLEANUP
3063
3064 AT_SETUP([NXST_AGGREGATE reply])
3065 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
3066 AT_CHECK([ovs-ofctl ofp-print "\
3067 01 11 00 30 00 00 00 04 ff ff 00 00 00 00 23 20 \
3068 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 07 \
3069 00 00 00 00 00 00 01 a4 00 00 00 07 00 00 00 00 \
3070 "], [0], [dnl
3071 NXST_AGGREGATE reply (xid=0x4): packet_count=7 byte_count=420 flow_count=7
3072 ])
3073 AT_CLEANUP
3074
3075 AT_SETUP([NXST_FLOW_MONITOR request])
3076 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
3077 AT_CHECK([ovs-ofctl ofp-print "\
3078 01 10 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 02 00 00 00 00 \
3079 00 00 40 00 00 3f ff fe 00 00 01 00 00 00 00 00 \
3080 00 00 20 00 00 04 ff ff 00 06 02 00 00 00 00 00 00 00 00 02 00 01 00 00 \
3081 "], [0], [dnl
3082 NXST_FLOW_MONITOR request (xid=0x4):
3083  id=16384 flags=initial,add,delete,modify,actions,own out_port=LOCAL table=1
3084  id=8192 flags=delete table=2 in_port=1
3085 ])
3086 AT_CLEANUP
3087
3088 AT_SETUP([NXST_FLOW_MONITOR reply])
3089 AT_KEYWORDS([ofp-print OFPT_STATS_REPLY])
3090 AT_CHECK([ovs-ofctl ofp-print "\
3091 01 11 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 02 00 00 00 00 \
3092 00 20 00 01 00 05 80 00 00 05 00 10 00 06 01 00 12 34 56 78 9a bc de f0 \
3093 00 00 00 02 00 01 00 00 \
3094 00 08 00 03 00 01 86 a0 \
3095 "], [0], [dnl
3096 NXST_FLOW_MONITOR reply (xid=0x4):
3097  event=DELETED reason=eviction table=1 idle_timeout=5 hard_timeout=16 cookie=0x123456789abcdef0 in_port=1
3098  event=ABBREV xid=0x186a0
3099 ])
3100 AT_CLEANUP
3101
3102
3103 AT_SETUP([OFPT_BUNDLE_CONTROL - OPEN_REQUEST])
3104 AT_KEYWORDS([ofp-print])
3105 AT_CHECK([ovs-ofctl ofp-print "\
3106 05 21 00 10 00 00 00 00 \
3107 00 00 00 01 00 00 00 01 \
3108 "], [0], [dnl
3109 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3110  bundle_id=0x1 type=OPEN_REQUEST flags=atomic
3111 ])
3112 AT_CLEANUP
3113
3114 AT_SETUP([OFPT_BUNDLE_CONTROL - OPEN_REQUEST])
3115 AT_KEYWORDS([ofp-print])
3116 AT_CHECK([ovs-ofctl ofp-print "\
3117 05 21 00 10 00 00 00 00 \
3118 00 00 00 01 00 00 00 02 \
3119 "], [0], [dnl
3120 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3121  bundle_id=0x1 type=OPEN_REQUEST flags=ordered
3122 ])
3123 AT_CLEANUP
3124
3125 AT_SETUP([OFPT_BUNDLE_CONTROL - OPEN_REQUEST])
3126 AT_KEYWORDS([ofp-print])
3127 AT_CHECK([ovs-ofctl ofp-print "\
3128 05 21 00 10 00 00 00 00 \
3129 00 00 00 01 00 00 00 03 \
3130 "], [0], [dnl
3131 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3132  bundle_id=0x1 type=OPEN_REQUEST flags=atomic ordered
3133 ])
3134 AT_CLEANUP
3135
3136 AT_SETUP([OFPT_BUNDLE_CONTROL - OPEN_REPLY])
3137 AT_KEYWORDS([ofp-print])
3138 AT_CHECK([ovs-ofctl ofp-print "\
3139 05 21 00 10 00 00 00 00 \
3140 00 00 00 01 00 01 00 01 \
3141 "], [0], [dnl
3142 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3143  bundle_id=0x1 type=OPEN_REPLY flags=atomic
3144 ])
3145 AT_CLEANUP
3146
3147 AT_SETUP([OFPT_BUNDLE_CONTROL - CLOSE_REQUEST])
3148 AT_KEYWORDS([ofp-print])
3149 AT_CHECK([ovs-ofctl ofp-print "\
3150 05 21 00 10 00 00 00 00 \
3151 00 00 00 01 00 02 00 01 \
3152 "], [0], [dnl
3153 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3154  bundle_id=0x1 type=CLOSE_REQUEST flags=atomic
3155 ])
3156 AT_CLEANUP
3157
3158 AT_SETUP([OFPT_BUNDLE_CONTROL - CLOSE_REPLY])
3159 AT_KEYWORDS([ofp-print])
3160 AT_CHECK([ovs-ofctl ofp-print "\
3161 05 21 00 10 00 00 00 00 \
3162 00 00 00 01 00 03 00 01 \
3163 "], [0], [dnl
3164 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3165  bundle_id=0x1 type=CLOSE_REPLY flags=atomic
3166 ])
3167 AT_CLEANUP
3168
3169 AT_SETUP([OFPT_BUNDLE_CONTROL - COMMIT_REQUEST])
3170 AT_KEYWORDS([ofp-print])
3171 AT_CHECK([ovs-ofctl ofp-print "\
3172 05 21 00 10 00 00 00 00 \
3173 00 00 00 01 00 04 00 01 \
3174 "], [0], [dnl
3175 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3176  bundle_id=0x1 type=COMMIT_REQUEST flags=atomic
3177 ])
3178 AT_CLEANUP
3179
3180 AT_SETUP([OFPT_BUNDLE_CONTROL - COMMIT_REPLY])
3181 AT_KEYWORDS([ofp-print])
3182 AT_CHECK([ovs-ofctl ofp-print "\
3183 05 21 00 10 00 00 00 00 \
3184 00 00 00 01 00 05 00 01 \
3185 "], [0], [dnl
3186 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3187  bundle_id=0x1 type=COMMIT_REPLY flags=atomic
3188 ])
3189 AT_CLEANUP
3190
3191 AT_SETUP([OFPT_BUNDLE_CONTROL - DISCARD_REQUEST])
3192 AT_KEYWORDS([ofp-print])
3193 AT_CHECK([ovs-ofctl ofp-print "\
3194 05 21 00 10 00 00 00 00 \
3195 00 00 00 01 00 06 00 01 \
3196 "], [0], [dnl
3197 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3198  bundle_id=0x1 type=DISCARD_REQUEST flags=atomic
3199 ])
3200 AT_CLEANUP
3201
3202 AT_SETUP([OFPT_BUNDLE_CONTROL - DISCARD_REPLY])
3203 AT_KEYWORDS([ofp-print])
3204 AT_CHECK([ovs-ofctl ofp-print "\
3205 05 21 00 10 00 00 00 00 \
3206 00 00 00 01 00 07 00 01 \
3207 "], [0], [dnl
3208 OFPT_BUNDLE_CONTROL (OF1.4) (xid=0x0):
3209  bundle_id=0x1 type=DISCARD_REPLY flags=atomic
3210 ])
3211 AT_CLEANUP
3212
3213 AT_SETUP([OFPT_BUNDLE_ADD_MESSAGE - OFPT_HELLO])
3214 AT_KEYWORDS([ofp-print])
3215 AT_CHECK([ovs-ofctl ofp-print "\
3216 05 22 00 20 00 00 00 00 \
3217 00 00 00 01 00 01 00 01 02 00 00 08 00 00 00 00 \
3218 00 00 00 00 00 00 00 00 \
3219 "], [0], [dnl
3220 OFPT_BUNDLE_ADD_MESSAGE (OF1.4) (xid=0x0):
3221  bundle_id=0x1 flags=atomic
3222 OFPT_HELLO (OF1.1) (xid=0x0):
3223  version bitmap: 0x01, 0x02
3224 ])
3225 AT_CLEANUP