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