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