ofproto-dpif: Accept OpenFlow-like flows in "ofproto/trace".
[openvswitch] / tests / ofp-errors.at
1 AT_BANNER([ofp-errors tests])
2
3 AT_SETUP([OFPT_ERROR with type OFPET_HELLO_FAILED - OF1.0])
4 AT_KEYWORDS([ofp-print ofp-errors])
5 AT_CHECK([ovs-ofctl ofp-print 010100170000000000000001657874726120646174610a], [0], [dnl
6 OFPT_ERROR (xid=0x0): OFPHFC_EPERM
7 extra data\012
8 ])
9 AT_CLEANUP
10
11 AT_SETUP([OFPT_ERROR with type OFPET_HELLO_FAILED - OF1.1])
12 AT_KEYWORDS([ofp-print ofp-errors])
13 AT_CHECK([ovs-ofctl ofp-print 020100170000000000000001657874726120646174610a], [0], [dnl
14 OFPT_ERROR (OF1.1) (xid=0x0): OFPHFC_EPERM
15 extra data\012
16 ])
17 AT_CLEANUP
18
19 AT_SETUP([OFPT_ERROR with type OFPET_BAD_REQUEST - OF1.0])
20 AT_KEYWORDS([ofp-print ofp-errors])
21 AT_CHECK([ovs-ofctl ofp-print 01010014000000000001000601bbccddeeff0011], [0], [dnl
22 OFPT_ERROR (xid=0x0): OFPBRC_BAD_LEN
23 (***truncated to 8 bytes from 52445***)
24 00000000  01 bb cc dd ee ff 00 11-                        |........        |
25 ])
26 AT_CLEANUP
27
28 AT_SETUP([OFPT_ERROR with code OFPBMC_BAD_PREREQ - OF1.0])
29 AT_KEYWORDS([ofp-print ofp-errors])
30 AT_CHECK([ovs-ofctl ofp-print '0101001c55555555 b0c20000 0000232000010104 0102000811111111'], [0], [dnl
31 OFPT_ERROR (xid=0x55555555): OFPBMC_BAD_PREREQ
32 OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
33 ])
34 AT_CLEANUP
35
36 AT_SETUP([OFPT_ERROR with code OFPBMC_BAD_PREREQ - OF1.1])
37 AT_KEYWORDS([ofp-print ofp-errors])
38 AT_CHECK([ovs-ofctl ofp-print '0201001c55555555 b0c20000 0000232000010104 0102000811111111'], [0], [dnl
39 OFPT_ERROR (OF1.1) (xid=0x55555555): OFPBMC_BAD_PREREQ
40 OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
41 ])
42 AT_CLEANUP
43
44 dnl Error type 3, code 1 is OFPFMFC_OVERLAP in OF1.0
45 dnl and OFPBIC_UNSUP_INST in OF1.1, so check that value in both versions.
46 AT_SETUP([OFPT_ERROR with type OFPFMFC_OVERLAP - OF1.0])
47 AT_KEYWORDS([ofp-print ofp-errors])
48 AT_CHECK([ovs-ofctl ofp-print 01010014000000000003000101bbccddeeff0011], [0], [dnl
49 OFPT_ERROR (xid=0x0): OFPFMFC_OVERLAP
50 (***truncated to 8 bytes from 52445***)
51 00000000  01 bb cc dd ee ff 00 11-                        |........        |
52 ])
53 AT_CLEANUP
54 AT_SETUP([OFPT_ERROR with type OFPBIC_UNSUP_INST - OF1.1])
55 AT_KEYWORDS([ofp-print ofp-errors])
56 AT_CHECK([ovs-ofctl ofp-print 02010014000000000003000102bbccddeeff0011], [0], [dnl
57 OFPT_ERROR (OF1.1) (xid=0x0): OFPBIC_UNSUP_INST
58 (***truncated to 8 bytes from 52445***)
59 00000000  02 bb cc dd ee ff 00 11-                        |........        |
60 ])
61 AT_CLEANUP
62
63 dnl OF1.1 had OFPBIC_UNSUP_EXP_INST as 3,5.
64 dnl OF1.2 broke it into OFPBIC_BAD_EXPERIMENTER as 3,5
65 dnl                 and OFPBIC_BAD_EXT_TYPE as 3,6.
66 dnl Thus, for OF1.1 we translate both of the latter error codes into 3,5.
67 AT_SETUP([encoding OFPBIC_* experimenter errors])
68 AT_KEYWORDS([ofp-print ofp-errors])
69 AT_CHECK([ovs-ofctl print-error OFPBIC_BAD_EXPERIMENTER], [0], [dnl
70 OpenFlow 1.0: -1,-1
71 OpenFlow 1.1: 3,5
72 OpenFlow 1.2: 3,5
73 ])
74 AT_CHECK([ovs-ofctl print-error OFPBIC_BAD_EXP_TYPE], [0], [dnl
75 OpenFlow 1.0: -1,-1
76 OpenFlow 1.1: 3,5
77 OpenFlow 1.2: 3,6
78 ])
79 AT_CLEANUP
80
81 AT_SETUP([decoding OFPBIC_* experimenter errors])
82 AT_KEYWORDS([ofp-print ofp-errors])
83 AT_CHECK([ovs-ofctl ofp-print '0201001455555555 00030005 0102000811111111'], [0], [dnl
84 OFPT_ERROR (OF1.1) (xid=0x55555555): OFPBIC_BAD_EXPERIMENTER
85 OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
86 ])
87 AT_KEYWORDS([ofp-print ofp-errors])
88 AT_CHECK([ovs-ofctl ofp-print '0301001455555555 00030005 0102000811111111'], [0], [dnl
89 OFPT_ERROR (OF 0x03) (xid=0x55555555): OFPBIC_BAD_EXPERIMENTER
90 OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
91 ])
92 AT_KEYWORDS([ofp-print ofp-errors])
93 AT_CHECK([ovs-ofctl ofp-print '0301001455555555 00030006 0102000811111111'], [0], [dnl
94 OFPT_ERROR (OF 0x03) (xid=0x55555555): OFPBIC_BAD_EXP_TYPE
95 OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
96 ])
97 AT_CLEANUP