virtio: fix the out of order descriptors in tx
[vpp.git] / src / vnet / api_errno.h
1 /*
2  * Copyright (c) 2015 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #ifndef included_vnet_api_errno_h
16 #define included_vnet_api_errno_h
17
18 #include <stdarg.h>
19 #include <vppinfra/types.h>
20 #include <vppinfra/format.h>
21
22 #define foreach_vnet_api_error                                          \
23 _(UNSPECIFIED, -1, "Unspecified Error")                                 \
24 _(INVALID_SW_IF_INDEX, -2, "Invalid sw_if_index")                       \
25 _(NO_SUCH_FIB, -3, "No such FIB / VRF")                                 \
26 _(NO_SUCH_INNER_FIB, -4, "No such inner FIB / VRF")                     \
27 _(NO_SUCH_LABEL, -5, "No such label")                                   \
28 _(NO_SUCH_ENTRY, -6, "No such entry")                                   \
29 _(INVALID_VALUE, -7, "Invalid value")                                   \
30 _(INVALID_VALUE_2, -8, "Invalid value #2")                              \
31 _(UNIMPLEMENTED, -9, "Unimplemented")                                   \
32 _(INVALID_SW_IF_INDEX_2, -10, "Invalid sw_if_index #2")                 \
33 _(SYSCALL_ERROR_1, -11, "System call error #1")                         \
34 _(SYSCALL_ERROR_2, -12, "System call error #2")                         \
35 _(SYSCALL_ERROR_3, -13, "System call error #3")                         \
36 _(SYSCALL_ERROR_4, -14, "System call error #4")                         \
37 _(SYSCALL_ERROR_5, -15, "System call error #5")                         \
38 _(SYSCALL_ERROR_6, -16, "System call error #6")                         \
39 _(SYSCALL_ERROR_7, -17, "System call error #7")                         \
40 _(SYSCALL_ERROR_8, -18, "System call error #8")                         \
41 _(SYSCALL_ERROR_9, -19, "System call error #9")                         \
42 _(SYSCALL_ERROR_10, -20, "System call error #10")                       \
43 _(FEATURE_DISABLED, -30, "Feature disabled by configuration")           \
44 _(INVALID_REGISTRATION, -31, "Invalid registration")                    \
45 _(NEXT_HOP_NOT_IN_FIB, -50, "Next hop not in FIB")                      \
46 _(UNKNOWN_DESTINATION, -51, "Unknown destination")                      \
47 _(NO_PATHS_IN_ROUTE, -52, "No paths specified in route")                \
48 _(NEXT_HOP_NOT_FOUND_MP, -53, "Next hop not found (multipath)")         \
49 _(NO_MATCHING_INTERFACE, -54, "No matching interface for probe")        \
50 _(INVALID_VLAN, -55, "Invalid VLAN")                                    \
51 _(VLAN_ALREADY_EXISTS, -56, "VLAN subif already exists")                \
52 _(INVALID_SRC_ADDRESS, -57, "Invalid src address")                      \
53 _(INVALID_DST_ADDRESS, -58, "Invalid dst address")                      \
54 _(ADDRESS_LENGTH_MISMATCH, -59, "Address length mismatch")              \
55 _(ADDRESS_NOT_FOUND_FOR_INTERFACE, -60, "Address not found for interface") \
56 _(ADDRESS_NOT_DELETABLE, -61, "Address not deletable")                  \
57 _(IP6_NOT_ENABLED, -62, "ip6 not enabled")                              \
58 _(NO_SUCH_NODE, -63, "No such graph node")                              \
59 _(NO_SUCH_NODE2, -64, "No such graph node #2")                          \
60 _(NO_SUCH_TABLE, -65, "No such table")                                  \
61 _(NO_SUCH_TABLE2, -66, "No such table #2")                              \
62 _(NO_SUCH_TABLE3, -67, "No such table #3")                              \
63 _(SUBIF_ALREADY_EXISTS, -68, "Subinterface already exists")             \
64 _(SUBIF_CREATE_FAILED, -69, "Subinterface creation failed")             \
65 _(INVALID_MEMORY_SIZE, -70, "Invalid memory size requested")            \
66 _(INVALID_INTERFACE, -71, "Invalid interface")                          \
67 _(INVALID_VLAN_TAG_COUNT, -72, "Invalid number of tags for requested operation") \
68 _(INVALID_ARGUMENT, -73, "Invalid argument")                            \
69 _(UNEXPECTED_INTF_STATE, -74, "Unexpected interface state")             \
70 _(TUNNEL_EXIST, -75, "Tunnel already exists")                           \
71 _(INVALID_DECAP_NEXT, -76, "Invalid decap-next")                        \
72 _(RESPONSE_NOT_READY, -77, "Response not ready")                        \
73 _(NOT_CONNECTED, -78, "Not connected to the data plane")                \
74 _(IF_ALREADY_EXISTS, -79, "Interface already exists")                   \
75 _(BOND_SLAVE_NOT_ALLOWED, -80, "Operation not allowed on slave of BondEthernet") \
76 _(VALUE_EXIST, -81, "Value already exists")                             \
77 _(SAME_SRC_DST, -82, "Source and destination are the same")             \
78 _(IP6_MULTICAST_ADDRESS_NOT_PRESENT, -83, "IP6 multicast address required") \
79 _(SR_POLICY_NAME_NOT_PRESENT, -84, "Segment routing policy name required") \
80 _(NOT_RUNNING_AS_ROOT, -85, "Not running as root") \
81 _(ALREADY_CONNECTED, -86, "Connection to the data plane already exists") \
82 _(UNSUPPORTED_JNI_VERSION, -87, "Unsupported JNI version") \
83 _(IP_PREFIX_INVALID, -88, "IP prefix invalid (masked bits set in address") \
84 _(INVALID_WORKER, -89, "Invalid worker thread")                         \
85 _(LISP_DISABLED, -90, "LISP is disabled")                               \
86 _(CLASSIFY_TABLE_NOT_FOUND, -91, "Classify table not found")            \
87 _(INVALID_EID_TYPE, -92, "Unsupported LISP EID type")                   \
88 _(CANNOT_CREATE_PCAP_FILE, -93, "Cannot create pcap file")              \
89 _(INCORRECT_ADJACENCY_TYPE, -94, "Invalid adjacency type for this operation") \
90 _(EXCEEDED_NUMBER_OF_RANGES_CAPACITY, -95, "Operation would exceed configured capacity of ranges") \
91 _(EXCEEDED_NUMBER_OF_PORTS_CAPACITY, -96, "Operation would exceed capacity of number of ports") \
92 _(INVALID_ADDRESS_FAMILY, -97, "Invalid address family")                \
93 _(INVALID_SUB_SW_IF_INDEX, -98, "Invalid sub-interface sw_if_index")    \
94 _(TABLE_TOO_BIG, -99, "Table too big")                                  \
95 _(CANNOT_ENABLE_DISABLE_FEATURE, -100, "Cannot enable/disable feature") \
96 _(BFD_EEXIST, -101, "Duplicate BFD object")                             \
97 _(BFD_ENOENT, -102, "No such BFD object")                               \
98 _(BFD_EINUSE, -103, "BFD object in use")                                \
99 _(BFD_NOTSUPP, -104, "BFD feature not supported")                       \
100 _(ADDRESS_IN_USE, -105, "Address in use")                               \
101 _(ADDRESS_NOT_IN_USE, -106, "Address not in use")                       \
102 _(QUEUE_FULL, -107, "Queue full")                                       \
103 _(APP_UNSUPPORTED_CFG, -108, "Unsupported application config")          \
104 _(URI_FIFO_CREATE_FAILED, -109, "URI FIFO segment create failed")       \
105 _(LISP_RLOC_LOCAL, -110, "RLOC address is local")                       \
106 _(BFD_EAGAIN, -111, "BFD object cannot be manipulated at this time")    \
107 _(INVALID_GPE_MODE, -112, "Invalid GPE mode")                           \
108 _(LISP_GPE_ENTRIES_PRESENT, -113, "LISP GPE entries are present")       \
109 _(ADDRESS_FOUND_FOR_INTERFACE, -114, "Address found for interface")     \
110 _(SESSION_CONNECT, -115, "Session failed to connect")                   \
111 _(ENTRY_ALREADY_EXISTS, -116, "Entry already exists")                   \
112 _(SVM_SEGMENT_CREATE_FAIL, -117, "Svm segment create fail")             \
113 _(APPLICATION_NOT_ATTACHED, -118, "Application not attached")           \
114 _(BD_ALREADY_EXISTS, -119, "Bridge domain already exists")              \
115 _(BD_IN_USE, -120, "Bridge domain has member interfaces")               \
116 _(BD_NOT_MODIFIABLE, -121, "Bridge domain 0 can't be deleted/modified") \
117 _(BD_ID_EXCEED_MAX, -122, "Bridge domain ID exceeds 16M limit")         \
118 _(SUBIF_DOESNT_EXIST, -123, "Subinterface doesn't exist")               \
119 _(L2_MACS_EVENT_CLINET_PRESENT, -124, "Client already exist for L2 MACs events") \
120 _(INVALID_QUEUE, -125, "Invalid queue")                                 \
121 _(UNSUPPORTED, -126, "Unsupported")                                     \
122 _(DUPLICATE_IF_ADDRESS, -127, "Address already present on another interface")   \
123 _(APP_INVALID_NS, -128, "Invalid application namespace")                        \
124 _(APP_WRONG_NS_SECRET, -129, "Wrong app namespace secret")              \
125 _(APP_CONNECT_SCOPE, -130, "Connect scope")                             \
126 _(APP_ALREADY_ATTACHED, -131, "App already attached")                   \
127 _(SESSION_REDIRECT, -132, "Redirect failed")                            \
128 _(ILLEGAL_NAME, -133, "Illegal name")                                   \
129 _(NO_NAME_SERVERS, -134, "No name servers configured")                  \
130 _(NAME_SERVER_NOT_FOUND, -135, "Name server not found")                 \
131 _(NAME_RESOLUTION_NOT_ENABLED, -136, "Name resolution not enabled")     \
132 _(NAME_SERVER_FORMAT_ERROR, -137, "Server format error (bug!)")         \
133 _(NAME_SERVER_NO_SUCH_NAME, -138, "No such name")                       \
134 _(NAME_SERVER_NO_ADDRESSES, -139, "No addresses available")             \
135 _(NAME_SERVER_NEXT_SERVER, -140, "Retry with new server")               \
136 _(APP_CONNECT_FILTERED, -141, "Connect was filtered")                   \
137 _(ACL_IN_USE_INBOUND, -142, "Inbound ACL in use")                       \
138 _(ACL_IN_USE_OUTBOUND, -143, "Outbound ACL in use")                     \
139 _(INIT_FAILED, -144, "Initialization Failed")                           \
140 _(NETLINK_ERROR, -145, "Netlink error")                                 \
141 _(BIER_BSL_UNSUP, -146, "BIER bit-string-length unsupported")           \
142 _(INSTANCE_IN_USE, -147, "Instance in use")                             \
143 _(INVALID_SESSION_ID, -148, "Session ID out of range")                  \
144 _(ACL_IN_USE_BY_LOOKUP_CONTEXT, -149, "ACL in use by a lookup context") \
145 _(INVALID_VALUE_3, -150, "Invalid value #3")                            \
146 _(NON_ETHERNET, -151, "Interface is not an Ethernet interface")         \
147 _(BD_ALREADY_HAS_BVI, -152, "Bridge domain already has a BVI interface") \
148 _(INVALID_PROTOCOL, -153, "Invalid Protocol")                           \
149 _(INVALID_ALGORITHM, -154, "Invalid Algorithm")                         \
150 _(RSRC_IN_USE, -155, "Resource In Use")                                 \
151 _(KEY_LENGTH, -156, "invalid Key Length")                               \
152 _(FIB_PATH_UNSUPPORTED_NH_PROTO, -157, "Unsupported FIB Path protocol") \
153 _(API_ENDIAN_FAILED, -159, "Endian mismatch detected")                  \
154 _(NO_CHANGE, -160, "No change in table")                                \
155 _(MISSING_CERT_KEY, -161, "Missing certifcate or key")                  \
156 _(LIMIT_EXCEEDED, -162, "limit exceeded")
157
158 typedef enum
159 {
160 #define _(a,b,c) VNET_API_ERROR_##a = (b),
161   foreach_vnet_api_error
162 #undef _
163     VNET_API_N_ERROR,
164 } vnet_api_error_t;
165
166 /* *INDENT-OFF* */
167 static inline u8 *
168 format_vnet_api_errno (u8 * s, va_list * args)
169 {
170   vnet_api_error_t api_error = va_arg (*args, vnet_api_error_t);
171 #ifdef _
172 #undef _
173 #endif
174 #define _(a, b, c)           \
175   case b:                    \
176     s = format (s, "%s", c); \
177     break;
178   switch (api_error)
179     {
180       foreach_vnet_api_error
181       default:
182         s = format (s, "UNKNOWN");
183         break;
184     }
185   return s;
186 #undef _
187 }
188 /* *INDENT-ON* */
189
190 #endif /* included_vnet_api_errno_h */
191
192 /*
193  * fd.io coding-style-patch-verification: ON
194  *
195  * Local Variables:
196  * eval: (c-set-style "gnu")
197  * End:
198  */