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