Coverage Report

Created: 2026-05-30 06:26

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/openvswitch/lib/ofp-errors.inc
Line
Count
Source
1
/* Generated automatically; do not modify!     -*- buffer-read-only: t -*- */
2
3
3.59M
#define OFPERR_N_ERRORS 198
4
5
struct ofperr_domain {
6
    const char *name;
7
    uint8_t version;
8
    enum ofperr (*decode)(uint32_t vendor, uint16_t type, uint16_t code);
9
    struct triplet errors[OFPERR_N_ERRORS];
10
};
11
12
static const char *error_names[OFPERR_N_ERRORS] = {
13
    "OFPHFC_INCOMPATIBLE",
14
    "OFPHFC_EPERM",
15
    "OFPBRC_BAD_VERSION",
16
    "OFPBRC_BAD_TYPE",
17
    "OFPBRC_BAD_STAT",
18
    "OFPBRC_BAD_VENDOR",
19
    "OFPBRC_BAD_SUBTYPE",
20
    "OFPBRC_EPERM",
21
    "OFPBRC_BAD_LEN",
22
    "OFPBRC_BUFFER_EMPTY",
23
    "OFPBRC_BUFFER_UNKNOWN",
24
    "OFPBRC_BAD_TABLE_ID",
25
    "OFPBRC_IS_SECONDARY",
26
    "OFPBRC_BAD_PORT",
27
    "OFPBRC_BAD_PACKET",
28
    "OFPBRC_MULTIPART_BUFFER_OVERFLOW",
29
    "OFPBRC_MULTIPART_REQUEST_TIMEOUT",
30
    "OFPBRC_MULTIPART_REPLY_TIMEOUT",
31
    "OFPBRC_MULTIPART_BAD_SCHED",
32
    "OFPBRC_PIPELINE_FIELDS_ONLY",
33
    "OFPBRC_UNKNOWN",
34
    "NXBRC_NXM_INVALID",
35
    "NXBRC_NXM_BAD_TYPE",
36
    "NXBRC_MUST_BE_ZERO",
37
    "NXBRC_BAD_REASON",
38
    "NXBRC_FM_BAD_EVENT",
39
    "NXBRC_UNENCODABLE_ERROR",
40
    "OFPBAC_BAD_TYPE",
41
    "OFPBAC_BAD_LEN",
42
    "OFPBAC_BAD_VENDOR",
43
    "OFPBAC_BAD_VENDOR_TYPE",
44
    "OFPBAC_BAD_OUT_PORT",
45
    "OFPBAC_BAD_ARGUMENT",
46
    "OFPBAC_EPERM",
47
    "OFPBAC_TOO_MANY",
48
    "OFPBAC_BAD_QUEUE",
49
    "OFPBAC_BAD_OUT_GROUP",
50
    "OFPBAC_MATCH_INCONSISTENT",
51
    "OFPBAC_UNSUPPORTED_ORDER",
52
    "OFPBAC_BAD_TAG",
53
    "OFPBAC_BAD_SET_TYPE",
54
    "OFPBAC_BAD_SET_LEN",
55
    "OFPBAC_BAD_SET_ARGUMENT",
56
    "OFPBAC_BAD_SET_MASK",
57
    "OFPBAC_BAD_METER",
58
    "NXBAC_MUST_BE_ZERO",
59
    "NXBAC_BAD_CONJUNCTION",
60
    "NXBAC_BAD_HEADER_TYPE",
61
    "NXBAC_UNKNOWN_ED_PROP",
62
    "NXBAC_BAD_ED_PROP",
63
    "NXBAC_CT_DATAPATH_SUPPORT",
64
    "OFPBIC_UNKNOWN_INST",
65
    "OFPBIC_UNSUP_INST",
66
    "OFPBIC_BAD_TABLE_ID",
67
    "OFPBIC_UNSUP_METADATA",
68
    "OFPBIC_UNSUP_METADATA_MASK",
69
    "OFPBIC_BAD_EXPERIMENTER",
70
    "OFPBIC_BAD_EXP_TYPE",
71
    "OFPBIC_BAD_LEN",
72
    "OFPBIC_EPERM",
73
    "OFPBIC_DUP_INST",
74
    "OFPBMC_BAD_TYPE",
75
    "OFPBMC_BAD_LEN",
76
    "OFPBMC_BAD_TAG",
77
    "OFPBMC_BAD_DL_ADDR_MASK",
78
    "OFPBMC_BAD_NW_ADDR_MASK",
79
    "OFPBMC_BAD_WILDCARDS",
80
    "OFPBMC_BAD_FIELD",
81
    "OFPBMC_BAD_VALUE",
82
    "OFPBMC_BAD_MASK",
83
    "OFPBMC_BAD_PREREQ",
84
    "OFPBMC_DUP_FIELD",
85
    "OFPBMC_EPERM",
86
    "NXBMC_CT_DATAPATH_SUPPORT",
87
    "OFPFMFC_UNKNOWN",
88
    "OFPFMFC_TABLE_FULL",
89
    "OFPFMFC_BAD_TABLE_ID",
90
    "OFPFMFC_OVERLAP",
91
    "OFPFMFC_EPERM",
92
    "OFPFMFC_BAD_TIMEOUT",
93
    "OFPFMFC_BAD_EMERG_TIMEOUT",
94
    "OFPFMFC_BAD_COMMAND",
95
    "OFPFMFC_BAD_FLAGS",
96
    "OFPFMFC_CANT_SYNC",
97
    "OFPFMFC_BAD_PRIORITY",
98
    "OFPFMFC_IS_SYNC",
99
    "OFPFMFC_UNSUPPORTED",
100
    "NXFMFC_HARDWARE",
101
    "NXFMFC_BAD_TABLE_ID",
102
    "NXFMFC_INVALID_TLV_FIELD",
103
    "OFPGMFC_GROUP_EXISTS",
104
    "OFPGMFC_INVALID_GROUP",
105
    "OFPGMFC_WEIGHT_UNSUPPORTED",
106
    "OFPGMFC_OUT_OF_GROUPS",
107
    "OFPGMFC_OUT_OF_BUCKETS",
108
    "OFPGMFC_CHAINING_UNSUPPORTED",
109
    "OFPGMFC_WATCH_UNSUPPORTED",
110
    "OFPGMFC_LOOP",
111
    "OFPGMFC_UNKNOWN_GROUP",
112
    "OFPGMFC_CHAINED_GROUP",
113
    "OFPGMFC_BAD_TYPE",
114
    "OFPGMFC_BAD_COMMAND",
115
    "OFPGMFC_BAD_BUCKET",
116
    "OFPGMFC_BAD_WATCH",
117
    "OFPGMFC_EPERM",
118
    "OFPGMFC_UNKNOWN_BUCKET",
119
    "OFPGMFC_BUCKET_EXISTS",
120
    "OFPPMFC_BAD_PORT",
121
    "OFPPMFC_BAD_HW_ADDR",
122
    "OFPPMFC_BAD_CONFIG",
123
    "OFPPMFC_BAD_ADVERTISE",
124
    "OFPPMFC_EPERM",
125
    "OFPTMFC_BAD_TABLE",
126
    "OFPTMFC_BAD_CONFIG",
127
    "OFPTMFC_EPERM",
128
    "OFPQOFC_BAD_PORT",
129
    "OFPQOFC_BAD_QUEUE",
130
    "OFPQOFC_EPERM",
131
    "NXQOFC_QUEUE_ERROR",
132
    "OFPSCFC_BAD_FLAGS",
133
    "OFPSCFC_BAD_LEN",
134
    "OFPSCFC_EPERM",
135
    "OFPRRFC_STALE",
136
    "OFPRRFC_UNSUP",
137
    "OFPRRFC_BAD_ROLE",
138
    "OFPRRFC_ID_UNSUP",
139
    "OFPRRFC_ID_IN_USE",
140
    "OFPMMFC_UNKNOWN",
141
    "OFPMMFC_METER_EXISTS",
142
    "OFPMMFC_INVALID_METER",
143
    "OFPMMFC_UNKNOWN_METER",
144
    "OFPMMFC_BAD_COMMAND",
145
    "OFPMMFC_BAD_FLAGS",
146
    "OFPMMFC_BAD_RATE",
147
    "OFPMMFC_BAD_BURST",
148
    "OFPMMFC_BAD_BAND",
149
    "OFPMMFC_BAD_BAND_VALUE",
150
    "OFPMMFC_OUT_OF_METERS",
151
    "OFPMMFC_OUT_OF_BANDS",
152
    "OFPTFFC_BAD_TABLE",
153
    "OFPTFFC_BAD_METADATA",
154
    "OFPTFFC_EPERM",
155
    "OFPTFFC_BAD_CAPA",
156
    "OFPTFFC_BAD_MAX_ENT",
157
    "OFPTFFC_BAD_FEATURES",
158
    "OFPTFFC_BAD_COMMAND",
159
    "OFPTFFC_TOO_MANY",
160
    "NXTFFC_DUP_TABLE",
161
    "OFPBPC_BAD_TYPE",
162
    "OFPBPC_BAD_LEN",
163
    "OFPBPC_BAD_VALUE",
164
    "OFPBPC_TOO_MANY",
165
    "OFPBPC_DUP_TYPE",
166
    "OFPBPC_BAD_EXPERIMENTER",
167
    "OFPBPC_BAD_EXP_TYPE",
168
    "OFPBPC_BAD_EXP_VALUE",
169
    "OFPBPC_EPERM",
170
    "OFPACFC_INVALID",
171
    "OFPACFC_UNSUPPORTED",
172
    "OFPACFC_EPERM",
173
    "OFPBFC_UNKNOWN",
174
    "OFPBFC_EPERM",
175
    "OFPBFC_BAD_ID",
176
    "OFPBFC_BUNDLE_EXIST",
177
    "OFPBFC_BUNDLE_CLOSED",
178
    "OFPBFC_OUT_OF_BUNDLES",
179
    "OFPBFC_BAD_TYPE",
180
    "OFPBFC_BAD_FLAGS",
181
    "OFPBFC_MSG_BAD_LEN",
182
    "OFPBFC_MSG_BAD_XID",
183
    "OFPBFC_MSG_UNSUP",
184
    "OFPBFC_MSG_CONFLICT",
185
    "OFPBFC_MSG_TOO_MANY",
186
    "OFPBFC_MSG_FAILED",
187
    "OFPBFC_TIMEOUT",
188
    "OFPBFC_BUNDLE_IN_PROGRESS",
189
    "OFPBFC_SCHED_NOT_SUPPORTED",
190
    "OFPBFC_SCHED_FUTURE",
191
    "OFPBFC_SCHED_PAST",
192
    "OFPBFC_BAD_VERSION",
193
    "OFPMOFC_UNKNOWN",
194
    "OFPMOFC_MONITOR_EXISTS",
195
    "OFPMOFC_INVALID_MONITOR",
196
    "OFPMOFC_UNKNOWN_MONITOR",
197
    "OFPMOFC_BAD_COMMAND",
198
    "OFPMOFC_BAD_FLAGS",
199
    "OFPMOFC_BAD_TABLE_ID",
200
    "OFPMOFC_BAD_OUT",
201
    "NXTTMFC_BAD_COMMAND",
202
    "NXTTMFC_BAD_OPT_LEN",
203
    "NXTTMFC_BAD_FIELD_IDX",
204
    "NXTTMFC_TABLE_FULL",
205
    "NXTTMFC_ALREADY_MAPPED",
206
    "NXTTMFC_DUP_ENTRY",
207
    "NXTTMFC_INVALID_TLV_DEL",
208
    "NXR_NOT_SUPPORTED",
209
    "NXR_STALE",
210
    "NXST_NOT_CONFIGURED",
211
};
212
213
static const char *error_comments[OFPERR_N_ERRORS] = {
214
    "No compatible version.",
215
    "Permissions error.",
216
    "ofp_header.version not supported.",
217
    "ofp_header.type not supported.",
218
    "ofp_stats_msg.type not supported.",
219
    "Vendor not supported (in ofp_vendor_header or ofp_stats_msg).",
220
    "Vendor subtype not supported.",
221
    "Permissions error.",
222
    "Wrong request length for type.",
223
    "Specified buffer has already been used.",
224
    "Specified buffer does not exist.",
225
    "Specified table-id invalid or does not exist. ",
226
    "Denied because controller has secondary role.  (Secondary controllers have only read-only access.)",
227
    "Invalid or missing port.  ",
228
    "Invalid packet in packet-out.",
229
    "Multipart request overflowed the assigned buffer.",
230
    "Timeout during multipart request.",
231
    "Timeout during multipart reply.",
232
    "Switch received a OFPMP_BUNDLE_FEATURES request and failed to update the scheduling tolerance.",
233
    "Match fields must include only pipeline fields.",
234
    "Unspecified error.",
235
    "Invalid NXM flow match.",
236
    "The nxm_type, or nxm_type taken in combination with nxm_hasmask or nxm_length or both, is invalid or not implemented.",
237
    "Must-be-zero field had nonzero value.",
238
    "The reason in an ofp_port_status message is not valid.",
239
    "The 'event' in an NXST_FLOW_MONITOR reply does not specify one of the NXFME_ABBREV, NXFME_ADD, NXFME_DELETE, or NXFME_MODIFY.",
240
    "The error that occurred cannot be represented in this OpenFlow version.",
241
    "Unknown or unsupported action type.",
242
    "Length problem in actions.",
243
    "Unknown experimenter id specified.",
244
    "Unknown action type for experimenter id.",
245
    "Problem validating output port.",
246
    "Bad action argument.",
247
    "Permissions error.",
248
    "Can't handle this many actions.",
249
    "Problem validating output queue.",
250
    "Invalid group id in output action.",
251
    "Action can't apply for this match or a prerequisite for use of this field is unmet.",
252
    "Action order is unsupported for the action list in an Apply-Actions instruction",
253
    "Actions uses an unsupported tag/encap.",
254
    "Action uses unknown or unsupported OXM or NXM field.",
255
    "Action references past the end of an OXM or NXM field, or uses a length of zero.",
256
    "Action sets a field to an invalid or unsupported value, or modifies a read-only field.",
257
    "Field in Set-Field action has Has-Mask bit set to 1.",
258
    "Invalid meter id in meter action.",
259
    "Must-be-zero action argument had nonzero value.",
260
    "Conjunction action must be only action present.  conjunction(id, k/n) must satisfy 1 <= k <= n and 2 <= n <= 64.",
261
    "Unsupported packet type in encap or decap.",
262
    "Unrecognized encap or decap property.",
263
    "Error in encap or decap property.",
264
    "Action requires connection tracking or a particular connection-tracking based feature that the datapath in use does not support.  If a kernel-based datapath is in use, the kernel module may need to be upgraded.",
265
    "Unknown instruction.",
266
    "Switch or table does not support the instruction.",
267
    "Invalid Table-ID specified.",
268
    "Metadata value unsupported by datapath.",
269
    "Metadata mask value unsupported by datapath.",
270
    "Unknown experimenter id specified.",
271
    "Unknown instruction for experimenter id.",
272
    "Length problem in instructions.",
273
    "Permissions error.",
274
    "Duplicate instruction.",
275
    "Unsupported match type specified by the match",
276
    "Length problem in match.",
277
    "Match uses an unsupported tag/encap.",
278
    "Unsupported datalink addr mask - switch does not support arbitrary datalink address mask.",
279
    "Unsupported network addr mask - switch does not support arbitrary network address mask.",
280
    "Unsupported wildcard specified in the match.",
281
    "Unsupported field in the match.",
282
    "Unsupported value in a match field.",
283
    "Unsupported mask specified in the match.",
284
    "A prerequisite was not met.",
285
    "A field type was duplicated.",
286
    "Permissions error.",
287
    "Flow match requires connection tracking or a particular connection-tracking based feature that the datapath in use does not support.  If a kernel-based datapath is in use, the kernel module may need to be upgraded.",
288
    "Unspecified error.",
289
    "Flow not added because of full table(s).",
290
    "Table does not exist",
291
    "Attempted to add overlapping flow with CHECK_OVERLAP flag set.",
292
    "Permissions error.",
293
    "Flow not added because of unsupported idle/hard timeout.",
294
    "Flow not added because of non-zero idle/hard timeout.",
295
    "Unsupported or unknown command.",
296
    "Unsupported or unknown flags.",
297
    "Problem in table synchronization.",
298
    "Unsupported priority value.",
299
    "Synchronized flow entry is read only.",
300
    "Unsupported action list - cannot process in the order specified.",
301
    "Generic hardware error.",
302
    "A nonexistent table ID was specified in the \"command\" field of struct ofp_flow_mod, when the nxt_flow_mod_table_id extension is enabled.",
303
    "Attempted to add a flow with an invalid variable length meta-flow field.",
304
    "Group not added because a group ADD attempted to replace an already-present group.",
305
    "Group not added because Group specified is invalid.",
306
    "Switch does not support unequal load sharing with select groups.",
307
    "The group table is full.",
308
    "The maximum number of action buckets for a group has been exceeded.",
309
    "Switch does not support groups that forward to groups.",
310
    "This group cannot watch the watch_port or watch_group specified.",
311
    "Group entry would cause a loop.",
312
    "Group not modified because a group MODIFY attempted to modify a non-existent group.",
313
    "Group not deleted because another group is forwarding to it.",
314
    "Unsupported or unknown group type.",
315
    "Unsupported or unknown command.",
316
    "Error in bucket.",
317
    "Error in watch port/group.",
318
    "Permissions error.",
319
    "Invalid bucket identifier used in INSERT BUCKET or REMOVE BUCKET command.",
320
    "Can't insert bucket because a bucket already exist with that bucket-id.",
321
    "Specified port does not exist.",
322
    "Specified hardware address does not match the port number.",
323
    "Specified config is invalid.",
324
    "Specified advertise is invalid.",
325
    "Permissions error.",
326
    "Specified table does not exist.",
327
    "Specified config is invalid.",
328
    "Permissions error.",
329
    "Invalid port (or port does not exist).",
330
    "Queue does not exist.",
331
    "Permissions error.",
332
    "System error retrieving queue details.",
333
    "Specified flags is invalid.",
334
    "Specified len is invalid.",
335
    "Permissions error.",
336
    "Stale Message: old generation_id.",
337
    "Controller role change unsupported.",
338
    "Invalid role.",
339
    "Switch doesn't support changing ID.",
340
    "Requested ID is in use.",
341
    "Unspecified error.",
342
    "Meter not added because a Meter ADD attempted to replace an existing Meter.",
343
    "Meter not added because meter specified is invalid, or invalid meter in meter action.",
344
    "Meter not modified because a Meter MODIFY attempted to modify a non-existent meter, or bad meter in meter action.",
345
    "Unsupported or unknown command.",
346
    "Flag configuration unsupported.",
347
    "Rate unsupported.",
348
    "Burst size unsupported.",
349
    "Band unsupported.",
350
    "Band value unsupported.",
351
    "No more meters available.",
352
    "The maximum number of properties for a meter has been exceeded.",
353
    "Specified table does not exist.",
354
    "Invalid metadata mask.",
355
    "Permissions error.",
356
    "Invalid capability field.",
357
    "Invalid max_entries field.",
358
    "Invalid features field.",
359
    "Invalid command.",
360
    "Can't handle this many flow tables.",
361
    "Table specified multiple times.",
362
    "Unknown or unsupported property type.  ",
363
    "Length problem in property.  ",
364
    "Unsupported property value.  ",
365
    "Can't handle this many properties.",
366
    "A property type was duplicated.",
367
    "Unknown experimenter id specified.",
368
    "Unknown exp_type for experimenter id.",
369
    "Unknown value for experimenter id.",
370
    "Permissions error.",
371
    "One mask is invalid.",
372
    "Requested configuration not supported.",
373
    "Permissions error.",
374
    "Unspecified error.",
375
    "Permissions error.",
376
    "Bundle ID doesn't exist.",
377
    "Bundle ID already exists.",
378
    "Bundle ID is closed.",
379
    "Too many bundle IDs.",
380
    "Unsupported of unknown message control type.",
381
    "Unsupported, unknown, or inconsistent flags.",
382
    "Length problem in included message.",
383
    "Inconsistent or duplicate XID.",
384
    "Unsupported message in this bundle.",
385
    "Unsupported message combination in this bundle.",
386
    "Cant handle this many messages in bundle.",
387
    "One message in bundle failed.",
388
    "Bundle is taking too long.",
389
    "Bundle is locking the resource.",
390
    "Scheduled commit was received and scheduling is not supported.",
391
    "Scheduled commit time exceeds upper bound.",
392
    "Scheduled commit time exceeds lower bound.",
393
    "In an OFPT_BUNDLE_ADD_MESSAGE, the OpenFlow version in the inner and outer messages differ.",
394
    "Unspecified error.",
395
    "Monitor not added because a Monitor ADD attempted to replace an existing Monitor.",
396
    "Monitor not added because Monitor specified is invalid.",
397
    "Monitor not modified because a Monitor MODIFY attempted to modify a non-existent Monitor.",
398
    "Unsupported or unknown command.",
399
    "Flag configuration unsupported.",
400
    "Specified table does not exist.",
401
    "Error in output port/group.",
402
    "The TLV table mod command is not recognized as a valid operation.",
403
    "The option length is not a valid option size for TLVs.",
404
    "The field index is out of range for the supported NX_TUN_METADATA<n> match.",
405
    "The total set of configured options exceeds the maximum supported by the switch.",
406
    "The controller issued an NXTTMC_ADD command for a field index that is already mapped.",
407
    "The option TLV that is attempting to be mapped is the same as one assigned to a different field.",
408
    "Attempted to delete a TLV mapping that is used by any active flow.",
409
    "This datapath doesn't support NXT_RESUME.",
410
    "Continuation is stale: Open vSwitch process has been restarted or bridge has been destroyed since continuation was generated, or continuation was not generated by this Open vSwitch instance.",
411
    "Protocol is not configured on this Open vSwitch instance.",
412
};
413
414
static enum ofperr
415
ofperr_of10_decode(uint32_t vendor, uint16_t type, uint16_t code)
416
87.9k
{
417
87.9k
    switch (((uint64_t) vendor << 32) | ((uint32_t) type << 16) | code) {
418
633
    case  ((uint32_t) 0 << 16) | 0:
419
633
        return OFPERR_OFPHFC_INCOMPATIBLE;
420
182
    case  ((uint32_t) 0 << 16) | 1:
421
182
        return OFPERR_OFPHFC_EPERM;
422
305
    case  ((uint32_t) 1 << 16) | 0:
423
305
        return OFPERR_OFPBRC_BAD_VERSION;
424
36
    case  ((uint32_t) 1 << 16) | 1:
425
36
        return OFPERR_OFPBRC_BAD_TYPE;
426
1.95k
    case  ((uint32_t) 1 << 16) | 2:
427
1.95k
        return OFPERR_OFPBRC_BAD_STAT;
428
108
    case  ((uint32_t) 1 << 16) | 3:
429
108
        return OFPERR_OFPBRC_BAD_VENDOR;
430
123
    case  ((uint32_t) 1 << 16) | 4:
431
123
        return OFPERR_OFPBRC_BAD_SUBTYPE;
432
74
    case  ((uint32_t) 1 << 16) | 5:
433
74
        return OFPERR_OFPBRC_EPERM;
434
69
    case  ((uint32_t) 1 << 16) | 6:
435
69
        return OFPERR_OFPBRC_BAD_LEN;
436
77
    case  ((uint32_t) 1 << 16) | 7:
437
77
        return OFPERR_OFPBRC_BUFFER_EMPTY;
438
502
    case  ((uint32_t) 1 << 16) | 8:
439
502
        return OFPERR_OFPBRC_BUFFER_UNKNOWN;
440
763
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 512:
441
763
        return OFPERR_OFPBRC_BAD_TABLE_ID;
442
71
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 514:
443
71
        return OFPERR_OFPBRC_BAD_PORT;
444
86
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 256:
445
86
        return OFPERR_NXBRC_NXM_INVALID;
446
6.27k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 257:
447
6.27k
        return OFPERR_NXBRC_NXM_BAD_TYPE;
448
710
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 515:
449
710
        return OFPERR_NXBRC_MUST_BE_ZERO;
450
1.05k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 516:
451
1.05k
        return OFPERR_NXBRC_BAD_REASON;
452
38
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 520:
453
38
        return OFPERR_NXBRC_FM_BAD_EVENT;
454
34
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 521:
455
34
        return OFPERR_NXBRC_UNENCODABLE_ERROR;
456
182
    case  ((uint32_t) 2 << 16) | 0:
457
182
        return OFPERR_OFPBAC_BAD_TYPE;
458
78
    case  ((uint32_t) 2 << 16) | 1:
459
78
        return OFPERR_OFPBAC_BAD_LEN;
460
2.15k
    case  ((uint32_t) 2 << 16) | 2:
461
2.15k
        return OFPERR_OFPBAC_BAD_VENDOR;
462
312
    case  ((uint32_t) 2 << 16) | 3:
463
312
        return OFPERR_OFPBAC_BAD_VENDOR_TYPE;
464
2.48k
    case  ((uint32_t) 2 << 16) | 4:
465
2.48k
        return OFPERR_OFPBAC_BAD_OUT_PORT;
466
245
    case  ((uint32_t) 2 << 16) | 5:
467
245
        return OFPERR_OFPBAC_BAD_ARGUMENT;
468
193
    case  ((uint32_t) 2 << 16) | 6:
469
193
        return OFPERR_OFPBAC_EPERM;
470
377
    case  ((uint32_t) 2 << 16) | 7:
471
377
        return OFPERR_OFPBAC_TOO_MANY;
472
7.62k
    case  ((uint32_t) 2 << 16) | 8:
473
7.62k
        return OFPERR_OFPBAC_BAD_QUEUE;
474
18
    case (0x2320ULL << 32) |  ((uint32_t) 2 << 16) | 9:
475
18
        return OFPERR_OFPBAC_BAD_OUT_GROUP;
476
70
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 522:
477
70
        return OFPERR_OFPBAC_MATCH_INCONSISTENT;
478
195
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 523:
479
195
        return OFPERR_OFPBAC_BAD_SET_TYPE;
480
155
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 524:
481
155
        return OFPERR_OFPBAC_BAD_SET_LEN;
482
354
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 525:
483
354
        return OFPERR_OFPBAC_BAD_SET_ARGUMENT;
484
34
    case (0x2320ULL << 32) |  ((uint32_t) 2 << 16) | 256:
485
34
        return OFPERR_NXBAC_MUST_BE_ZERO;
486
69
    case (0x2320ULL << 32) |  ((uint32_t) 2 << 16) | 526:
487
69
        return OFPERR_NXBAC_BAD_CONJUNCTION;
488
10
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 265:
489
10
        return OFPERR_NXBAC_CT_DATAPATH_SUPPORT;
490
978
    case (0x2320ULL << 32) |  ((uint32_t) 2 << 16) | 257:
491
978
        return OFPERR_OFPBIC_UNSUP_INST;
492
627
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 262:
493
627
        return OFPERR_OFPBMC_BAD_WILDCARDS;
494
71
    case (0x2320ULL << 32) |  ((uint32_t) 0 << 16) | 263:
495
71
        return OFPERR_OFPBMC_BAD_FIELD;
496
100
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 258:
497
100
        return OFPERR_OFPBMC_BAD_VALUE;
498
105
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 259:
499
105
        return OFPERR_OFPBMC_BAD_MASK;
500
2.21k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 260:
501
2.21k
        return OFPERR_OFPBMC_BAD_PREREQ;
502
66
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 261:
503
66
        return OFPERR_OFPBMC_DUP_FIELD;
504
38
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 264:
505
38
        return OFPERR_NXBMC_CT_DATAPATH_SUPPORT;
506
232
    case  ((uint32_t) 3 << 16) | 0:
507
232
        return OFPERR_OFPFMFC_TABLE_FULL;
508
241
    case  ((uint32_t) 3 << 16) | 1:
509
241
        return OFPERR_OFPFMFC_OVERLAP;
510
4.08k
    case  ((uint32_t) 3 << 16) | 2:
511
4.08k
        return OFPERR_OFPFMFC_EPERM;
512
209
    case  ((uint32_t) 3 << 16) | 3:
513
209
        return OFPERR_OFPFMFC_BAD_EMERG_TIMEOUT;
514
79
    case  ((uint32_t) 3 << 16) | 4:
515
79
        return OFPERR_OFPFMFC_BAD_COMMAND;
516
208
    case (0x2320ULL << 32) |  ((uint32_t) 3 << 16) | 258:
517
208
        return OFPERR_OFPFMFC_BAD_FLAGS;
518
72
    case  ((uint32_t) 3 << 16) | 5:
519
72
        return OFPERR_OFPFMFC_UNSUPPORTED;
520
35
    case (0x2320ULL << 32) |  ((uint32_t) 5 << 16) | 256:
521
35
        return OFPERR_NXFMFC_HARDWARE;
522
18
    case (0x2320ULL << 32) |  ((uint32_t) 5 << 16) | 257:
523
18
        return OFPERR_NXFMFC_BAD_TABLE_ID;
524
10
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 536:
525
10
        return OFPERR_NXFMFC_INVALID_TLV_FIELD;
526
159
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 0:
527
159
        return OFPERR_OFPGMFC_GROUP_EXISTS;
528
69
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 1:
529
69
        return OFPERR_OFPGMFC_INVALID_GROUP;
530
34
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 2:
531
34
        return OFPERR_OFPGMFC_WEIGHT_UNSUPPORTED;
532
67
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 3:
533
67
        return OFPERR_OFPGMFC_OUT_OF_GROUPS;
534
50
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 4:
535
50
        return OFPERR_OFPGMFC_OUT_OF_BUCKETS;
536
194
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 5:
537
194
        return OFPERR_OFPGMFC_CHAINING_UNSUPPORTED;
538
126
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 6:
539
126
        return OFPERR_OFPGMFC_WATCH_UNSUPPORTED;
540
69
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 7:
541
69
        return OFPERR_OFPGMFC_LOOP;
542
197
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 8:
543
197
        return OFPERR_OFPGMFC_UNKNOWN_GROUP;
544
79
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 9:
545
79
        return OFPERR_OFPGMFC_CHAINED_GROUP;
546
74
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 10:
547
74
        return OFPERR_OFPGMFC_BAD_TYPE;
548
7
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 11:
549
7
        return OFPERR_OFPGMFC_BAD_COMMAND;
550
66
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 12:
551
66
        return OFPERR_OFPGMFC_BAD_BUCKET;
552
34
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 13:
553
34
        return OFPERR_OFPGMFC_BAD_WATCH;
554
19
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 14:
555
19
        return OFPERR_OFPGMFC_EPERM;
556
18
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 15:
557
18
        return OFPERR_OFPGMFC_UNKNOWN_BUCKET;
558
18
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 16:
559
18
        return OFPERR_OFPGMFC_BUCKET_EXISTS;
560
203
    case  ((uint32_t) 4 << 16) | 0:
561
203
        return OFPERR_OFPPMFC_BAD_PORT;
562
37
    case  ((uint32_t) 4 << 16) | 1:
563
37
        return OFPERR_OFPPMFC_BAD_HW_ADDR;
564
288
    case  ((uint32_t) 5 << 16) | 0:
565
288
        return OFPERR_OFPQOFC_BAD_PORT;
566
318
    case  ((uint32_t) 5 << 16) | 1:
567
318
        return OFPERR_OFPQOFC_BAD_QUEUE;
568
1.48k
    case  ((uint32_t) 5 << 16) | 2:
569
1.48k
        return OFPERR_OFPQOFC_EPERM;
570
67
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 513:
571
67
        return OFPERR_OFPRRFC_BAD_ROLE;
572
93
    case (0x2320ULL << 32) |  ((uint32_t) 13 << 16) | 2:
573
93
        return OFPERR_OFPBPC_BAD_TYPE;
574
766
    case (0x2320ULL << 32) |  ((uint32_t) 13 << 16) | 3:
575
766
        return OFPERR_OFPBPC_BAD_LEN;
576
66
    case (0x2320ULL << 32) |  ((uint32_t) 13 << 16) | 4:
577
66
        return OFPERR_OFPBPC_BAD_VALUE;
578
53
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 3:
579
53
        return OFPERR_OFPBPC_TOO_MANY;
580
70
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 4:
581
70
        return OFPERR_OFPBPC_DUP_TYPE;
582
3.85k
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 5:
583
3.85k
        return OFPERR_OFPBPC_BAD_EXPERIMENTER;
584
1.18k
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 6:
585
1.18k
        return OFPERR_OFPBPC_BAD_EXP_TYPE;
586
1.82k
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 7:
587
1.82k
        return OFPERR_OFPBPC_BAD_EXP_VALUE;
588
76
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 8:
589
76
        return OFPERR_OFPBPC_EPERM;
590
2.05k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 517:
591
2.05k
        return OFPERR_OFPMOFC_MONITOR_EXISTS;
592
1.21k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 519:
593
1.21k
        return OFPERR_OFPMOFC_UNKNOWN_MONITOR;
594
94
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 518:
595
94
        return OFPERR_OFPMOFC_BAD_FLAGS;
596
1.04k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 527:
597
1.04k
        return OFPERR_NXTTMFC_BAD_COMMAND;
598
19
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 528:
599
19
        return OFPERR_NXTTMFC_BAD_OPT_LEN;
600
35
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 529:
601
35
        return OFPERR_NXTTMFC_BAD_FIELD_IDX;
602
353
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 530:
603
353
        return OFPERR_NXTTMFC_TABLE_FULL;
604
13
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 531:
605
13
        return OFPERR_NXTTMFC_ALREADY_MAPPED;
606
469
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 532:
607
469
        return OFPERR_NXTTMFC_DUP_ENTRY;
608
47
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 537:
609
47
        return OFPERR_NXTTMFC_INVALID_TLV_DEL;
610
67
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 533:
611
67
        return OFPERR_NXR_NOT_SUPPORTED;
612
18
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 534:
613
18
        return OFPERR_NXR_STALE;
614
200
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 535:
615
200
        return OFPERR_NXST_NOT_CONFIGURED;
616
87.9k
    }
617
618
33.5k
    return 0;
619
87.9k
}
620
621
static const struct ofperr_domain ofperr_of10 = {
622
    "OpenFlow 1.0",
623
    1,
624
    ofperr_of10_decode,
625
    {
626
        {      0x0,  0,   0 }, /* OFPHFC_INCOMPATIBLE */
627
        {      0x0,  0,   1 }, /* OFPHFC_EPERM */
628
        {      0x0,  1,   0 }, /* OFPBRC_BAD_VERSION */
629
        {      0x0,  1,   1 }, /* OFPBRC_BAD_TYPE */
630
        {      0x0,  1,   2 }, /* OFPBRC_BAD_STAT */
631
        {      0x0,  1,   3 }, /* OFPBRC_BAD_VENDOR */
632
        {      0x0,  1,   4 }, /* OFPBRC_BAD_SUBTYPE */
633
        {      0x0,  1,   5 }, /* OFPBRC_EPERM */
634
        {      0x0,  1,   6 }, /* OFPBRC_BAD_LEN */
635
        {      0x0,  1,   7 }, /* OFPBRC_BUFFER_EMPTY */
636
        {      0x0,  1,   8 }, /* OFPBRC_BUFFER_UNKNOWN */
637
        {   0x2320,  1, 512 }, /* OFPBRC_BAD_TABLE_ID */
638
        {      0x0,  1,   5 }, /* OFPBRC_IS_SECONDARY */
639
        {   0x2320,  1, 514 }, /* OFPBRC_BAD_PORT */
640
        {       -1, -1,  -1 }, /* OFPBRC_BAD_PACKET */
641
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_BUFFER_OVERFLOW */
642
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_REQUEST_TIMEOUT */
643
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_REPLY_TIMEOUT */
644
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_BAD_SCHED */
645
        {       -1, -1,  -1 }, /* OFPBRC_PIPELINE_FIELDS_ONLY */
646
        {       -1, -1,  -1 }, /* OFPBRC_UNKNOWN */
647
        {   0x2320,  1, 256 }, /* NXBRC_NXM_INVALID */
648
        {   0x2320,  1, 257 }, /* NXBRC_NXM_BAD_TYPE */
649
        {   0x2320,  1, 515 }, /* NXBRC_MUST_BE_ZERO */
650
        {   0x2320,  1, 516 }, /* NXBRC_BAD_REASON */
651
        {   0x2320,  1, 520 }, /* NXBRC_FM_BAD_EVENT */
652
        {   0x2320,  1, 521 }, /* NXBRC_UNENCODABLE_ERROR */
653
        {      0x0,  2,   0 }, /* OFPBAC_BAD_TYPE */
654
        {      0x0,  2,   1 }, /* OFPBAC_BAD_LEN */
655
        {      0x0,  2,   2 }, /* OFPBAC_BAD_VENDOR */
656
        {      0x0,  2,   3 }, /* OFPBAC_BAD_VENDOR_TYPE */
657
        {      0x0,  2,   4 }, /* OFPBAC_BAD_OUT_PORT */
658
        {      0x0,  2,   5 }, /* OFPBAC_BAD_ARGUMENT */
659
        {      0x0,  2,   6 }, /* OFPBAC_EPERM */
660
        {      0x0,  2,   7 }, /* OFPBAC_TOO_MANY */
661
        {      0x0,  2,   8 }, /* OFPBAC_BAD_QUEUE */
662
        {   0x2320,  2,   9 }, /* OFPBAC_BAD_OUT_GROUP */
663
        {   0x2320,  1, 522 }, /* OFPBAC_MATCH_INCONSISTENT */
664
        {       -1, -1,  -1 }, /* OFPBAC_UNSUPPORTED_ORDER */
665
        {       -1, -1,  -1 }, /* OFPBAC_BAD_TAG */
666
        {   0x2320,  1, 523 }, /* OFPBAC_BAD_SET_TYPE */
667
        {   0x2320,  1, 524 }, /* OFPBAC_BAD_SET_LEN */
668
        {   0x2320,  1, 525 }, /* OFPBAC_BAD_SET_ARGUMENT */
669
        {       -1, -1,  -1 }, /* OFPBAC_BAD_SET_MASK */
670
        {       -1, -1,  -1 }, /* OFPBAC_BAD_METER */
671
        {   0x2320,  2, 256 }, /* NXBAC_MUST_BE_ZERO */
672
        {   0x2320,  2, 526 }, /* NXBAC_BAD_CONJUNCTION */
673
        {       -1, -1,  -1 }, /* NXBAC_BAD_HEADER_TYPE */
674
        {       -1, -1,  -1 }, /* NXBAC_UNKNOWN_ED_PROP */
675
        {       -1, -1,  -1 }, /* NXBAC_BAD_ED_PROP */
676
        {   0x2320,  1, 265 }, /* NXBAC_CT_DATAPATH_SUPPORT */
677
        {       -1, -1,  -1 }, /* OFPBIC_UNKNOWN_INST */
678
        {   0x2320,  2, 257 }, /* OFPBIC_UNSUP_INST */
679
        {       -1, -1,  -1 }, /* OFPBIC_BAD_TABLE_ID */
680
        {       -1, -1,  -1 }, /* OFPBIC_UNSUP_METADATA */
681
        {       -1, -1,  -1 }, /* OFPBIC_UNSUP_METADATA_MASK */
682
        {       -1, -1,  -1 }, /* OFPBIC_BAD_EXPERIMENTER */
683
        {       -1, -1,  -1 }, /* OFPBIC_BAD_EXP_TYPE */
684
        {       -1, -1,  -1 }, /* OFPBIC_BAD_LEN */
685
        {       -1, -1,  -1 }, /* OFPBIC_EPERM */
686
        {       -1, -1,  -1 }, /* OFPBIC_DUP_INST */
687
        {       -1, -1,  -1 }, /* OFPBMC_BAD_TYPE */
688
        {       -1, -1,  -1 }, /* OFPBMC_BAD_LEN */
689
        {       -1, -1,  -1 }, /* OFPBMC_BAD_TAG */
690
        {       -1, -1,  -1 }, /* OFPBMC_BAD_DL_ADDR_MASK */
691
        {       -1, -1,  -1 }, /* OFPBMC_BAD_NW_ADDR_MASK */
692
        {   0x2320,  1, 262 }, /* OFPBMC_BAD_WILDCARDS */
693
        {   0x2320,  0, 263 }, /* OFPBMC_BAD_FIELD */
694
        {   0x2320,  1, 258 }, /* OFPBMC_BAD_VALUE */
695
        {   0x2320,  1, 259 }, /* OFPBMC_BAD_MASK */
696
        {   0x2320,  1, 260 }, /* OFPBMC_BAD_PREREQ */
697
        {   0x2320,  1, 261 }, /* OFPBMC_DUP_FIELD */
698
        {       -1, -1,  -1 }, /* OFPBMC_EPERM */
699
        {   0x2320,  1, 264 }, /* NXBMC_CT_DATAPATH_SUPPORT */
700
        {       -1, -1,  -1 }, /* OFPFMFC_UNKNOWN */
701
        {      0x0,  3,   0 }, /* OFPFMFC_TABLE_FULL */
702
        {       -1, -1,  -1 }, /* OFPFMFC_BAD_TABLE_ID */
703
        {      0x0,  3,   1 }, /* OFPFMFC_OVERLAP */
704
        {      0x0,  3,   2 }, /* OFPFMFC_EPERM */
705
        {       -1, -1,  -1 }, /* OFPFMFC_BAD_TIMEOUT */
706
        {      0x0,  3,   3 }, /* OFPFMFC_BAD_EMERG_TIMEOUT */
707
        {      0x0,  3,   4 }, /* OFPFMFC_BAD_COMMAND */
708
        {   0x2320,  3, 258 }, /* OFPFMFC_BAD_FLAGS */
709
        {       -1, -1,  -1 }, /* OFPFMFC_CANT_SYNC */
710
        {       -1, -1,  -1 }, /* OFPFMFC_BAD_PRIORITY */
711
        {       -1, -1,  -1 }, /* OFPFMFC_IS_SYNC */
712
        {      0x0,  3,   5 }, /* OFPFMFC_UNSUPPORTED */
713
        {   0x2320,  5, 256 }, /* NXFMFC_HARDWARE */
714
        {   0x2320,  5, 257 }, /* NXFMFC_BAD_TABLE_ID */
715
        {   0x2320,  1, 536 }, /* NXFMFC_INVALID_TLV_FIELD */
716
        {   0x2320,  6,   0 }, /* OFPGMFC_GROUP_EXISTS */
717
        {   0x2320,  6,   1 }, /* OFPGMFC_INVALID_GROUP */
718
        {   0x2320,  6,   2 }, /* OFPGMFC_WEIGHT_UNSUPPORTED */
719
        {   0x2320,  6,   3 }, /* OFPGMFC_OUT_OF_GROUPS */
720
        {   0x2320,  6,   4 }, /* OFPGMFC_OUT_OF_BUCKETS */
721
        {   0x2320,  6,   5 }, /* OFPGMFC_CHAINING_UNSUPPORTED */
722
        {   0x2320,  6,   6 }, /* OFPGMFC_WATCH_UNSUPPORTED */
723
        {   0x2320,  6,   7 }, /* OFPGMFC_LOOP */
724
        {   0x2320,  6,   8 }, /* OFPGMFC_UNKNOWN_GROUP */
725
        {   0x2320,  6,   9 }, /* OFPGMFC_CHAINED_GROUP */
726
        {   0x2320,  6,  10 }, /* OFPGMFC_BAD_TYPE */
727
        {   0x2320,  6,  11 }, /* OFPGMFC_BAD_COMMAND */
728
        {   0x2320,  6,  12 }, /* OFPGMFC_BAD_BUCKET */
729
        {   0x2320,  6,  13 }, /* OFPGMFC_BAD_WATCH */
730
        {   0x2320,  6,  14 }, /* OFPGMFC_EPERM */
731
        {   0x2320,  6,  15 }, /* OFPGMFC_UNKNOWN_BUCKET */
732
        {   0x2320,  6,  16 }, /* OFPGMFC_BUCKET_EXISTS */
733
        {      0x0,  4,   0 }, /* OFPPMFC_BAD_PORT */
734
        {      0x0,  4,   1 }, /* OFPPMFC_BAD_HW_ADDR */
735
        {       -1, -1,  -1 }, /* OFPPMFC_BAD_CONFIG */
736
        {       -1, -1,  -1 }, /* OFPPMFC_BAD_ADVERTISE */
737
        {       -1, -1,  -1 }, /* OFPPMFC_EPERM */
738
        {       -1, -1,  -1 }, /* OFPTMFC_BAD_TABLE */
739
        {       -1, -1,  -1 }, /* OFPTMFC_BAD_CONFIG */
740
        {       -1, -1,  -1 }, /* OFPTMFC_EPERM */
741
        {      0x0,  5,   0 }, /* OFPQOFC_BAD_PORT */
742
        {      0x0,  5,   1 }, /* OFPQOFC_BAD_QUEUE */
743
        {      0x0,  5,   2 }, /* OFPQOFC_EPERM */
744
        {       -1, -1,  -1 }, /* NXQOFC_QUEUE_ERROR */
745
        {       -1, -1,  -1 }, /* OFPSCFC_BAD_FLAGS */
746
        {       -1, -1,  -1 }, /* OFPSCFC_BAD_LEN */
747
        {       -1, -1,  -1 }, /* OFPSCFC_EPERM */
748
        {       -1, -1,  -1 }, /* OFPRRFC_STALE */
749
        {       -1, -1,  -1 }, /* OFPRRFC_UNSUP */
750
        {   0x2320,  1, 513 }, /* OFPRRFC_BAD_ROLE */
751
        {       -1, -1,  -1 }, /* OFPRRFC_ID_UNSUP */
752
        {       -1, -1,  -1 }, /* OFPRRFC_ID_IN_USE */
753
        {       -1, -1,  -1 }, /* OFPMMFC_UNKNOWN */
754
        {       -1, -1,  -1 }, /* OFPMMFC_METER_EXISTS */
755
        {       -1, -1,  -1 }, /* OFPMMFC_INVALID_METER */
756
        {       -1, -1,  -1 }, /* OFPMMFC_UNKNOWN_METER */
757
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_COMMAND */
758
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_FLAGS */
759
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_RATE */
760
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_BURST */
761
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_BAND */
762
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_BAND_VALUE */
763
        {       -1, -1,  -1 }, /* OFPMMFC_OUT_OF_METERS */
764
        {       -1, -1,  -1 }, /* OFPMMFC_OUT_OF_BANDS */
765
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_TABLE */
766
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_METADATA */
767
        {       -1, -1,  -1 }, /* OFPTFFC_EPERM */
768
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_CAPA */
769
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_MAX_ENT */
770
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_FEATURES */
771
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_COMMAND */
772
        {       -1, -1,  -1 }, /* OFPTFFC_TOO_MANY */
773
        {       -1, -1,  -1 }, /* NXTFFC_DUP_TABLE */
774
        {   0x2320, 13,   2 }, /* OFPBPC_BAD_TYPE */
775
        {   0x2320, 13,   3 }, /* OFPBPC_BAD_LEN */
776
        {   0x2320, 13,   4 }, /* OFPBPC_BAD_VALUE */
777
        {   0x2320, 14,   3 }, /* OFPBPC_TOO_MANY */
778
        {   0x2320, 14,   4 }, /* OFPBPC_DUP_TYPE */
779
        {   0x2320, 14,   5 }, /* OFPBPC_BAD_EXPERIMENTER */
780
        {   0x2320, 14,   6 }, /* OFPBPC_BAD_EXP_TYPE */
781
        {   0x2320, 14,   7 }, /* OFPBPC_BAD_EXP_VALUE */
782
        {   0x2320, 14,   8 }, /* OFPBPC_EPERM */
783
        {       -1, -1,  -1 }, /* OFPACFC_INVALID */
784
        {       -1, -1,  -1 }, /* OFPACFC_UNSUPPORTED */
785
        {       -1, -1,  -1 }, /* OFPACFC_EPERM */
786
        {       -1, -1,  -1 }, /* OFPBFC_UNKNOWN */
787
        {       -1, -1,  -1 }, /* OFPBFC_EPERM */
788
        {       -1, -1,  -1 }, /* OFPBFC_BAD_ID */
789
        {       -1, -1,  -1 }, /* OFPBFC_BUNDLE_EXIST */
790
        {       -1, -1,  -1 }, /* OFPBFC_BUNDLE_CLOSED */
791
        {       -1, -1,  -1 }, /* OFPBFC_OUT_OF_BUNDLES */
792
        {       -1, -1,  -1 }, /* OFPBFC_BAD_TYPE */
793
        {       -1, -1,  -1 }, /* OFPBFC_BAD_FLAGS */
794
        {       -1, -1,  -1 }, /* OFPBFC_MSG_BAD_LEN */
795
        {       -1, -1,  -1 }, /* OFPBFC_MSG_BAD_XID */
796
        {       -1, -1,  -1 }, /* OFPBFC_MSG_UNSUP */
797
        {       -1, -1,  -1 }, /* OFPBFC_MSG_CONFLICT */
798
        {       -1, -1,  -1 }, /* OFPBFC_MSG_TOO_MANY */
799
        {       -1, -1,  -1 }, /* OFPBFC_MSG_FAILED */
800
        {       -1, -1,  -1 }, /* OFPBFC_TIMEOUT */
801
        {       -1, -1,  -1 }, /* OFPBFC_BUNDLE_IN_PROGRESS */
802
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_NOT_SUPPORTED */
803
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_FUTURE */
804
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_PAST */
805
        {       -1, -1,  -1 }, /* OFPBFC_BAD_VERSION */
806
        {       -1, -1,  -1 }, /* OFPMOFC_UNKNOWN */
807
        {   0x2320,  1, 517 }, /* OFPMOFC_MONITOR_EXISTS */
808
        {       -1, -1,  -1 }, /* OFPMOFC_INVALID_MONITOR */
809
        {   0x2320,  1, 519 }, /* OFPMOFC_UNKNOWN_MONITOR */
810
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_COMMAND */
811
        {   0x2320,  1, 518 }, /* OFPMOFC_BAD_FLAGS */
812
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_TABLE_ID */
813
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_OUT */
814
        {   0x2320,  1, 527 }, /* NXTTMFC_BAD_COMMAND */
815
        {   0x2320,  1, 528 }, /* NXTTMFC_BAD_OPT_LEN */
816
        {   0x2320,  1, 529 }, /* NXTTMFC_BAD_FIELD_IDX */
817
        {   0x2320,  1, 530 }, /* NXTTMFC_TABLE_FULL */
818
        {   0x2320,  1, 531 }, /* NXTTMFC_ALREADY_MAPPED */
819
        {   0x2320,  1, 532 }, /* NXTTMFC_DUP_ENTRY */
820
        {   0x2320,  1, 537 }, /* NXTTMFC_INVALID_TLV_DEL */
821
        {   0x2320,  1, 533 }, /* NXR_NOT_SUPPORTED */
822
        {   0x2320,  1, 534 }, /* NXR_STALE */
823
        {   0x2320,  1, 535 }, /* NXST_NOT_CONFIGURED */
824
    },
825
};
826
827
static enum ofperr
828
ofperr_of11_decode(uint32_t vendor, uint16_t type, uint16_t code)
829
84.1k
{
830
84.1k
    switch (((uint64_t) vendor << 32) | ((uint32_t) type << 16) | code) {
831
2.29k
    case  ((uint32_t) 0 << 16) | 0:
832
2.29k
        return OFPERR_OFPHFC_INCOMPATIBLE;
833
91
    case  ((uint32_t) 0 << 16) | 1:
834
91
        return OFPERR_OFPHFC_EPERM;
835
290
    case  ((uint32_t) 1 << 16) | 0:
836
290
        return OFPERR_OFPBRC_BAD_VERSION;
837
367
    case  ((uint32_t) 1 << 16) | 1:
838
367
        return OFPERR_OFPBRC_BAD_TYPE;
839
448
    case  ((uint32_t) 1 << 16) | 2:
840
448
        return OFPERR_OFPBRC_BAD_STAT;
841
342
    case  ((uint32_t) 1 << 16) | 3:
842
342
        return OFPERR_OFPBRC_BAD_VENDOR;
843
615
    case  ((uint32_t) 1 << 16) | 4:
844
615
        return OFPERR_OFPBRC_BAD_SUBTYPE;
845
373
    case  ((uint32_t) 1 << 16) | 5:
846
373
        return OFPERR_OFPBRC_EPERM;
847
753
    case  ((uint32_t) 1 << 16) | 6:
848
753
        return OFPERR_OFPBRC_BAD_LEN;
849
67
    case  ((uint32_t) 1 << 16) | 7:
850
67
        return OFPERR_OFPBRC_BUFFER_EMPTY;
851
2.14k
    case  ((uint32_t) 1 << 16) | 8:
852
2.14k
        return OFPERR_OFPBRC_BUFFER_UNKNOWN;
853
525
    case  ((uint32_t) 1 << 16) | 9:
854
525
        return OFPERR_OFPBRC_BAD_TABLE_ID;
855
652
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 514:
856
652
        return OFPERR_OFPBRC_BAD_PORT;
857
2.47k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 256:
858
2.47k
        return OFPERR_NXBRC_NXM_INVALID;
859
2.68k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 257:
860
2.68k
        return OFPERR_NXBRC_NXM_BAD_TYPE;
861
47
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 515:
862
47
        return OFPERR_NXBRC_MUST_BE_ZERO;
863
530
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 516:
864
530
        return OFPERR_NXBRC_BAD_REASON;
865
200
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 520:
866
200
        return OFPERR_NXBRC_FM_BAD_EVENT;
867
172
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 521:
868
172
        return OFPERR_NXBRC_UNENCODABLE_ERROR;
869
69
    case  ((uint32_t) 2 << 16) | 0:
870
69
        return OFPERR_OFPBAC_BAD_TYPE;
871
69
    case  ((uint32_t) 2 << 16) | 1:
872
69
        return OFPERR_OFPBAC_BAD_LEN;
873
219
    case  ((uint32_t) 2 << 16) | 2:
874
219
        return OFPERR_OFPBAC_BAD_VENDOR;
875
80
    case  ((uint32_t) 2 << 16) | 3:
876
80
        return OFPERR_OFPBAC_BAD_VENDOR_TYPE;
877
165
    case  ((uint32_t) 2 << 16) | 4:
878
165
        return OFPERR_OFPBAC_BAD_OUT_PORT;
879
123
    case  ((uint32_t) 2 << 16) | 5:
880
123
        return OFPERR_OFPBAC_BAD_ARGUMENT;
881
201
    case  ((uint32_t) 2 << 16) | 6:
882
201
        return OFPERR_OFPBAC_EPERM;
883
199
    case  ((uint32_t) 2 << 16) | 7:
884
199
        return OFPERR_OFPBAC_TOO_MANY;
885
5.66k
    case  ((uint32_t) 2 << 16) | 8:
886
5.66k
        return OFPERR_OFPBAC_BAD_QUEUE;
887
247
    case  ((uint32_t) 2 << 16) | 9:
888
247
        return OFPERR_OFPBAC_BAD_OUT_GROUP;
889
34
    case  ((uint32_t) 2 << 16) | 10:
890
34
        return OFPERR_OFPBAC_MATCH_INCONSISTENT;
891
74
    case  ((uint32_t) 2 << 16) | 11:
892
74
        return OFPERR_OFPBAC_UNSUPPORTED_ORDER;
893
3.49k
    case  ((uint32_t) 2 << 16) | 12:
894
3.49k
        return OFPERR_OFPBAC_BAD_TAG;
895
70
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 523:
896
70
        return OFPERR_OFPBAC_BAD_SET_TYPE;
897
1.17k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 524:
898
1.17k
        return OFPERR_OFPBAC_BAD_SET_LEN;
899
10
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 525:
900
10
        return OFPERR_OFPBAC_BAD_SET_ARGUMENT;
901
32
    case (0x2320ULL << 32) |  ((uint32_t) 2 << 16) | 256:
902
32
        return OFPERR_NXBAC_MUST_BE_ZERO;
903
66
    case (0x2320ULL << 32) |  ((uint32_t) 2 << 16) | 526:
904
66
        return OFPERR_NXBAC_BAD_CONJUNCTION;
905
34
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 265:
906
34
        return OFPERR_NXBAC_CT_DATAPATH_SUPPORT;
907
75
    case  ((uint32_t) 3 << 16) | 0:
908
75
        return OFPERR_OFPBIC_UNKNOWN_INST;
909
1.14k
    case  ((uint32_t) 3 << 16) | 1:
910
1.14k
        return OFPERR_OFPBIC_UNSUP_INST;
911
411
    case  ((uint32_t) 3 << 16) | 2:
912
411
        return OFPERR_OFPBIC_BAD_TABLE_ID;
913
105
    case  ((uint32_t) 3 << 16) | 3:
914
105
        return OFPERR_OFPBIC_UNSUP_METADATA;
915
66
    case  ((uint32_t) 3 << 16) | 4:
916
66
        return OFPERR_OFPBIC_UNSUP_METADATA_MASK;
917
67
    case  ((uint32_t) 3 << 16) | 5:
918
67
        return OFPERR_OFPBIC_BAD_EXPERIMENTER;
919
59
    case (0x2320ULL << 32) |  ((uint32_t) 3 << 16) | 256:
920
59
        return OFPERR_OFPBIC_DUP_INST;
921
594
    case  ((uint32_t) 4 << 16) | 0:
922
594
        return OFPERR_OFPBMC_BAD_TYPE;
923
127
    case  ((uint32_t) 4 << 16) | 1:
924
127
        return OFPERR_OFPBMC_BAD_LEN;
925
34
    case  ((uint32_t) 4 << 16) | 2:
926
34
        return OFPERR_OFPBMC_BAD_TAG;
927
67
    case  ((uint32_t) 4 << 16) | 3:
928
67
        return OFPERR_OFPBMC_BAD_DL_ADDR_MASK;
929
576
    case  ((uint32_t) 4 << 16) | 4:
930
576
        return OFPERR_OFPBMC_BAD_NW_ADDR_MASK;
931
896
    case  ((uint32_t) 4 << 16) | 5:
932
896
        return OFPERR_OFPBMC_BAD_WILDCARDS;
933
36
    case  ((uint32_t) 4 << 16) | 6:
934
36
        return OFPERR_OFPBMC_BAD_FIELD;
935
34
    case  ((uint32_t) 4 << 16) | 7:
936
34
        return OFPERR_OFPBMC_BAD_VALUE;
937
151
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 259:
938
151
        return OFPERR_OFPBMC_BAD_MASK;
939
1.23k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 260:
940
1.23k
        return OFPERR_OFPBMC_BAD_PREREQ;
941
47
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 261:
942
47
        return OFPERR_OFPBMC_DUP_FIELD;
943
71
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 264:
944
71
        return OFPERR_NXBMC_CT_DATAPATH_SUPPORT;
945
82
    case  ((uint32_t) 5 << 16) | 0:
946
82
        return OFPERR_OFPFMFC_UNKNOWN;
947
83
    case  ((uint32_t) 5 << 16) | 1:
948
83
        return OFPERR_OFPFMFC_TABLE_FULL;
949
568
    case  ((uint32_t) 5 << 16) | 2:
950
568
        return OFPERR_OFPFMFC_BAD_TABLE_ID;
951
71
    case  ((uint32_t) 5 << 16) | 3:
952
71
        return OFPERR_OFPFMFC_OVERLAP;
953
706
    case  ((uint32_t) 5 << 16) | 4:
954
706
        return OFPERR_OFPFMFC_EPERM;
955
818
    case  ((uint32_t) 5 << 16) | 5:
956
818
        return OFPERR_OFPFMFC_BAD_TIMEOUT;
957
66
    case  ((uint32_t) 5 << 16) | 6:
958
66
        return OFPERR_OFPFMFC_BAD_COMMAND;
959
34
    case (0x2320ULL << 32) |  ((uint32_t) 5 << 16) | 258:
960
34
        return OFPERR_OFPFMFC_BAD_FLAGS;
961
34
    case (0x2320ULL << 32) |  ((uint32_t) 5 << 16) | 256:
962
34
        return OFPERR_NXFMFC_HARDWARE;
963
75
    case (0x2320ULL << 32) |  ((uint32_t) 5 << 16) | 257:
964
75
        return OFPERR_NXFMFC_BAD_TABLE_ID;
965
18
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 536:
966
18
        return OFPERR_NXFMFC_INVALID_TLV_FIELD;
967
459
    case  ((uint32_t) 6 << 16) | 0:
968
459
        return OFPERR_OFPGMFC_GROUP_EXISTS;
969
984
    case  ((uint32_t) 6 << 16) | 1:
970
984
        return OFPERR_OFPGMFC_INVALID_GROUP;
971
4.17k
    case  ((uint32_t) 6 << 16) | 2:
972
4.17k
        return OFPERR_OFPGMFC_WEIGHT_UNSUPPORTED;
973
69
    case  ((uint32_t) 6 << 16) | 3:
974
69
        return OFPERR_OFPGMFC_OUT_OF_GROUPS;
975
3.88k
    case  ((uint32_t) 6 << 16) | 4:
976
3.88k
        return OFPERR_OFPGMFC_OUT_OF_BUCKETS;
977
1.40k
    case  ((uint32_t) 6 << 16) | 5:
978
1.40k
        return OFPERR_OFPGMFC_CHAINING_UNSUPPORTED;
979
240
    case  ((uint32_t) 6 << 16) | 6:
980
240
        return OFPERR_OFPGMFC_WATCH_UNSUPPORTED;
981
66
    case  ((uint32_t) 6 << 16) | 7:
982
66
        return OFPERR_OFPGMFC_LOOP;
983
662
    case  ((uint32_t) 6 << 16) | 8:
984
662
        return OFPERR_OFPGMFC_UNKNOWN_GROUP;
985
190
    case  ((uint32_t) 7 << 16) | 0:
986
190
        return OFPERR_OFPPMFC_BAD_PORT;
987
66
    case  ((uint32_t) 7 << 16) | 1:
988
66
        return OFPERR_OFPPMFC_BAD_HW_ADDR;
989
209
    case  ((uint32_t) 7 << 16) | 2:
990
209
        return OFPERR_OFPPMFC_BAD_CONFIG;
991
1.38k
    case  ((uint32_t) 7 << 16) | 3:
992
1.38k
        return OFPERR_OFPPMFC_BAD_ADVERTISE;
993
88
    case  ((uint32_t) 8 << 16) | 0:
994
88
        return OFPERR_OFPTMFC_BAD_TABLE;
995
2.30k
    case  ((uint32_t) 8 << 16) | 1:
996
2.30k
        return OFPERR_OFPTMFC_BAD_CONFIG;
997
34
    case  ((uint32_t) 9 << 16) | 0:
998
34
        return OFPERR_OFPQOFC_BAD_PORT;
999
194
    case  ((uint32_t) 9 << 16) | 1:
1000
194
        return OFPERR_OFPQOFC_BAD_QUEUE;
1001
66
    case  ((uint32_t) 9 << 16) | 2:
1002
66
        return OFPERR_OFPQOFC_EPERM;
1003
516
    case  ((uint32_t) 10 << 16) | 0:
1004
516
        return OFPERR_OFPSCFC_BAD_FLAGS;
1005
16
    case  ((uint32_t) 10 << 16) | 1:
1006
16
        return OFPERR_OFPSCFC_BAD_LEN;
1007
80
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 513:
1008
80
        return OFPERR_OFPRRFC_BAD_ROLE;
1009
826
    case (0x2320ULL << 32) |  ((uint32_t) 13 << 16) | 2:
1010
826
        return OFPERR_OFPBPC_BAD_TYPE;
1011
1.45k
    case (0x2320ULL << 32) |  ((uint32_t) 13 << 16) | 3:
1012
1.45k
        return OFPERR_OFPBPC_BAD_LEN;
1013
68
    case (0x2320ULL << 32) |  ((uint32_t) 13 << 16) | 4:
1014
68
        return OFPERR_OFPBPC_BAD_VALUE;
1015
91
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 3:
1016
91
        return OFPERR_OFPBPC_TOO_MANY;
1017
10
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 4:
1018
10
        return OFPERR_OFPBPC_DUP_TYPE;
1019
1.84k
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 5:
1020
1.84k
        return OFPERR_OFPBPC_BAD_EXPERIMENTER;
1021
1.23k
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 6:
1022
1.23k
        return OFPERR_OFPBPC_BAD_EXP_TYPE;
1023
598
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 7:
1024
598
        return OFPERR_OFPBPC_BAD_EXP_VALUE;
1025
73
    case (0x2320ULL << 32) |  ((uint32_t) 14 << 16) | 8:
1026
73
        return OFPERR_OFPBPC_EPERM;
1027
199
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 517:
1028
199
        return OFPERR_OFPMOFC_MONITOR_EXISTS;
1029
575
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 519:
1030
575
        return OFPERR_OFPMOFC_UNKNOWN_MONITOR;
1031
18
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 518:
1032
18
        return OFPERR_OFPMOFC_BAD_FLAGS;
1033
16
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 527:
1034
16
        return OFPERR_NXTTMFC_BAD_COMMAND;
1035
68
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 528:
1036
68
        return OFPERR_NXTTMFC_BAD_OPT_LEN;
1037
209
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 529:
1038
209
        return OFPERR_NXTTMFC_BAD_FIELD_IDX;
1039
78
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 530:
1040
78
        return OFPERR_NXTTMFC_TABLE_FULL;
1041
18
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 531:
1042
18
        return OFPERR_NXTTMFC_ALREADY_MAPPED;
1043
71
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 532:
1044
71
        return OFPERR_NXTTMFC_DUP_ENTRY;
1045
66
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 537:
1046
66
        return OFPERR_NXTTMFC_INVALID_TLV_DEL;
1047
915
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 533:
1048
915
        return OFPERR_NXR_NOT_SUPPORTED;
1049
199
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 534:
1050
199
        return OFPERR_NXR_STALE;
1051
1.04k
    case (0x2320ULL << 32) |  ((uint32_t) 1 << 16) | 535:
1052
1.04k
        return OFPERR_NXST_NOT_CONFIGURED;
1053
84.1k
    }
1054
1055
21.8k
    return 0;
1056
84.1k
}
1057
1058
static const struct ofperr_domain ofperr_of11 = {
1059
    "OpenFlow 1.1",
1060
    2,
1061
    ofperr_of11_decode,
1062
    {
1063
        {      0x0,  0,   0 }, /* OFPHFC_INCOMPATIBLE */
1064
        {      0x0,  0,   1 }, /* OFPHFC_EPERM */
1065
        {      0x0,  1,   0 }, /* OFPBRC_BAD_VERSION */
1066
        {      0x0,  1,   1 }, /* OFPBRC_BAD_TYPE */
1067
        {      0x0,  1,   2 }, /* OFPBRC_BAD_STAT */
1068
        {      0x0,  1,   3 }, /* OFPBRC_BAD_VENDOR */
1069
        {      0x0,  1,   4 }, /* OFPBRC_BAD_SUBTYPE */
1070
        {      0x0,  1,   5 }, /* OFPBRC_EPERM */
1071
        {      0x0,  1,   6 }, /* OFPBRC_BAD_LEN */
1072
        {      0x0,  1,   7 }, /* OFPBRC_BUFFER_EMPTY */
1073
        {      0x0,  1,   8 }, /* OFPBRC_BUFFER_UNKNOWN */
1074
        {      0x0,  1,   9 }, /* OFPBRC_BAD_TABLE_ID */
1075
        {      0x0,  1,   5 }, /* OFPBRC_IS_SECONDARY */
1076
        {   0x2320,  1, 514 }, /* OFPBRC_BAD_PORT */
1077
        {       -1, -1,  -1 }, /* OFPBRC_BAD_PACKET */
1078
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_BUFFER_OVERFLOW */
1079
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_REQUEST_TIMEOUT */
1080
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_REPLY_TIMEOUT */
1081
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_BAD_SCHED */
1082
        {       -1, -1,  -1 }, /* OFPBRC_PIPELINE_FIELDS_ONLY */
1083
        {       -1, -1,  -1 }, /* OFPBRC_UNKNOWN */
1084
        {   0x2320,  1, 256 }, /* NXBRC_NXM_INVALID */
1085
        {   0x2320,  1, 257 }, /* NXBRC_NXM_BAD_TYPE */
1086
        {   0x2320,  1, 515 }, /* NXBRC_MUST_BE_ZERO */
1087
        {   0x2320,  1, 516 }, /* NXBRC_BAD_REASON */
1088
        {   0x2320,  1, 520 }, /* NXBRC_FM_BAD_EVENT */
1089
        {   0x2320,  1, 521 }, /* NXBRC_UNENCODABLE_ERROR */
1090
        {      0x0,  2,   0 }, /* OFPBAC_BAD_TYPE */
1091
        {      0x0,  2,   1 }, /* OFPBAC_BAD_LEN */
1092
        {      0x0,  2,   2 }, /* OFPBAC_BAD_VENDOR */
1093
        {      0x0,  2,   3 }, /* OFPBAC_BAD_VENDOR_TYPE */
1094
        {      0x0,  2,   4 }, /* OFPBAC_BAD_OUT_PORT */
1095
        {      0x0,  2,   5 }, /* OFPBAC_BAD_ARGUMENT */
1096
        {      0x0,  2,   6 }, /* OFPBAC_EPERM */
1097
        {      0x0,  2,   7 }, /* OFPBAC_TOO_MANY */
1098
        {      0x0,  2,   8 }, /* OFPBAC_BAD_QUEUE */
1099
        {      0x0,  2,   9 }, /* OFPBAC_BAD_OUT_GROUP */
1100
        {      0x0,  2,  10 }, /* OFPBAC_MATCH_INCONSISTENT */
1101
        {      0x0,  2,  11 }, /* OFPBAC_UNSUPPORTED_ORDER */
1102
        {      0x0,  2,  12 }, /* OFPBAC_BAD_TAG */
1103
        {   0x2320,  1, 523 }, /* OFPBAC_BAD_SET_TYPE */
1104
        {   0x2320,  1, 524 }, /* OFPBAC_BAD_SET_LEN */
1105
        {   0x2320,  1, 525 }, /* OFPBAC_BAD_SET_ARGUMENT */
1106
        {       -1, -1,  -1 }, /* OFPBAC_BAD_SET_MASK */
1107
        {       -1, -1,  -1 }, /* OFPBAC_BAD_METER */
1108
        {   0x2320,  2, 256 }, /* NXBAC_MUST_BE_ZERO */
1109
        {   0x2320,  2, 526 }, /* NXBAC_BAD_CONJUNCTION */
1110
        {       -1, -1,  -1 }, /* NXBAC_BAD_HEADER_TYPE */
1111
        {       -1, -1,  -1 }, /* NXBAC_UNKNOWN_ED_PROP */
1112
        {       -1, -1,  -1 }, /* NXBAC_BAD_ED_PROP */
1113
        {   0x2320,  1, 265 }, /* NXBAC_CT_DATAPATH_SUPPORT */
1114
        {      0x0,  3,   0 }, /* OFPBIC_UNKNOWN_INST */
1115
        {      0x0,  3,   1 }, /* OFPBIC_UNSUP_INST */
1116
        {      0x0,  3,   2 }, /* OFPBIC_BAD_TABLE_ID */
1117
        {      0x0,  3,   3 }, /* OFPBIC_UNSUP_METADATA */
1118
        {      0x0,  3,   4 }, /* OFPBIC_UNSUP_METADATA_MASK */
1119
        {      0x0,  3,   5 }, /* OFPBIC_BAD_EXPERIMENTER */
1120
        {      0x0,  3,   5 }, /* OFPBIC_BAD_EXP_TYPE */
1121
        {       -1, -1,  -1 }, /* OFPBIC_BAD_LEN */
1122
        {       -1, -1,  -1 }, /* OFPBIC_EPERM */
1123
        {   0x2320,  3, 256 }, /* OFPBIC_DUP_INST */
1124
        {      0x0,  4,   0 }, /* OFPBMC_BAD_TYPE */
1125
        {      0x0,  4,   1 }, /* OFPBMC_BAD_LEN */
1126
        {      0x0,  4,   2 }, /* OFPBMC_BAD_TAG */
1127
        {      0x0,  4,   3 }, /* OFPBMC_BAD_DL_ADDR_MASK */
1128
        {      0x0,  4,   4 }, /* OFPBMC_BAD_NW_ADDR_MASK */
1129
        {      0x0,  4,   5 }, /* OFPBMC_BAD_WILDCARDS */
1130
        {      0x0,  4,   6 }, /* OFPBMC_BAD_FIELD */
1131
        {      0x0,  4,   7 }, /* OFPBMC_BAD_VALUE */
1132
        {   0x2320,  1, 259 }, /* OFPBMC_BAD_MASK */
1133
        {   0x2320,  1, 260 }, /* OFPBMC_BAD_PREREQ */
1134
        {   0x2320,  1, 261 }, /* OFPBMC_DUP_FIELD */
1135
        {       -1, -1,  -1 }, /* OFPBMC_EPERM */
1136
        {   0x2320,  1, 264 }, /* NXBMC_CT_DATAPATH_SUPPORT */
1137
        {      0x0,  5,   0 }, /* OFPFMFC_UNKNOWN */
1138
        {      0x0,  5,   1 }, /* OFPFMFC_TABLE_FULL */
1139
        {      0x0,  5,   2 }, /* OFPFMFC_BAD_TABLE_ID */
1140
        {      0x0,  5,   3 }, /* OFPFMFC_OVERLAP */
1141
        {      0x0,  5,   4 }, /* OFPFMFC_EPERM */
1142
        {      0x0,  5,   5 }, /* OFPFMFC_BAD_TIMEOUT */
1143
        {       -1, -1,  -1 }, /* OFPFMFC_BAD_EMERG_TIMEOUT */
1144
        {      0x0,  5,   6 }, /* OFPFMFC_BAD_COMMAND */
1145
        {   0x2320,  5, 258 }, /* OFPFMFC_BAD_FLAGS */
1146
        {       -1, -1,  -1 }, /* OFPFMFC_CANT_SYNC */
1147
        {       -1, -1,  -1 }, /* OFPFMFC_BAD_PRIORITY */
1148
        {       -1, -1,  -1 }, /* OFPFMFC_IS_SYNC */
1149
        {       -1, -1,  -1 }, /* OFPFMFC_UNSUPPORTED */
1150
        {   0x2320,  5, 256 }, /* NXFMFC_HARDWARE */
1151
        {   0x2320,  5, 257 }, /* NXFMFC_BAD_TABLE_ID */
1152
        {   0x2320,  1, 536 }, /* NXFMFC_INVALID_TLV_FIELD */
1153
        {      0x0,  6,   0 }, /* OFPGMFC_GROUP_EXISTS */
1154
        {      0x0,  6,   1 }, /* OFPGMFC_INVALID_GROUP */
1155
        {      0x0,  6,   2 }, /* OFPGMFC_WEIGHT_UNSUPPORTED */
1156
        {      0x0,  6,   3 }, /* OFPGMFC_OUT_OF_GROUPS */
1157
        {      0x0,  6,   4 }, /* OFPGMFC_OUT_OF_BUCKETS */
1158
        {      0x0,  6,   5 }, /* OFPGMFC_CHAINING_UNSUPPORTED */
1159
        {      0x0,  6,   6 }, /* OFPGMFC_WATCH_UNSUPPORTED */
1160
        {      0x0,  6,   7 }, /* OFPGMFC_LOOP */
1161
        {      0x0,  6,   8 }, /* OFPGMFC_UNKNOWN_GROUP */
1162
        {       -1, -1,  -1 }, /* OFPGMFC_CHAINED_GROUP */
1163
        {       -1, -1,  -1 }, /* OFPGMFC_BAD_TYPE */
1164
        {       -1, -1,  -1 }, /* OFPGMFC_BAD_COMMAND */
1165
        {       -1, -1,  -1 }, /* OFPGMFC_BAD_BUCKET */
1166
        {       -1, -1,  -1 }, /* OFPGMFC_BAD_WATCH */
1167
        {       -1, -1,  -1 }, /* OFPGMFC_EPERM */
1168
        {       -1, -1,  -1 }, /* OFPGMFC_UNKNOWN_BUCKET */
1169
        {       -1, -1,  -1 }, /* OFPGMFC_BUCKET_EXISTS */
1170
        {      0x0,  7,   0 }, /* OFPPMFC_BAD_PORT */
1171
        {      0x0,  7,   1 }, /* OFPPMFC_BAD_HW_ADDR */
1172
        {      0x0,  7,   2 }, /* OFPPMFC_BAD_CONFIG */
1173
        {      0x0,  7,   3 }, /* OFPPMFC_BAD_ADVERTISE */
1174
        {       -1, -1,  -1 }, /* OFPPMFC_EPERM */
1175
        {      0x0,  8,   0 }, /* OFPTMFC_BAD_TABLE */
1176
        {      0x0,  8,   1 }, /* OFPTMFC_BAD_CONFIG */
1177
        {       -1, -1,  -1 }, /* OFPTMFC_EPERM */
1178
        {      0x0,  9,   0 }, /* OFPQOFC_BAD_PORT */
1179
        {      0x0,  9,   1 }, /* OFPQOFC_BAD_QUEUE */
1180
        {      0x0,  9,   2 }, /* OFPQOFC_EPERM */
1181
        {       -1, -1,  -1 }, /* NXQOFC_QUEUE_ERROR */
1182
        {      0x0, 10,   0 }, /* OFPSCFC_BAD_FLAGS */
1183
        {      0x0, 10,   1 }, /* OFPSCFC_BAD_LEN */
1184
        {       -1, -1,  -1 }, /* OFPSCFC_EPERM */
1185
        {       -1, -1,  -1 }, /* OFPRRFC_STALE */
1186
        {       -1, -1,  -1 }, /* OFPRRFC_UNSUP */
1187
        {   0x2320,  1, 513 }, /* OFPRRFC_BAD_ROLE */
1188
        {       -1, -1,  -1 }, /* OFPRRFC_ID_UNSUP */
1189
        {       -1, -1,  -1 }, /* OFPRRFC_ID_IN_USE */
1190
        {       -1, -1,  -1 }, /* OFPMMFC_UNKNOWN */
1191
        {       -1, -1,  -1 }, /* OFPMMFC_METER_EXISTS */
1192
        {       -1, -1,  -1 }, /* OFPMMFC_INVALID_METER */
1193
        {       -1, -1,  -1 }, /* OFPMMFC_UNKNOWN_METER */
1194
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_COMMAND */
1195
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_FLAGS */
1196
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_RATE */
1197
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_BURST */
1198
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_BAND */
1199
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_BAND_VALUE */
1200
        {       -1, -1,  -1 }, /* OFPMMFC_OUT_OF_METERS */
1201
        {       -1, -1,  -1 }, /* OFPMMFC_OUT_OF_BANDS */
1202
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_TABLE */
1203
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_METADATA */
1204
        {       -1, -1,  -1 }, /* OFPTFFC_EPERM */
1205
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_CAPA */
1206
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_MAX_ENT */
1207
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_FEATURES */
1208
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_COMMAND */
1209
        {       -1, -1,  -1 }, /* OFPTFFC_TOO_MANY */
1210
        {       -1, -1,  -1 }, /* NXTFFC_DUP_TABLE */
1211
        {   0x2320, 13,   2 }, /* OFPBPC_BAD_TYPE */
1212
        {   0x2320, 13,   3 }, /* OFPBPC_BAD_LEN */
1213
        {   0x2320, 13,   4 }, /* OFPBPC_BAD_VALUE */
1214
        {   0x2320, 14,   3 }, /* OFPBPC_TOO_MANY */
1215
        {   0x2320, 14,   4 }, /* OFPBPC_DUP_TYPE */
1216
        {   0x2320, 14,   5 }, /* OFPBPC_BAD_EXPERIMENTER */
1217
        {   0x2320, 14,   6 }, /* OFPBPC_BAD_EXP_TYPE */
1218
        {   0x2320, 14,   7 }, /* OFPBPC_BAD_EXP_VALUE */
1219
        {   0x2320, 14,   8 }, /* OFPBPC_EPERM */
1220
        {       -1, -1,  -1 }, /* OFPACFC_INVALID */
1221
        {       -1, -1,  -1 }, /* OFPACFC_UNSUPPORTED */
1222
        {       -1, -1,  -1 }, /* OFPACFC_EPERM */
1223
        {       -1, -1,  -1 }, /* OFPBFC_UNKNOWN */
1224
        {       -1, -1,  -1 }, /* OFPBFC_EPERM */
1225
        {       -1, -1,  -1 }, /* OFPBFC_BAD_ID */
1226
        {       -1, -1,  -1 }, /* OFPBFC_BUNDLE_EXIST */
1227
        {       -1, -1,  -1 }, /* OFPBFC_BUNDLE_CLOSED */
1228
        {       -1, -1,  -1 }, /* OFPBFC_OUT_OF_BUNDLES */
1229
        {       -1, -1,  -1 }, /* OFPBFC_BAD_TYPE */
1230
        {       -1, -1,  -1 }, /* OFPBFC_BAD_FLAGS */
1231
        {       -1, -1,  -1 }, /* OFPBFC_MSG_BAD_LEN */
1232
        {       -1, -1,  -1 }, /* OFPBFC_MSG_BAD_XID */
1233
        {       -1, -1,  -1 }, /* OFPBFC_MSG_UNSUP */
1234
        {       -1, -1,  -1 }, /* OFPBFC_MSG_CONFLICT */
1235
        {       -1, -1,  -1 }, /* OFPBFC_MSG_TOO_MANY */
1236
        {       -1, -1,  -1 }, /* OFPBFC_MSG_FAILED */
1237
        {       -1, -1,  -1 }, /* OFPBFC_TIMEOUT */
1238
        {       -1, -1,  -1 }, /* OFPBFC_BUNDLE_IN_PROGRESS */
1239
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_NOT_SUPPORTED */
1240
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_FUTURE */
1241
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_PAST */
1242
        {       -1, -1,  -1 }, /* OFPBFC_BAD_VERSION */
1243
        {       -1, -1,  -1 }, /* OFPMOFC_UNKNOWN */
1244
        {   0x2320,  1, 517 }, /* OFPMOFC_MONITOR_EXISTS */
1245
        {       -1, -1,  -1 }, /* OFPMOFC_INVALID_MONITOR */
1246
        {   0x2320,  1, 519 }, /* OFPMOFC_UNKNOWN_MONITOR */
1247
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_COMMAND */
1248
        {   0x2320,  1, 518 }, /* OFPMOFC_BAD_FLAGS */
1249
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_TABLE_ID */
1250
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_OUT */
1251
        {   0x2320,  1, 527 }, /* NXTTMFC_BAD_COMMAND */
1252
        {   0x2320,  1, 528 }, /* NXTTMFC_BAD_OPT_LEN */
1253
        {   0x2320,  1, 529 }, /* NXTTMFC_BAD_FIELD_IDX */
1254
        {   0x2320,  1, 530 }, /* NXTTMFC_TABLE_FULL */
1255
        {   0x2320,  1, 531 }, /* NXTTMFC_ALREADY_MAPPED */
1256
        {   0x2320,  1, 532 }, /* NXTTMFC_DUP_ENTRY */
1257
        {   0x2320,  1, 537 }, /* NXTTMFC_INVALID_TLV_DEL */
1258
        {   0x2320,  1, 533 }, /* NXR_NOT_SUPPORTED */
1259
        {   0x2320,  1, 534 }, /* NXR_STALE */
1260
        {   0x2320,  1, 535 }, /* NXST_NOT_CONFIGURED */
1261
    },
1262
};
1263
1264
static enum ofperr
1265
ofperr_of12_decode(uint32_t vendor, uint16_t type, uint16_t code)
1266
158k
{
1267
158k
    switch (((uint64_t) vendor << 32) | ((uint32_t) type << 16) | code) {
1268
2.57k
    case  ((uint32_t) 0 << 16) | 0:
1269
2.57k
        return OFPERR_OFPHFC_INCOMPATIBLE;
1270
44
    case  ((uint32_t) 0 << 16) | 1:
1271
44
        return OFPERR_OFPHFC_EPERM;
1272
78
    case  ((uint32_t) 1 << 16) | 0:
1273
78
        return OFPERR_OFPBRC_BAD_VERSION;
1274
312
    case  ((uint32_t) 1 << 16) | 1:
1275
312
        return OFPERR_OFPBRC_BAD_TYPE;
1276
11.7k
    case  ((uint32_t) 1 << 16) | 2:
1277
11.7k
        return OFPERR_OFPBRC_BAD_STAT;
1278
142
    case  ((uint32_t) 1 << 16) | 3:
1279
142
        return OFPERR_OFPBRC_BAD_VENDOR;
1280
73
    case  ((uint32_t) 1 << 16) | 4:
1281
73
        return OFPERR_OFPBRC_BAD_SUBTYPE;
1282
1.56k
    case  ((uint32_t) 1 << 16) | 5:
1283
1.56k
        return OFPERR_OFPBRC_EPERM;
1284
476
    case  ((uint32_t) 1 << 16) | 6:
1285
476
        return OFPERR_OFPBRC_BAD_LEN;
1286
514
    case  ((uint32_t) 1 << 16) | 7:
1287
514
        return OFPERR_OFPBRC_BUFFER_EMPTY;
1288
548
    case  ((uint32_t) 1 << 16) | 8:
1289
548
        return OFPERR_OFPBRC_BUFFER_UNKNOWN;
1290
80
    case  ((uint32_t) 1 << 16) | 9:
1291
80
        return OFPERR_OFPBRC_BAD_TABLE_ID;
1292
68
    case  ((uint32_t) 1 << 16) | 10:
1293
68
        return OFPERR_OFPBRC_IS_SECONDARY;
1294
444
    case  ((uint32_t) 1 << 16) | 11:
1295
444
        return OFPERR_OFPBRC_BAD_PORT;
1296
472
    case  ((uint32_t) 1 << 16) | 12:
1297
472
        return OFPERR_OFPBRC_BAD_PACKET;
1298
533
    case (0x2320ULL << 32) |  ((uint32_t) 2 << 16) | 0:
1299
533
        return OFPERR_NXBRC_NXM_INVALID;
1300
139
    case (0x2320ULL << 32) |  ((uint32_t) 3 << 16) | 0:
1301
139
        return OFPERR_NXBRC_NXM_BAD_TYPE;
1302
412
    case (0x2320ULL << 32) |  ((uint32_t) 4 << 16) | 0:
1303
412
        return OFPERR_NXBRC_MUST_BE_ZERO;
1304
66
    case (0x2320ULL << 32) |  ((uint32_t) 5 << 16) | 0:
1305
66
        return OFPERR_NXBRC_BAD_REASON;
1306
3.91k
    case (0x2320ULL << 32) |  ((uint32_t) 9 << 16) | 0:
1307
3.91k
        return OFPERR_NXBRC_FM_BAD_EVENT;
1308
2.32k
    case (0x2320ULL << 32) |  ((uint32_t) 10 << 16) | 0:
1309
2.32k
        return OFPERR_NXBRC_UNENCODABLE_ERROR;
1310
1.14k
    case  ((uint32_t) 2 << 16) | 0:
1311
1.14k
        return OFPERR_OFPBAC_BAD_TYPE;
1312
454
    case  ((uint32_t) 2 << 16) | 1:
1313
454
        return OFPERR_OFPBAC_BAD_LEN;
1314
418
    case  ((uint32_t) 2 << 16) | 2:
1315
418
        return OFPERR_OFPBAC_BAD_VENDOR;
1316
469
    case  ((uint32_t) 2 << 16) | 3:
1317
469
        return OFPERR_OFPBAC_BAD_VENDOR_TYPE;
1318
68
    case  ((uint32_t) 2 << 16) | 4:
1319
68
        return OFPERR_OFPBAC_BAD_OUT_PORT;
1320
365
    case  ((uint32_t) 2 << 16) | 5:
1321
365
        return OFPERR_OFPBAC_BAD_ARGUMENT;
1322
86
    case  ((uint32_t) 2 << 16) | 6:
1323
86
        return OFPERR_OFPBAC_EPERM;
1324
161
    case  ((uint32_t) 2 << 16) | 7:
1325
161
        return OFPERR_OFPBAC_TOO_MANY;
1326
35
    case  ((uint32_t) 2 << 16) | 8:
1327
35
        return OFPERR_OFPBAC_BAD_QUEUE;
1328
88
    case  ((uint32_t) 2 << 16) | 9:
1329
88
        return OFPERR_OFPBAC_BAD_OUT_GROUP;
1330
207
    case  ((uint32_t) 2 << 16) | 10:
1331
207
        return OFPERR_OFPBAC_MATCH_INCONSISTENT;
1332
196
    case  ((uint32_t) 2 << 16) | 11:
1333
196
        return OFPERR_OFPBAC_UNSUPPORTED_ORDER;
1334
143
    case  ((uint32_t) 2 << 16) | 12:
1335
143
        return OFPERR_OFPBAC_BAD_TAG;
1336
200
    case  ((uint32_t) 2 << 16) | 13:
1337
200
        return OFPERR_OFPBAC_BAD_SET_TYPE;
1338
286
    case  ((uint32_t) 2 << 16) | 14:
1339
286
        return OFPERR_OFPBAC_BAD_SET_LEN;
1340
216
    case  ((uint32_t) 2 << 16) | 15:
1341
216
        return OFPERR_OFPBAC_BAD_SET_ARGUMENT;
1342
18
    case (0x2320ULL << 32) |  ((uint32_t) 11 << 16) | 0:
1343
18
        return OFPERR_NXBAC_MUST_BE_ZERO;
1344
92
    case (0x2320ULL << 32) |  ((uint32_t) 15 << 16) | 0:
1345
92
        return OFPERR_NXBAC_BAD_CONJUNCTION;
1346
878
    case (0x2320ULL << 32) |  ((uint32_t) 42 << 16) | 0:
1347
878
        return OFPERR_NXBAC_CT_DATAPATH_SUPPORT;
1348
184
    case  ((uint32_t) 3 << 16) | 0:
1349
184
        return OFPERR_OFPBIC_UNKNOWN_INST;
1350
221
    case  ((uint32_t) 3 << 16) | 1:
1351
221
        return OFPERR_OFPBIC_UNSUP_INST;
1352
1.13k
    case  ((uint32_t) 3 << 16) | 2:
1353
1.13k
        return OFPERR_OFPBIC_BAD_TABLE_ID;
1354
218
    case  ((uint32_t) 3 << 16) | 3:
1355
218
        return OFPERR_OFPBIC_UNSUP_METADATA;
1356
796
    case  ((uint32_t) 3 << 16) | 4:
1357
796
        return OFPERR_OFPBIC_UNSUP_METADATA_MASK;
1358
77
    case  ((uint32_t) 3 << 16) | 5:
1359
77
        return OFPERR_OFPBIC_BAD_EXPERIMENTER;
1360
324
    case  ((uint32_t) 3 << 16) | 6:
1361
324
        return OFPERR_OFPBIC_BAD_EXP_TYPE;
1362
2.81k
    case  ((uint32_t) 3 << 16) | 7:
1363
2.81k
        return OFPERR_OFPBIC_BAD_LEN;
1364
211
    case  ((uint32_t) 3 << 16) | 8:
1365
211
        return OFPERR_OFPBIC_EPERM;
1366
18
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2600 << 16) | 0:
1367
18
        return OFPERR_OFPBIC_DUP_INST;
1368
51
    case  ((uint32_t) 4 << 16) | 0:
1369
51
        return OFPERR_OFPBMC_BAD_TYPE;
1370
599
    case  ((uint32_t) 4 << 16) | 1:
1371
599
        return OFPERR_OFPBMC_BAD_LEN;
1372
2.23k
    case  ((uint32_t) 4 << 16) | 2:
1373
2.23k
        return OFPERR_OFPBMC_BAD_TAG;
1374
72
    case  ((uint32_t) 4 << 16) | 3:
1375
72
        return OFPERR_OFPBMC_BAD_DL_ADDR_MASK;
1376
1.20k
    case  ((uint32_t) 4 << 16) | 4:
1377
1.20k
        return OFPERR_OFPBMC_BAD_NW_ADDR_MASK;
1378
466
    case  ((uint32_t) 4 << 16) | 5:
1379
466
        return OFPERR_OFPBMC_BAD_WILDCARDS;
1380
87
    case  ((uint32_t) 4 << 16) | 6:
1381
87
        return OFPERR_OFPBMC_BAD_FIELD;
1382
1.00k
    case  ((uint32_t) 4 << 16) | 7:
1383
1.00k
        return OFPERR_OFPBMC_BAD_VALUE;
1384
425
    case  ((uint32_t) 4 << 16) | 8:
1385
425
        return OFPERR_OFPBMC_BAD_MASK;
1386
71
    case  ((uint32_t) 4 << 16) | 9:
1387
71
        return OFPERR_OFPBMC_BAD_PREREQ;
1388
4.36k
    case  ((uint32_t) 4 << 16) | 10:
1389
4.36k
        return OFPERR_OFPBMC_DUP_FIELD;
1390
146
    case  ((uint32_t) 4 << 16) | 11:
1391
146
        return OFPERR_OFPBMC_EPERM;
1392
438
    case (0x2320ULL << 32) |  ((uint32_t) 43 << 16) | 0:
1393
438
        return OFPERR_NXBMC_CT_DATAPATH_SUPPORT;
1394
1.26k
    case  ((uint32_t) 5 << 16) | 0:
1395
1.26k
        return OFPERR_OFPFMFC_UNKNOWN;
1396
330
    case  ((uint32_t) 5 << 16) | 1:
1397
330
        return OFPERR_OFPFMFC_TABLE_FULL;
1398
1.27k
    case  ((uint32_t) 5 << 16) | 2:
1399
1.27k
        return OFPERR_OFPFMFC_BAD_TABLE_ID;
1400
207
    case  ((uint32_t) 5 << 16) | 3:
1401
207
        return OFPERR_OFPFMFC_OVERLAP;
1402
284
    case  ((uint32_t) 5 << 16) | 4:
1403
284
        return OFPERR_OFPFMFC_EPERM;
1404
157
    case  ((uint32_t) 5 << 16) | 5:
1405
157
        return OFPERR_OFPFMFC_BAD_TIMEOUT;
1406
97
    case  ((uint32_t) 5 << 16) | 6:
1407
97
        return OFPERR_OFPFMFC_BAD_COMMAND;
1408
26
    case  ((uint32_t) 5 << 16) | 7:
1409
26
        return OFPERR_OFPFMFC_BAD_FLAGS;
1410
66
    case (0x2320ULL << 32) |  ((uint32_t) 12 << 16) | 0:
1411
66
        return OFPERR_NXFMFC_HARDWARE;
1412
781
    case (0x2320ULL << 32) |  ((uint32_t) 13 << 16) | 0:
1413
781
        return OFPERR_NXFMFC_BAD_TABLE_ID;
1414
67
    case (0x2320ULL << 32) |  ((uint32_t) 37 << 16) | 0:
1415
67
        return OFPERR_NXFMFC_INVALID_TLV_FIELD;
1416
284
    case  ((uint32_t) 6 << 16) | 0:
1417
284
        return OFPERR_OFPGMFC_GROUP_EXISTS;
1418
2.45k
    case  ((uint32_t) 6 << 16) | 1:
1419
2.45k
        return OFPERR_OFPGMFC_INVALID_GROUP;
1420
116
    case  ((uint32_t) 6 << 16) | 2:
1421
116
        return OFPERR_OFPGMFC_WEIGHT_UNSUPPORTED;
1422
623
    case  ((uint32_t) 6 << 16) | 3:
1423
623
        return OFPERR_OFPGMFC_OUT_OF_GROUPS;
1424
788
    case  ((uint32_t) 6 << 16) | 4:
1425
788
        return OFPERR_OFPGMFC_OUT_OF_BUCKETS;
1426
308
    case  ((uint32_t) 6 << 16) | 5:
1427
308
        return OFPERR_OFPGMFC_CHAINING_UNSUPPORTED;
1428
357
    case  ((uint32_t) 6 << 16) | 6:
1429
357
        return OFPERR_OFPGMFC_WATCH_UNSUPPORTED;
1430
730
    case  ((uint32_t) 6 << 16) | 7:
1431
730
        return OFPERR_OFPGMFC_LOOP;
1432
738
    case  ((uint32_t) 6 << 16) | 8:
1433
738
        return OFPERR_OFPGMFC_UNKNOWN_GROUP;
1434
2.64k
    case  ((uint32_t) 6 << 16) | 9:
1435
2.64k
        return OFPERR_OFPGMFC_CHAINED_GROUP;
1436
102
    case  ((uint32_t) 6 << 16) | 10:
1437
102
        return OFPERR_OFPGMFC_BAD_TYPE;
1438
35
    case  ((uint32_t) 6 << 16) | 11:
1439
35
        return OFPERR_OFPGMFC_BAD_COMMAND;
1440
1.41k
    case  ((uint32_t) 6 << 16) | 12:
1441
1.41k
        return OFPERR_OFPGMFC_BAD_BUCKET;
1442
8.15k
    case  ((uint32_t) 6 << 16) | 13:
1443
8.15k
        return OFPERR_OFPGMFC_BAD_WATCH;
1444
170
    case  ((uint32_t) 6 << 16) | 14:
1445
170
        return OFPERR_OFPGMFC_EPERM;
1446
1.51k
    case  ((uint32_t) 7 << 16) | 0:
1447
1.51k
        return OFPERR_OFPPMFC_BAD_PORT;
1448
35
    case  ((uint32_t) 7 << 16) | 1:
1449
35
        return OFPERR_OFPPMFC_BAD_HW_ADDR;
1450
997
    case  ((uint32_t) 7 << 16) | 2:
1451
997
        return OFPERR_OFPPMFC_BAD_CONFIG;
1452
66
    case  ((uint32_t) 7 << 16) | 3:
1453
66
        return OFPERR_OFPPMFC_BAD_ADVERTISE;
1454
376
    case  ((uint32_t) 7 << 16) | 4:
1455
376
        return OFPERR_OFPPMFC_EPERM;
1456
794
    case  ((uint32_t) 8 << 16) | 0:
1457
794
        return OFPERR_OFPTMFC_BAD_TABLE;
1458
2.44k
    case  ((uint32_t) 8 << 16) | 1:
1459
2.44k
        return OFPERR_OFPTMFC_BAD_CONFIG;
1460
258
    case  ((uint32_t) 8 << 16) | 2:
1461
258
        return OFPERR_OFPTMFC_EPERM;
1462
95
    case  ((uint32_t) 9 << 16) | 0:
1463
95
        return OFPERR_OFPQOFC_BAD_PORT;
1464
992
    case  ((uint32_t) 9 << 16) | 1:
1465
992
        return OFPERR_OFPQOFC_BAD_QUEUE;
1466
113
    case  ((uint32_t) 9 << 16) | 2:
1467
113
        return OFPERR_OFPQOFC_EPERM;
1468
257
    case  ((uint32_t) 10 << 16) | 0:
1469
257
        return OFPERR_OFPSCFC_BAD_FLAGS;
1470
173
    case  ((uint32_t) 10 << 16) | 1:
1471
173
        return OFPERR_OFPSCFC_BAD_LEN;
1472
2.54k
    case  ((uint32_t) 10 << 16) | 2:
1473
2.54k
        return OFPERR_OFPSCFC_EPERM;
1474
66
    case  ((uint32_t) 11 << 16) | 0:
1475
66
        return OFPERR_OFPRRFC_STALE;
1476
1.05k
    case  ((uint32_t) 11 << 16) | 1:
1477
1.05k
        return OFPERR_OFPRRFC_UNSUP;
1478
68
    case  ((uint32_t) 11 << 16) | 2:
1479
68
        return OFPERR_OFPRRFC_BAD_ROLE;
1480
2.69k
    case (0x2320ULL << 32) |  ((uint32_t) 25 << 16) | 0:
1481
2.69k
        return OFPERR_OFPBPC_BAD_TYPE;
1482
1.01k
    case (0x2320ULL << 32) |  ((uint32_t) 26 << 16) | 0:
1483
1.01k
        return OFPERR_OFPBPC_BAD_LEN;
1484
66
    case (0x2320ULL << 32) |  ((uint32_t) 27 << 16) | 0:
1485
66
        return OFPERR_OFPBPC_BAD_VALUE;
1486
219
    case (0x2320ULL << 32) |  ((uint32_t) 28 << 16) | 0:
1487
219
        return OFPERR_OFPBPC_TOO_MANY;
1488
203
    case (0x2320ULL << 32) |  ((uint32_t) 29 << 16) | 0:
1489
203
        return OFPERR_OFPBPC_DUP_TYPE;
1490
212
    case (0x2320ULL << 32) |  ((uint32_t) 30 << 16) | 0:
1491
212
        return OFPERR_OFPBPC_BAD_EXPERIMENTER;
1492
66
    case (0x2320ULL << 32) |  ((uint32_t) 31 << 16) | 0:
1493
66
        return OFPERR_OFPBPC_BAD_EXP_TYPE;
1494
68
    case (0x2320ULL << 32) |  ((uint32_t) 32 << 16) | 0:
1495
68
        return OFPERR_OFPBPC_BAD_EXP_VALUE;
1496
984
    case (0x2320ULL << 32) |  ((uint32_t) 33 << 16) | 0:
1497
984
        return OFPERR_OFPBPC_EPERM;
1498
382
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 0:
1499
382
        return OFPERR_OFPMOFC_MONITOR_EXISTS;
1500
273
    case (0x2320ULL << 32) |  ((uint32_t) 8 << 16) | 0:
1501
273
        return OFPERR_OFPMOFC_UNKNOWN_MONITOR;
1502
1.01k
    case (0x2320ULL << 32) |  ((uint32_t) 7 << 16) | 0:
1503
1.01k
        return OFPERR_OFPMOFC_BAD_FLAGS;
1504
2.98k
    case (0x2320ULL << 32) |  ((uint32_t) 16 << 16) | 0:
1505
2.98k
        return OFPERR_NXTTMFC_BAD_COMMAND;
1506
225
    case (0x2320ULL << 32) |  ((uint32_t) 17 << 16) | 0:
1507
225
        return OFPERR_NXTTMFC_BAD_OPT_LEN;
1508
2.88k
    case (0x2320ULL << 32) |  ((uint32_t) 18 << 16) | 0:
1509
2.88k
        return OFPERR_NXTTMFC_BAD_FIELD_IDX;
1510
1.94k
    case (0x2320ULL << 32) |  ((uint32_t) 19 << 16) | 0:
1511
1.94k
        return OFPERR_NXTTMFC_TABLE_FULL;
1512
78
    case (0x2320ULL << 32) |  ((uint32_t) 20 << 16) | 0:
1513
78
        return OFPERR_NXTTMFC_ALREADY_MAPPED;
1514
307
    case (0x2320ULL << 32) |  ((uint32_t) 21 << 16) | 0:
1515
307
        return OFPERR_NXTTMFC_DUP_ENTRY;
1516
66
    case (0x2320ULL << 32) |  ((uint32_t) 38 << 16) | 0:
1517
66
        return OFPERR_NXTTMFC_INVALID_TLV_DEL;
1518
35
    case (0x2320ULL << 32) |  ((uint32_t) 34 << 16) | 0:
1519
35
        return OFPERR_NXR_NOT_SUPPORTED;
1520
238
    case (0x2320ULL << 32) |  ((uint32_t) 35 << 16) | 0:
1521
238
        return OFPERR_NXR_STALE;
1522
879
    case (0x2320ULL << 32) |  ((uint32_t) 36 << 16) | 0:
1523
879
        return OFPERR_NXST_NOT_CONFIGURED;
1524
158k
    }
1525
1526
56.7k
    return 0;
1527
158k
}
1528
1529
static const struct ofperr_domain ofperr_of12 = {
1530
    "OpenFlow 1.2",
1531
    3,
1532
    ofperr_of12_decode,
1533
    {
1534
        {      0x0,  0,   0 }, /* OFPHFC_INCOMPATIBLE */
1535
        {      0x0,  0,   1 }, /* OFPHFC_EPERM */
1536
        {      0x0,  1,   0 }, /* OFPBRC_BAD_VERSION */
1537
        {      0x0,  1,   1 }, /* OFPBRC_BAD_TYPE */
1538
        {      0x0,  1,   2 }, /* OFPBRC_BAD_STAT */
1539
        {      0x0,  1,   3 }, /* OFPBRC_BAD_VENDOR */
1540
        {      0x0,  1,   4 }, /* OFPBRC_BAD_SUBTYPE */
1541
        {      0x0,  1,   5 }, /* OFPBRC_EPERM */
1542
        {      0x0,  1,   6 }, /* OFPBRC_BAD_LEN */
1543
        {      0x0,  1,   7 }, /* OFPBRC_BUFFER_EMPTY */
1544
        {      0x0,  1,   8 }, /* OFPBRC_BUFFER_UNKNOWN */
1545
        {      0x0,  1,   9 }, /* OFPBRC_BAD_TABLE_ID */
1546
        {      0x0,  1,  10 }, /* OFPBRC_IS_SECONDARY */
1547
        {      0x0,  1,  11 }, /* OFPBRC_BAD_PORT */
1548
        {      0x0,  1,  12 }, /* OFPBRC_BAD_PACKET */
1549
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_BUFFER_OVERFLOW */
1550
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_REQUEST_TIMEOUT */
1551
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_REPLY_TIMEOUT */
1552
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_BAD_SCHED */
1553
        {       -1, -1,  -1 }, /* OFPBRC_PIPELINE_FIELDS_ONLY */
1554
        {       -1, -1,  -1 }, /* OFPBRC_UNKNOWN */
1555
        {   0x2320,  2,   0 }, /* NXBRC_NXM_INVALID */
1556
        {   0x2320,  3,   0 }, /* NXBRC_NXM_BAD_TYPE */
1557
        {   0x2320,  4,   0 }, /* NXBRC_MUST_BE_ZERO */
1558
        {   0x2320,  5,   0 }, /* NXBRC_BAD_REASON */
1559
        {   0x2320,  9,   0 }, /* NXBRC_FM_BAD_EVENT */
1560
        {   0x2320, 10,   0 }, /* NXBRC_UNENCODABLE_ERROR */
1561
        {      0x0,  2,   0 }, /* OFPBAC_BAD_TYPE */
1562
        {      0x0,  2,   1 }, /* OFPBAC_BAD_LEN */
1563
        {      0x0,  2,   2 }, /* OFPBAC_BAD_VENDOR */
1564
        {      0x0,  2,   3 }, /* OFPBAC_BAD_VENDOR_TYPE */
1565
        {      0x0,  2,   4 }, /* OFPBAC_BAD_OUT_PORT */
1566
        {      0x0,  2,   5 }, /* OFPBAC_BAD_ARGUMENT */
1567
        {      0x0,  2,   6 }, /* OFPBAC_EPERM */
1568
        {      0x0,  2,   7 }, /* OFPBAC_TOO_MANY */
1569
        {      0x0,  2,   8 }, /* OFPBAC_BAD_QUEUE */
1570
        {      0x0,  2,   9 }, /* OFPBAC_BAD_OUT_GROUP */
1571
        {      0x0,  2,  10 }, /* OFPBAC_MATCH_INCONSISTENT */
1572
        {      0x0,  2,  11 }, /* OFPBAC_UNSUPPORTED_ORDER */
1573
        {      0x0,  2,  12 }, /* OFPBAC_BAD_TAG */
1574
        {      0x0,  2,  13 }, /* OFPBAC_BAD_SET_TYPE */
1575
        {      0x0,  2,  14 }, /* OFPBAC_BAD_SET_LEN */
1576
        {      0x0,  2,  15 }, /* OFPBAC_BAD_SET_ARGUMENT */
1577
        {       -1, -1,  -1 }, /* OFPBAC_BAD_SET_MASK */
1578
        {       -1, -1,  -1 }, /* OFPBAC_BAD_METER */
1579
        {   0x2320, 11,   0 }, /* NXBAC_MUST_BE_ZERO */
1580
        {   0x2320, 15,   0 }, /* NXBAC_BAD_CONJUNCTION */
1581
        {       -1, -1,  -1 }, /* NXBAC_BAD_HEADER_TYPE */
1582
        {       -1, -1,  -1 }, /* NXBAC_UNKNOWN_ED_PROP */
1583
        {       -1, -1,  -1 }, /* NXBAC_BAD_ED_PROP */
1584
        {   0x2320, 42,   0 }, /* NXBAC_CT_DATAPATH_SUPPORT */
1585
        {      0x0,  3,   0 }, /* OFPBIC_UNKNOWN_INST */
1586
        {      0x0,  3,   1 }, /* OFPBIC_UNSUP_INST */
1587
        {      0x0,  3,   2 }, /* OFPBIC_BAD_TABLE_ID */
1588
        {      0x0,  3,   3 }, /* OFPBIC_UNSUP_METADATA */
1589
        {      0x0,  3,   4 }, /* OFPBIC_UNSUP_METADATA_MASK */
1590
        {      0x0,  3,   5 }, /* OFPBIC_BAD_EXPERIMENTER */
1591
        {      0x0,  3,   6 }, /* OFPBIC_BAD_EXP_TYPE */
1592
        {      0x0,  3,   7 }, /* OFPBIC_BAD_LEN */
1593
        {      0x0,  3,   8 }, /* OFPBIC_EPERM */
1594
        { 0x4f4e4600, 2600,   0 }, /* OFPBIC_DUP_INST */
1595
        {      0x0,  4,   0 }, /* OFPBMC_BAD_TYPE */
1596
        {      0x0,  4,   1 }, /* OFPBMC_BAD_LEN */
1597
        {      0x0,  4,   2 }, /* OFPBMC_BAD_TAG */
1598
        {      0x0,  4,   3 }, /* OFPBMC_BAD_DL_ADDR_MASK */
1599
        {      0x0,  4,   4 }, /* OFPBMC_BAD_NW_ADDR_MASK */
1600
        {      0x0,  4,   5 }, /* OFPBMC_BAD_WILDCARDS */
1601
        {      0x0,  4,   6 }, /* OFPBMC_BAD_FIELD */
1602
        {      0x0,  4,   7 }, /* OFPBMC_BAD_VALUE */
1603
        {      0x0,  4,   8 }, /* OFPBMC_BAD_MASK */
1604
        {      0x0,  4,   9 }, /* OFPBMC_BAD_PREREQ */
1605
        {      0x0,  4,  10 }, /* OFPBMC_DUP_FIELD */
1606
        {      0x0,  4,  11 }, /* OFPBMC_EPERM */
1607
        {   0x2320, 43,   0 }, /* NXBMC_CT_DATAPATH_SUPPORT */
1608
        {      0x0,  5,   0 }, /* OFPFMFC_UNKNOWN */
1609
        {      0x0,  5,   1 }, /* OFPFMFC_TABLE_FULL */
1610
        {      0x0,  5,   2 }, /* OFPFMFC_BAD_TABLE_ID */
1611
        {      0x0,  5,   3 }, /* OFPFMFC_OVERLAP */
1612
        {      0x0,  5,   4 }, /* OFPFMFC_EPERM */
1613
        {      0x0,  5,   5 }, /* OFPFMFC_BAD_TIMEOUT */
1614
        {       -1, -1,  -1 }, /* OFPFMFC_BAD_EMERG_TIMEOUT */
1615
        {      0x0,  5,   6 }, /* OFPFMFC_BAD_COMMAND */
1616
        {      0x0,  5,   7 }, /* OFPFMFC_BAD_FLAGS */
1617
        {       -1, -1,  -1 }, /* OFPFMFC_CANT_SYNC */
1618
        {       -1, -1,  -1 }, /* OFPFMFC_BAD_PRIORITY */
1619
        {       -1, -1,  -1 }, /* OFPFMFC_IS_SYNC */
1620
        {       -1, -1,  -1 }, /* OFPFMFC_UNSUPPORTED */
1621
        {   0x2320, 12,   0 }, /* NXFMFC_HARDWARE */
1622
        {   0x2320, 13,   0 }, /* NXFMFC_BAD_TABLE_ID */
1623
        {   0x2320, 37,   0 }, /* NXFMFC_INVALID_TLV_FIELD */
1624
        {      0x0,  6,   0 }, /* OFPGMFC_GROUP_EXISTS */
1625
        {      0x0,  6,   1 }, /* OFPGMFC_INVALID_GROUP */
1626
        {      0x0,  6,   2 }, /* OFPGMFC_WEIGHT_UNSUPPORTED */
1627
        {      0x0,  6,   3 }, /* OFPGMFC_OUT_OF_GROUPS */
1628
        {      0x0,  6,   4 }, /* OFPGMFC_OUT_OF_BUCKETS */
1629
        {      0x0,  6,   5 }, /* OFPGMFC_CHAINING_UNSUPPORTED */
1630
        {      0x0,  6,   6 }, /* OFPGMFC_WATCH_UNSUPPORTED */
1631
        {      0x0,  6,   7 }, /* OFPGMFC_LOOP */
1632
        {      0x0,  6,   8 }, /* OFPGMFC_UNKNOWN_GROUP */
1633
        {      0x0,  6,   9 }, /* OFPGMFC_CHAINED_GROUP */
1634
        {      0x0,  6,  10 }, /* OFPGMFC_BAD_TYPE */
1635
        {      0x0,  6,  11 }, /* OFPGMFC_BAD_COMMAND */
1636
        {      0x0,  6,  12 }, /* OFPGMFC_BAD_BUCKET */
1637
        {      0x0,  6,  13 }, /* OFPGMFC_BAD_WATCH */
1638
        {      0x0,  6,  14 }, /* OFPGMFC_EPERM */
1639
        {       -1, -1,  -1 }, /* OFPGMFC_UNKNOWN_BUCKET */
1640
        {       -1, -1,  -1 }, /* OFPGMFC_BUCKET_EXISTS */
1641
        {      0x0,  7,   0 }, /* OFPPMFC_BAD_PORT */
1642
        {      0x0,  7,   1 }, /* OFPPMFC_BAD_HW_ADDR */
1643
        {      0x0,  7,   2 }, /* OFPPMFC_BAD_CONFIG */
1644
        {      0x0,  7,   3 }, /* OFPPMFC_BAD_ADVERTISE */
1645
        {      0x0,  7,   4 }, /* OFPPMFC_EPERM */
1646
        {      0x0,  8,   0 }, /* OFPTMFC_BAD_TABLE */
1647
        {      0x0,  8,   1 }, /* OFPTMFC_BAD_CONFIG */
1648
        {      0x0,  8,   2 }, /* OFPTMFC_EPERM */
1649
        {      0x0,  9,   0 }, /* OFPQOFC_BAD_PORT */
1650
        {      0x0,  9,   1 }, /* OFPQOFC_BAD_QUEUE */
1651
        {      0x0,  9,   2 }, /* OFPQOFC_EPERM */
1652
        {       -1, -1,  -1 }, /* NXQOFC_QUEUE_ERROR */
1653
        {      0x0, 10,   0 }, /* OFPSCFC_BAD_FLAGS */
1654
        {      0x0, 10,   1 }, /* OFPSCFC_BAD_LEN */
1655
        {      0x0, 10,   2 }, /* OFPSCFC_EPERM */
1656
        {      0x0, 11,   0 }, /* OFPRRFC_STALE */
1657
        {      0x0, 11,   1 }, /* OFPRRFC_UNSUP */
1658
        {      0x0, 11,   2 }, /* OFPRRFC_BAD_ROLE */
1659
        {       -1, -1,  -1 }, /* OFPRRFC_ID_UNSUP */
1660
        {       -1, -1,  -1 }, /* OFPRRFC_ID_IN_USE */
1661
        {       -1, -1,  -1 }, /* OFPMMFC_UNKNOWN */
1662
        {       -1, -1,  -1 }, /* OFPMMFC_METER_EXISTS */
1663
        {       -1, -1,  -1 }, /* OFPMMFC_INVALID_METER */
1664
        {       -1, -1,  -1 }, /* OFPMMFC_UNKNOWN_METER */
1665
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_COMMAND */
1666
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_FLAGS */
1667
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_RATE */
1668
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_BURST */
1669
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_BAND */
1670
        {       -1, -1,  -1 }, /* OFPMMFC_BAD_BAND_VALUE */
1671
        {       -1, -1,  -1 }, /* OFPMMFC_OUT_OF_METERS */
1672
        {       -1, -1,  -1 }, /* OFPMMFC_OUT_OF_BANDS */
1673
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_TABLE */
1674
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_METADATA */
1675
        {       -1, -1,  -1 }, /* OFPTFFC_EPERM */
1676
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_CAPA */
1677
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_MAX_ENT */
1678
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_FEATURES */
1679
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_COMMAND */
1680
        {       -1, -1,  -1 }, /* OFPTFFC_TOO_MANY */
1681
        {       -1, -1,  -1 }, /* NXTFFC_DUP_TABLE */
1682
        {   0x2320, 25,   0 }, /* OFPBPC_BAD_TYPE */
1683
        {   0x2320, 26,   0 }, /* OFPBPC_BAD_LEN */
1684
        {   0x2320, 27,   0 }, /* OFPBPC_BAD_VALUE */
1685
        {   0x2320, 28,   0 }, /* OFPBPC_TOO_MANY */
1686
        {   0x2320, 29,   0 }, /* OFPBPC_DUP_TYPE */
1687
        {   0x2320, 30,   0 }, /* OFPBPC_BAD_EXPERIMENTER */
1688
        {   0x2320, 31,   0 }, /* OFPBPC_BAD_EXP_TYPE */
1689
        {   0x2320, 32,   0 }, /* OFPBPC_BAD_EXP_VALUE */
1690
        {   0x2320, 33,   0 }, /* OFPBPC_EPERM */
1691
        {       -1, -1,  -1 }, /* OFPACFC_INVALID */
1692
        {       -1, -1,  -1 }, /* OFPACFC_UNSUPPORTED */
1693
        {       -1, -1,  -1 }, /* OFPACFC_EPERM */
1694
        {       -1, -1,  -1 }, /* OFPBFC_UNKNOWN */
1695
        {       -1, -1,  -1 }, /* OFPBFC_EPERM */
1696
        {       -1, -1,  -1 }, /* OFPBFC_BAD_ID */
1697
        {       -1, -1,  -1 }, /* OFPBFC_BUNDLE_EXIST */
1698
        {       -1, -1,  -1 }, /* OFPBFC_BUNDLE_CLOSED */
1699
        {       -1, -1,  -1 }, /* OFPBFC_OUT_OF_BUNDLES */
1700
        {       -1, -1,  -1 }, /* OFPBFC_BAD_TYPE */
1701
        {       -1, -1,  -1 }, /* OFPBFC_BAD_FLAGS */
1702
        {       -1, -1,  -1 }, /* OFPBFC_MSG_BAD_LEN */
1703
        {       -1, -1,  -1 }, /* OFPBFC_MSG_BAD_XID */
1704
        {       -1, -1,  -1 }, /* OFPBFC_MSG_UNSUP */
1705
        {       -1, -1,  -1 }, /* OFPBFC_MSG_CONFLICT */
1706
        {       -1, -1,  -1 }, /* OFPBFC_MSG_TOO_MANY */
1707
        {       -1, -1,  -1 }, /* OFPBFC_MSG_FAILED */
1708
        {       -1, -1,  -1 }, /* OFPBFC_TIMEOUT */
1709
        {       -1, -1,  -1 }, /* OFPBFC_BUNDLE_IN_PROGRESS */
1710
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_NOT_SUPPORTED */
1711
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_FUTURE */
1712
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_PAST */
1713
        {       -1, -1,  -1 }, /* OFPBFC_BAD_VERSION */
1714
        {       -1, -1,  -1 }, /* OFPMOFC_UNKNOWN */
1715
        {   0x2320,  6,   0 }, /* OFPMOFC_MONITOR_EXISTS */
1716
        {       -1, -1,  -1 }, /* OFPMOFC_INVALID_MONITOR */
1717
        {   0x2320,  8,   0 }, /* OFPMOFC_UNKNOWN_MONITOR */
1718
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_COMMAND */
1719
        {   0x2320,  7,   0 }, /* OFPMOFC_BAD_FLAGS */
1720
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_TABLE_ID */
1721
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_OUT */
1722
        {   0x2320, 16,   0 }, /* NXTTMFC_BAD_COMMAND */
1723
        {   0x2320, 17,   0 }, /* NXTTMFC_BAD_OPT_LEN */
1724
        {   0x2320, 18,   0 }, /* NXTTMFC_BAD_FIELD_IDX */
1725
        {   0x2320, 19,   0 }, /* NXTTMFC_TABLE_FULL */
1726
        {   0x2320, 20,   0 }, /* NXTTMFC_ALREADY_MAPPED */
1727
        {   0x2320, 21,   0 }, /* NXTTMFC_DUP_ENTRY */
1728
        {   0x2320, 38,   0 }, /* NXTTMFC_INVALID_TLV_DEL */
1729
        {   0x2320, 34,   0 }, /* NXR_NOT_SUPPORTED */
1730
        {   0x2320, 35,   0 }, /* NXR_STALE */
1731
        {   0x2320, 36,   0 }, /* NXST_NOT_CONFIGURED */
1732
    },
1733
};
1734
1735
static enum ofperr
1736
ofperr_of13_decode(uint32_t vendor, uint16_t type, uint16_t code)
1737
115k
{
1738
115k
    switch (((uint64_t) vendor << 32) | ((uint32_t) type << 16) | code) {
1739
2.64k
    case  ((uint32_t) 0 << 16) | 0:
1740
2.64k
        return OFPERR_OFPHFC_INCOMPATIBLE;
1741
398
    case  ((uint32_t) 0 << 16) | 1:
1742
398
        return OFPERR_OFPHFC_EPERM;
1743
246
    case  ((uint32_t) 1 << 16) | 0:
1744
246
        return OFPERR_OFPBRC_BAD_VERSION;
1745
84
    case  ((uint32_t) 1 << 16) | 1:
1746
84
        return OFPERR_OFPBRC_BAD_TYPE;
1747
316
    case  ((uint32_t) 1 << 16) | 2:
1748
316
        return OFPERR_OFPBRC_BAD_STAT;
1749
484
    case  ((uint32_t) 1 << 16) | 3:
1750
484
        return OFPERR_OFPBRC_BAD_VENDOR;
1751
68
    case  ((uint32_t) 1 << 16) | 4:
1752
68
        return OFPERR_OFPBRC_BAD_SUBTYPE;
1753
1.52k
    case  ((uint32_t) 1 << 16) | 5:
1754
1.52k
        return OFPERR_OFPBRC_EPERM;
1755
369
    case  ((uint32_t) 1 << 16) | 6:
1756
369
        return OFPERR_OFPBRC_BAD_LEN;
1757
198
    case  ((uint32_t) 1 << 16) | 7:
1758
198
        return OFPERR_OFPBRC_BUFFER_EMPTY;
1759
326
    case  ((uint32_t) 1 << 16) | 8:
1760
326
        return OFPERR_OFPBRC_BUFFER_UNKNOWN;
1761
66
    case  ((uint32_t) 1 << 16) | 9:
1762
66
        return OFPERR_OFPBRC_BAD_TABLE_ID;
1763
66
    case  ((uint32_t) 1 << 16) | 10:
1764
66
        return OFPERR_OFPBRC_IS_SECONDARY;
1765
88
    case  ((uint32_t) 1 << 16) | 11:
1766
88
        return OFPERR_OFPBRC_BAD_PORT;
1767
860
    case  ((uint32_t) 1 << 16) | 12:
1768
860
        return OFPERR_OFPBRC_BAD_PACKET;
1769
66
    case  ((uint32_t) 1 << 16) | 13:
1770
66
        return OFPERR_OFPBRC_MULTIPART_BUFFER_OVERFLOW;
1771
66
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2640 << 16) | 0:
1772
66
        return OFPERR_OFPBRC_MULTIPART_REQUEST_TIMEOUT;
1773
66
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2641 << 16) | 0:
1774
66
        return OFPERR_OFPBRC_MULTIPART_REPLY_TIMEOUT;
1775
34
    case (0x2320ULL << 32) |  ((uint32_t) 2 << 16) | 0:
1776
34
        return OFPERR_NXBRC_NXM_INVALID;
1777
70
    case (0x2320ULL << 32) |  ((uint32_t) 3 << 16) | 0:
1778
70
        return OFPERR_NXBRC_NXM_BAD_TYPE;
1779
156
    case (0x2320ULL << 32) |  ((uint32_t) 4 << 16) | 0:
1780
156
        return OFPERR_NXBRC_MUST_BE_ZERO;
1781
236
    case (0x2320ULL << 32) |  ((uint32_t) 5 << 16) | 0:
1782
236
        return OFPERR_NXBRC_BAD_REASON;
1783
536
    case (0x2320ULL << 32) |  ((uint32_t) 9 << 16) | 0:
1784
536
        return OFPERR_NXBRC_FM_BAD_EVENT;
1785
279
    case (0x2320ULL << 32) |  ((uint32_t) 10 << 16) | 0:
1786
279
        return OFPERR_NXBRC_UNENCODABLE_ERROR;
1787
678
    case  ((uint32_t) 2 << 16) | 0:
1788
678
        return OFPERR_OFPBAC_BAD_TYPE;
1789
391
    case  ((uint32_t) 2 << 16) | 1:
1790
391
        return OFPERR_OFPBAC_BAD_LEN;
1791
2.03k
    case  ((uint32_t) 2 << 16) | 2:
1792
2.03k
        return OFPERR_OFPBAC_BAD_VENDOR;
1793
4.03k
    case  ((uint32_t) 2 << 16) | 3:
1794
4.03k
        return OFPERR_OFPBAC_BAD_VENDOR_TYPE;
1795
1.27k
    case  ((uint32_t) 2 << 16) | 4:
1796
1.27k
        return OFPERR_OFPBAC_BAD_OUT_PORT;
1797
691
    case  ((uint32_t) 2 << 16) | 5:
1798
691
        return OFPERR_OFPBAC_BAD_ARGUMENT;
1799
50
    case  ((uint32_t) 2 << 16) | 6:
1800
50
        return OFPERR_OFPBAC_EPERM;
1801
464
    case  ((uint32_t) 2 << 16) | 7:
1802
464
        return OFPERR_OFPBAC_TOO_MANY;
1803
129
    case  ((uint32_t) 2 << 16) | 8:
1804
129
        return OFPERR_OFPBAC_BAD_QUEUE;
1805
1.42k
    case  ((uint32_t) 2 << 16) | 9:
1806
1.42k
        return OFPERR_OFPBAC_BAD_OUT_GROUP;
1807
194
    case  ((uint32_t) 2 << 16) | 10:
1808
194
        return OFPERR_OFPBAC_MATCH_INCONSISTENT;
1809
306
    case  ((uint32_t) 2 << 16) | 11:
1810
306
        return OFPERR_OFPBAC_UNSUPPORTED_ORDER;
1811
118
    case  ((uint32_t) 2 << 16) | 12:
1812
118
        return OFPERR_OFPBAC_BAD_TAG;
1813
63
    case  ((uint32_t) 2 << 16) | 13:
1814
63
        return OFPERR_OFPBAC_BAD_SET_TYPE;
1815
782
    case  ((uint32_t) 2 << 16) | 14:
1816
782
        return OFPERR_OFPBAC_BAD_SET_LEN;
1817
317
    case  ((uint32_t) 2 << 16) | 15:
1818
317
        return OFPERR_OFPBAC_BAD_SET_ARGUMENT;
1819
122
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 4250 << 16) | 0:
1820
122
        return OFPERR_OFPBAC_BAD_SET_MASK;
1821
3.17k
    case (0x2320ULL << 32) |  ((uint32_t) 11 << 16) | 0:
1822
3.17k
        return OFPERR_NXBAC_MUST_BE_ZERO;
1823
196
    case (0x2320ULL << 32) |  ((uint32_t) 15 << 16) | 0:
1824
196
        return OFPERR_NXBAC_BAD_CONJUNCTION;
1825
236
    case (0x2320ULL << 32) |  ((uint32_t) 39 << 16) | 0:
1826
236
        return OFPERR_NXBAC_BAD_HEADER_TYPE;
1827
126
    case (0x2320ULL << 32) |  ((uint32_t) 40 << 16) | 0:
1828
126
        return OFPERR_NXBAC_UNKNOWN_ED_PROP;
1829
78
    case (0x2320ULL << 32) |  ((uint32_t) 41 << 16) | 0:
1830
78
        return OFPERR_NXBAC_BAD_ED_PROP;
1831
270
    case (0x2320ULL << 32) |  ((uint32_t) 42 << 16) | 0:
1832
270
        return OFPERR_NXBAC_CT_DATAPATH_SUPPORT;
1833
112
    case  ((uint32_t) 3 << 16) | 0:
1834
112
        return OFPERR_OFPBIC_UNKNOWN_INST;
1835
68
    case  ((uint32_t) 3 << 16) | 1:
1836
68
        return OFPERR_OFPBIC_UNSUP_INST;
1837
1.02k
    case  ((uint32_t) 3 << 16) | 2:
1838
1.02k
        return OFPERR_OFPBIC_BAD_TABLE_ID;
1839
1.30k
    case  ((uint32_t) 3 << 16) | 3:
1840
1.30k
        return OFPERR_OFPBIC_UNSUP_METADATA;
1841
770
    case  ((uint32_t) 3 << 16) | 4:
1842
770
        return OFPERR_OFPBIC_UNSUP_METADATA_MASK;
1843
66
    case  ((uint32_t) 3 << 16) | 5:
1844
66
        return OFPERR_OFPBIC_BAD_EXPERIMENTER;
1845
127
    case  ((uint32_t) 3 << 16) | 6:
1846
127
        return OFPERR_OFPBIC_BAD_EXP_TYPE;
1847
2.50k
    case  ((uint32_t) 3 << 16) | 7:
1848
2.50k
        return OFPERR_OFPBIC_BAD_LEN;
1849
105
    case  ((uint32_t) 3 << 16) | 8:
1850
105
        return OFPERR_OFPBIC_EPERM;
1851
34
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2600 << 16) | 0:
1852
34
        return OFPERR_OFPBIC_DUP_INST;
1853
68
    case  ((uint32_t) 4 << 16) | 0:
1854
68
        return OFPERR_OFPBMC_BAD_TYPE;
1855
66
    case  ((uint32_t) 4 << 16) | 1:
1856
66
        return OFPERR_OFPBMC_BAD_LEN;
1857
127
    case  ((uint32_t) 4 << 16) | 2:
1858
127
        return OFPERR_OFPBMC_BAD_TAG;
1859
416
    case  ((uint32_t) 4 << 16) | 3:
1860
416
        return OFPERR_OFPBMC_BAD_DL_ADDR_MASK;
1861
197
    case  ((uint32_t) 4 << 16) | 4:
1862
197
        return OFPERR_OFPBMC_BAD_NW_ADDR_MASK;
1863
82
    case  ((uint32_t) 4 << 16) | 5:
1864
82
        return OFPERR_OFPBMC_BAD_WILDCARDS;
1865
72
    case  ((uint32_t) 4 << 16) | 6:
1866
72
        return OFPERR_OFPBMC_BAD_FIELD;
1867
267
    case  ((uint32_t) 4 << 16) | 7:
1868
267
        return OFPERR_OFPBMC_BAD_VALUE;
1869
86
    case  ((uint32_t) 4 << 16) | 8:
1870
86
        return OFPERR_OFPBMC_BAD_MASK;
1871
195
    case  ((uint32_t) 4 << 16) | 9:
1872
195
        return OFPERR_OFPBMC_BAD_PREREQ;
1873
78
    case  ((uint32_t) 4 << 16) | 10:
1874
78
        return OFPERR_OFPBMC_DUP_FIELD;
1875
102
    case  ((uint32_t) 4 << 16) | 11:
1876
102
        return OFPERR_OFPBMC_EPERM;
1877
3.16k
    case (0x2320ULL << 32) |  ((uint32_t) 43 << 16) | 0:
1878
3.16k
        return OFPERR_NXBMC_CT_DATAPATH_SUPPORT;
1879
539
    case  ((uint32_t) 5 << 16) | 0:
1880
539
        return OFPERR_OFPFMFC_UNKNOWN;
1881
71
    case  ((uint32_t) 5 << 16) | 1:
1882
71
        return OFPERR_OFPFMFC_TABLE_FULL;
1883
68
    case  ((uint32_t) 5 << 16) | 2:
1884
68
        return OFPERR_OFPFMFC_BAD_TABLE_ID;
1885
69
    case  ((uint32_t) 5 << 16) | 3:
1886
69
        return OFPERR_OFPFMFC_OVERLAP;
1887
34
    case  ((uint32_t) 5 << 16) | 4:
1888
34
        return OFPERR_OFPFMFC_EPERM;
1889
268
    case  ((uint32_t) 5 << 16) | 5:
1890
268
        return OFPERR_OFPFMFC_BAD_TIMEOUT;
1891
754
    case  ((uint32_t) 5 << 16) | 6:
1892
754
        return OFPERR_OFPFMFC_BAD_COMMAND;
1893
1.11k
    case  ((uint32_t) 5 << 16) | 7:
1894
1.11k
        return OFPERR_OFPFMFC_BAD_FLAGS;
1895
18
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2360 << 16) | 0:
1896
18
        return OFPERR_OFPFMFC_BAD_PRIORITY;
1897
102
    case (0x2320ULL << 32) |  ((uint32_t) 12 << 16) | 0:
1898
102
        return OFPERR_NXFMFC_HARDWARE;
1899
636
    case (0x2320ULL << 32) |  ((uint32_t) 13 << 16) | 0:
1900
636
        return OFPERR_NXFMFC_BAD_TABLE_ID;
1901
68
    case (0x2320ULL << 32) |  ((uint32_t) 37 << 16) | 0:
1902
68
        return OFPERR_NXFMFC_INVALID_TLV_FIELD;
1903
921
    case  ((uint32_t) 6 << 16) | 0:
1904
921
        return OFPERR_OFPGMFC_GROUP_EXISTS;
1905
802
    case  ((uint32_t) 6 << 16) | 1:
1906
802
        return OFPERR_OFPGMFC_INVALID_GROUP;
1907
542
    case  ((uint32_t) 6 << 16) | 2:
1908
542
        return OFPERR_OFPGMFC_WEIGHT_UNSUPPORTED;
1909
68
    case  ((uint32_t) 6 << 16) | 3:
1910
68
        return OFPERR_OFPGMFC_OUT_OF_GROUPS;
1911
600
    case  ((uint32_t) 6 << 16) | 4:
1912
600
        return OFPERR_OFPGMFC_OUT_OF_BUCKETS;
1913
421
    case  ((uint32_t) 6 << 16) | 5:
1914
421
        return OFPERR_OFPGMFC_CHAINING_UNSUPPORTED;
1915
244
    case  ((uint32_t) 6 << 16) | 6:
1916
244
        return OFPERR_OFPGMFC_WATCH_UNSUPPORTED;
1917
127
    case  ((uint32_t) 6 << 16) | 7:
1918
127
        return OFPERR_OFPGMFC_LOOP;
1919
1.76k
    case  ((uint32_t) 6 << 16) | 8:
1920
1.76k
        return OFPERR_OFPGMFC_UNKNOWN_GROUP;
1921
2.01k
    case  ((uint32_t) 6 << 16) | 9:
1922
2.01k
        return OFPERR_OFPGMFC_CHAINED_GROUP;
1923
67
    case  ((uint32_t) 6 << 16) | 10:
1924
67
        return OFPERR_OFPGMFC_BAD_TYPE;
1925
898
    case  ((uint32_t) 6 << 16) | 11:
1926
898
        return OFPERR_OFPGMFC_BAD_COMMAND;
1927
1.16k
    case  ((uint32_t) 6 << 16) | 12:
1928
1.16k
        return OFPERR_OFPGMFC_BAD_BUCKET;
1929
1.58k
    case  ((uint32_t) 6 << 16) | 13:
1930
1.58k
        return OFPERR_OFPGMFC_BAD_WATCH;
1931
1.20k
    case  ((uint32_t) 6 << 16) | 14:
1932
1.20k
        return OFPERR_OFPGMFC_EPERM;
1933
73
    case  ((uint32_t) 7 << 16) | 0:
1934
73
        return OFPERR_OFPPMFC_BAD_PORT;
1935
107
    case  ((uint32_t) 7 << 16) | 1:
1936
107
        return OFPERR_OFPPMFC_BAD_HW_ADDR;
1937
1.66k
    case  ((uint32_t) 7 << 16) | 2:
1938
1.66k
        return OFPERR_OFPPMFC_BAD_CONFIG;
1939
180
    case  ((uint32_t) 7 << 16) | 3:
1940
180
        return OFPERR_OFPPMFC_BAD_ADVERTISE;
1941
856
    case  ((uint32_t) 7 << 16) | 4:
1942
856
        return OFPERR_OFPPMFC_EPERM;
1943
68
    case  ((uint32_t) 8 << 16) | 0:
1944
68
        return OFPERR_OFPTMFC_BAD_TABLE;
1945
396
    case  ((uint32_t) 8 << 16) | 1:
1946
396
        return OFPERR_OFPTMFC_BAD_CONFIG;
1947
70
    case  ((uint32_t) 8 << 16) | 2:
1948
70
        return OFPERR_OFPTMFC_EPERM;
1949
2.58k
    case  ((uint32_t) 9 << 16) | 0:
1950
2.58k
        return OFPERR_OFPQOFC_BAD_PORT;
1951
34
    case  ((uint32_t) 9 << 16) | 1:
1952
34
        return OFPERR_OFPQOFC_BAD_QUEUE;
1953
133
    case  ((uint32_t) 9 << 16) | 2:
1954
133
        return OFPERR_OFPQOFC_EPERM;
1955
559
    case  ((uint32_t) 10 << 16) | 0:
1956
559
        return OFPERR_OFPSCFC_BAD_FLAGS;
1957
174
    case  ((uint32_t) 10 << 16) | 1:
1958
174
        return OFPERR_OFPSCFC_BAD_LEN;
1959
305
    case  ((uint32_t) 10 << 16) | 2:
1960
305
        return OFPERR_OFPSCFC_EPERM;
1961
67
    case  ((uint32_t) 11 << 16) | 0:
1962
67
        return OFPERR_OFPRRFC_STALE;
1963
272
    case  ((uint32_t) 11 << 16) | 1:
1964
272
        return OFPERR_OFPRRFC_UNSUP;
1965
216
    case  ((uint32_t) 11 << 16) | 2:
1966
216
        return OFPERR_OFPRRFC_BAD_ROLE;
1967
887
    case  ((uint32_t) 12 << 16) | 0:
1968
887
        return OFPERR_OFPMMFC_UNKNOWN;
1969
90
    case  ((uint32_t) 12 << 16) | 1:
1970
90
        return OFPERR_OFPMMFC_METER_EXISTS;
1971
654
    case  ((uint32_t) 12 << 16) | 2:
1972
654
        return OFPERR_OFPMMFC_INVALID_METER;
1973
249
    case  ((uint32_t) 12 << 16) | 3:
1974
249
        return OFPERR_OFPMMFC_UNKNOWN_METER;
1975
67
    case  ((uint32_t) 12 << 16) | 4:
1976
67
        return OFPERR_OFPMMFC_BAD_COMMAND;
1977
2.47k
    case  ((uint32_t) 12 << 16) | 5:
1978
2.47k
        return OFPERR_OFPMMFC_BAD_FLAGS;
1979
1.66k
    case  ((uint32_t) 12 << 16) | 6:
1980
1.66k
        return OFPERR_OFPMMFC_BAD_RATE;
1981
163
    case  ((uint32_t) 12 << 16) | 7:
1982
163
        return OFPERR_OFPMMFC_BAD_BURST;
1983
332
    case  ((uint32_t) 12 << 16) | 8:
1984
332
        return OFPERR_OFPMMFC_BAD_BAND;
1985
34
    case  ((uint32_t) 12 << 16) | 9:
1986
34
        return OFPERR_OFPMMFC_BAD_BAND_VALUE;
1987
262
    case  ((uint32_t) 12 << 16) | 10:
1988
262
        return OFPERR_OFPMMFC_OUT_OF_METERS;
1989
902
    case  ((uint32_t) 12 << 16) | 11:
1990
902
        return OFPERR_OFPMMFC_OUT_OF_BANDS;
1991
91
    case  ((uint32_t) 13 << 16) | 0:
1992
91
        return OFPERR_OFPTFFC_BAD_TABLE;
1993
230
    case  ((uint32_t) 13 << 16) | 1:
1994
230
        return OFPERR_OFPTFFC_BAD_METADATA;
1995
66
    case  ((uint32_t) 13 << 16) | 5:
1996
66
        return OFPERR_OFPTFFC_EPERM;
1997
34
    case (0x2320ULL << 32) |  ((uint32_t) 44 << 16) | 0:
1998
34
        return OFPERR_NXTFFC_DUP_TABLE;
1999
256
    case  ((uint32_t) 13 << 16) | 2:
2000
256
        return OFPERR_OFPBPC_BAD_TYPE;
2001
423
    case  ((uint32_t) 13 << 16) | 3:
2002
423
        return OFPERR_OFPBPC_BAD_LEN;
2003
77
    case  ((uint32_t) 13 << 16) | 4:
2004
77
        return OFPERR_OFPBPC_BAD_VALUE;
2005
36
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 4443 << 16) | 0:
2006
36
        return OFPERR_OFPBPC_TOO_MANY;
2007
196
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 4444 << 16) | 0:
2008
196
        return OFPERR_OFPBPC_DUP_TYPE;
2009
211
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 4445 << 16) | 0:
2010
211
        return OFPERR_OFPBPC_BAD_EXPERIMENTER;
2011
70
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 4446 << 16) | 0:
2012
70
        return OFPERR_OFPBPC_BAD_EXP_TYPE;
2013
62
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 4447 << 16) | 0:
2014
62
        return OFPERR_OFPBPC_BAD_EXP_VALUE;
2015
18
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 4448 << 16) | 0:
2016
18
        return OFPERR_OFPBPC_EPERM;
2017
10
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2370 << 16) | 0:
2018
10
        return OFPERR_OFPACFC_INVALID;
2019
66
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2371 << 16) | 0:
2020
66
        return OFPERR_OFPACFC_UNSUPPORTED;
2021
25
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2372 << 16) | 0:
2022
25
        return OFPERR_OFPACFC_EPERM;
2023
195
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2300 << 16) | 0:
2024
195
        return OFPERR_OFPBFC_UNKNOWN;
2025
18
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2301 << 16) | 0:
2026
18
        return OFPERR_OFPBFC_EPERM;
2027
196
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2302 << 16) | 0:
2028
196
        return OFPERR_OFPBFC_BAD_ID;
2029
26
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2303 << 16) | 0:
2030
26
        return OFPERR_OFPBFC_BUNDLE_EXIST;
2031
514
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2304 << 16) | 0:
2032
514
        return OFPERR_OFPBFC_BUNDLE_CLOSED;
2033
2.73k
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2305 << 16) | 0:
2034
2.73k
        return OFPERR_OFPBFC_OUT_OF_BUNDLES;
2035
3.59k
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2306 << 16) | 0:
2036
3.59k
        return OFPERR_OFPBFC_BAD_TYPE;
2037
66
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2307 << 16) | 0:
2038
66
        return OFPERR_OFPBFC_BAD_FLAGS;
2039
297
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2308 << 16) | 0:
2040
297
        return OFPERR_OFPBFC_MSG_BAD_LEN;
2041
35
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2309 << 16) | 0:
2042
35
        return OFPERR_OFPBFC_MSG_BAD_XID;
2043
37
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2310 << 16) | 0:
2044
37
        return OFPERR_OFPBFC_MSG_UNSUP;
2045
810
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2311 << 16) | 0:
2046
810
        return OFPERR_OFPBFC_MSG_CONFLICT;
2047
24
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2312 << 16) | 0:
2048
24
        return OFPERR_OFPBFC_MSG_TOO_MANY;
2049
66
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2313 << 16) | 0:
2050
66
        return OFPERR_OFPBFC_MSG_FAILED;
2051
66
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2314 << 16) | 0:
2052
66
        return OFPERR_OFPBFC_TIMEOUT;
2053
102
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 2315 << 16) | 0:
2054
102
        return OFPERR_OFPBFC_BUNDLE_IN_PROGRESS;
2055
472
    case (0x2320ULL << 32) |  ((uint32_t) 6 << 16) | 0:
2056
472
        return OFPERR_OFPMOFC_MONITOR_EXISTS;
2057
67
    case (0x2320ULL << 32) |  ((uint32_t) 8 << 16) | 0:
2058
67
        return OFPERR_OFPMOFC_UNKNOWN_MONITOR;
2059
353
    case (0x2320ULL << 32) |  ((uint32_t) 7 << 16) | 0:
2060
353
        return OFPERR_OFPMOFC_BAD_FLAGS;
2061
1.52k
    case (0x2320ULL << 32) |  ((uint32_t) 16 << 16) | 0:
2062
1.52k
        return OFPERR_NXTTMFC_BAD_COMMAND;
2063
67
    case (0x2320ULL << 32) |  ((uint32_t) 17 << 16) | 0:
2064
67
        return OFPERR_NXTTMFC_BAD_OPT_LEN;
2065
201
    case (0x2320ULL << 32) |  ((uint32_t) 18 << 16) | 0:
2066
201
        return OFPERR_NXTTMFC_BAD_FIELD_IDX;
2067
283
    case (0x2320ULL << 32) |  ((uint32_t) 19 << 16) | 0:
2068
283
        return OFPERR_NXTTMFC_TABLE_FULL;
2069
73
    case (0x2320ULL << 32) |  ((uint32_t) 20 << 16) | 0:
2070
73
        return OFPERR_NXTTMFC_ALREADY_MAPPED;
2071
69
    case (0x2320ULL << 32) |  ((uint32_t) 21 << 16) | 0:
2072
69
        return OFPERR_NXTTMFC_DUP_ENTRY;
2073
112
    case (0x2320ULL << 32) |  ((uint32_t) 38 << 16) | 0:
2074
112
        return OFPERR_NXTTMFC_INVALID_TLV_DEL;
2075
66
    case (0x2320ULL << 32) |  ((uint32_t) 34 << 16) | 0:
2076
66
        return OFPERR_NXR_NOT_SUPPORTED;
2077
34
    case (0x2320ULL << 32) |  ((uint32_t) 35 << 16) | 0:
2078
34
        return OFPERR_NXR_STALE;
2079
3.25k
    case (0x2320ULL << 32) |  ((uint32_t) 36 << 16) | 0:
2080
3.25k
        return OFPERR_NXST_NOT_CONFIGURED;
2081
115k
    }
2082
2083
28.8k
    return 0;
2084
115k
}
2085
2086
static const struct ofperr_domain ofperr_of13 = {
2087
    "OpenFlow 1.3",
2088
    4,
2089
    ofperr_of13_decode,
2090
    {
2091
        {      0x0,  0,   0 }, /* OFPHFC_INCOMPATIBLE */
2092
        {      0x0,  0,   1 }, /* OFPHFC_EPERM */
2093
        {      0x0,  1,   0 }, /* OFPBRC_BAD_VERSION */
2094
        {      0x0,  1,   1 }, /* OFPBRC_BAD_TYPE */
2095
        {      0x0,  1,   2 }, /* OFPBRC_BAD_STAT */
2096
        {      0x0,  1,   3 }, /* OFPBRC_BAD_VENDOR */
2097
        {      0x0,  1,   4 }, /* OFPBRC_BAD_SUBTYPE */
2098
        {      0x0,  1,   5 }, /* OFPBRC_EPERM */
2099
        {      0x0,  1,   6 }, /* OFPBRC_BAD_LEN */
2100
        {      0x0,  1,   7 }, /* OFPBRC_BUFFER_EMPTY */
2101
        {      0x0,  1,   8 }, /* OFPBRC_BUFFER_UNKNOWN */
2102
        {      0x0,  1,   9 }, /* OFPBRC_BAD_TABLE_ID */
2103
        {      0x0,  1,  10 }, /* OFPBRC_IS_SECONDARY */
2104
        {      0x0,  1,  11 }, /* OFPBRC_BAD_PORT */
2105
        {      0x0,  1,  12 }, /* OFPBRC_BAD_PACKET */
2106
        {      0x0,  1,  13 }, /* OFPBRC_MULTIPART_BUFFER_OVERFLOW */
2107
        { 0x4f4e4600, 2640,   0 }, /* OFPBRC_MULTIPART_REQUEST_TIMEOUT */
2108
        { 0x4f4e4600, 2641,   0 }, /* OFPBRC_MULTIPART_REPLY_TIMEOUT */
2109
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_BAD_SCHED */
2110
        {       -1, -1,  -1 }, /* OFPBRC_PIPELINE_FIELDS_ONLY */
2111
        {       -1, -1,  -1 }, /* OFPBRC_UNKNOWN */
2112
        {   0x2320,  2,   0 }, /* NXBRC_NXM_INVALID */
2113
        {   0x2320,  3,   0 }, /* NXBRC_NXM_BAD_TYPE */
2114
        {   0x2320,  4,   0 }, /* NXBRC_MUST_BE_ZERO */
2115
        {   0x2320,  5,   0 }, /* NXBRC_BAD_REASON */
2116
        {   0x2320,  9,   0 }, /* NXBRC_FM_BAD_EVENT */
2117
        {   0x2320, 10,   0 }, /* NXBRC_UNENCODABLE_ERROR */
2118
        {      0x0,  2,   0 }, /* OFPBAC_BAD_TYPE */
2119
        {      0x0,  2,   1 }, /* OFPBAC_BAD_LEN */
2120
        {      0x0,  2,   2 }, /* OFPBAC_BAD_VENDOR */
2121
        {      0x0,  2,   3 }, /* OFPBAC_BAD_VENDOR_TYPE */
2122
        {      0x0,  2,   4 }, /* OFPBAC_BAD_OUT_PORT */
2123
        {      0x0,  2,   5 }, /* OFPBAC_BAD_ARGUMENT */
2124
        {      0x0,  2,   6 }, /* OFPBAC_EPERM */
2125
        {      0x0,  2,   7 }, /* OFPBAC_TOO_MANY */
2126
        {      0x0,  2,   8 }, /* OFPBAC_BAD_QUEUE */
2127
        {      0x0,  2,   9 }, /* OFPBAC_BAD_OUT_GROUP */
2128
        {      0x0,  2,  10 }, /* OFPBAC_MATCH_INCONSISTENT */
2129
        {      0x0,  2,  11 }, /* OFPBAC_UNSUPPORTED_ORDER */
2130
        {      0x0,  2,  12 }, /* OFPBAC_BAD_TAG */
2131
        {      0x0,  2,  13 }, /* OFPBAC_BAD_SET_TYPE */
2132
        {      0x0,  2,  14 }, /* OFPBAC_BAD_SET_LEN */
2133
        {      0x0,  2,  15 }, /* OFPBAC_BAD_SET_ARGUMENT */
2134
        { 0x4f4e4600, 4250,   0 }, /* OFPBAC_BAD_SET_MASK */
2135
        {       -1, -1,  -1 }, /* OFPBAC_BAD_METER */
2136
        {   0x2320, 11,   0 }, /* NXBAC_MUST_BE_ZERO */
2137
        {   0x2320, 15,   0 }, /* NXBAC_BAD_CONJUNCTION */
2138
        {   0x2320, 39,   0 }, /* NXBAC_BAD_HEADER_TYPE */
2139
        {   0x2320, 40,   0 }, /* NXBAC_UNKNOWN_ED_PROP */
2140
        {   0x2320, 41,   0 }, /* NXBAC_BAD_ED_PROP */
2141
        {   0x2320, 42,   0 }, /* NXBAC_CT_DATAPATH_SUPPORT */
2142
        {      0x0,  3,   0 }, /* OFPBIC_UNKNOWN_INST */
2143
        {      0x0,  3,   1 }, /* OFPBIC_UNSUP_INST */
2144
        {      0x0,  3,   2 }, /* OFPBIC_BAD_TABLE_ID */
2145
        {      0x0,  3,   3 }, /* OFPBIC_UNSUP_METADATA */
2146
        {      0x0,  3,   4 }, /* OFPBIC_UNSUP_METADATA_MASK */
2147
        {      0x0,  3,   5 }, /* OFPBIC_BAD_EXPERIMENTER */
2148
        {      0x0,  3,   6 }, /* OFPBIC_BAD_EXP_TYPE */
2149
        {      0x0,  3,   7 }, /* OFPBIC_BAD_LEN */
2150
        {      0x0,  3,   8 }, /* OFPBIC_EPERM */
2151
        { 0x4f4e4600, 2600,   0 }, /* OFPBIC_DUP_INST */
2152
        {      0x0,  4,   0 }, /* OFPBMC_BAD_TYPE */
2153
        {      0x0,  4,   1 }, /* OFPBMC_BAD_LEN */
2154
        {      0x0,  4,   2 }, /* OFPBMC_BAD_TAG */
2155
        {      0x0,  4,   3 }, /* OFPBMC_BAD_DL_ADDR_MASK */
2156
        {      0x0,  4,   4 }, /* OFPBMC_BAD_NW_ADDR_MASK */
2157
        {      0x0,  4,   5 }, /* OFPBMC_BAD_WILDCARDS */
2158
        {      0x0,  4,   6 }, /* OFPBMC_BAD_FIELD */
2159
        {      0x0,  4,   7 }, /* OFPBMC_BAD_VALUE */
2160
        {      0x0,  4,   8 }, /* OFPBMC_BAD_MASK */
2161
        {      0x0,  4,   9 }, /* OFPBMC_BAD_PREREQ */
2162
        {      0x0,  4,  10 }, /* OFPBMC_DUP_FIELD */
2163
        {      0x0,  4,  11 }, /* OFPBMC_EPERM */
2164
        {   0x2320, 43,   0 }, /* NXBMC_CT_DATAPATH_SUPPORT */
2165
        {      0x0,  5,   0 }, /* OFPFMFC_UNKNOWN */
2166
        {      0x0,  5,   1 }, /* OFPFMFC_TABLE_FULL */
2167
        {      0x0,  5,   2 }, /* OFPFMFC_BAD_TABLE_ID */
2168
        {      0x0,  5,   3 }, /* OFPFMFC_OVERLAP */
2169
        {      0x0,  5,   4 }, /* OFPFMFC_EPERM */
2170
        {      0x0,  5,   5 }, /* OFPFMFC_BAD_TIMEOUT */
2171
        {       -1, -1,  -1 }, /* OFPFMFC_BAD_EMERG_TIMEOUT */
2172
        {      0x0,  5,   6 }, /* OFPFMFC_BAD_COMMAND */
2173
        {      0x0,  5,   7 }, /* OFPFMFC_BAD_FLAGS */
2174
        {       -1, -1,  -1 }, /* OFPFMFC_CANT_SYNC */
2175
        { 0x4f4e4600, 2360,   0 }, /* OFPFMFC_BAD_PRIORITY */
2176
        {       -1, -1,  -1 }, /* OFPFMFC_IS_SYNC */
2177
        {       -1, -1,  -1 }, /* OFPFMFC_UNSUPPORTED */
2178
        {   0x2320, 12,   0 }, /* NXFMFC_HARDWARE */
2179
        {   0x2320, 13,   0 }, /* NXFMFC_BAD_TABLE_ID */
2180
        {   0x2320, 37,   0 }, /* NXFMFC_INVALID_TLV_FIELD */
2181
        {      0x0,  6,   0 }, /* OFPGMFC_GROUP_EXISTS */
2182
        {      0x0,  6,   1 }, /* OFPGMFC_INVALID_GROUP */
2183
        {      0x0,  6,   2 }, /* OFPGMFC_WEIGHT_UNSUPPORTED */
2184
        {      0x0,  6,   3 }, /* OFPGMFC_OUT_OF_GROUPS */
2185
        {      0x0,  6,   4 }, /* OFPGMFC_OUT_OF_BUCKETS */
2186
        {      0x0,  6,   5 }, /* OFPGMFC_CHAINING_UNSUPPORTED */
2187
        {      0x0,  6,   6 }, /* OFPGMFC_WATCH_UNSUPPORTED */
2188
        {      0x0,  6,   7 }, /* OFPGMFC_LOOP */
2189
        {      0x0,  6,   8 }, /* OFPGMFC_UNKNOWN_GROUP */
2190
        {      0x0,  6,   9 }, /* OFPGMFC_CHAINED_GROUP */
2191
        {      0x0,  6,  10 }, /* OFPGMFC_BAD_TYPE */
2192
        {      0x0,  6,  11 }, /* OFPGMFC_BAD_COMMAND */
2193
        {      0x0,  6,  12 }, /* OFPGMFC_BAD_BUCKET */
2194
        {      0x0,  6,  13 }, /* OFPGMFC_BAD_WATCH */
2195
        {      0x0,  6,  14 }, /* OFPGMFC_EPERM */
2196
        {       -1, -1,  -1 }, /* OFPGMFC_UNKNOWN_BUCKET */
2197
        {       -1, -1,  -1 }, /* OFPGMFC_BUCKET_EXISTS */
2198
        {      0x0,  7,   0 }, /* OFPPMFC_BAD_PORT */
2199
        {      0x0,  7,   1 }, /* OFPPMFC_BAD_HW_ADDR */
2200
        {      0x0,  7,   2 }, /* OFPPMFC_BAD_CONFIG */
2201
        {      0x0,  7,   3 }, /* OFPPMFC_BAD_ADVERTISE */
2202
        {      0x0,  7,   4 }, /* OFPPMFC_EPERM */
2203
        {      0x0,  8,   0 }, /* OFPTMFC_BAD_TABLE */
2204
        {      0x0,  8,   1 }, /* OFPTMFC_BAD_CONFIG */
2205
        {      0x0,  8,   2 }, /* OFPTMFC_EPERM */
2206
        {      0x0,  9,   0 }, /* OFPQOFC_BAD_PORT */
2207
        {      0x0,  9,   1 }, /* OFPQOFC_BAD_QUEUE */
2208
        {      0x0,  9,   2 }, /* OFPQOFC_EPERM */
2209
        {       -1, -1,  -1 }, /* NXQOFC_QUEUE_ERROR */
2210
        {      0x0, 10,   0 }, /* OFPSCFC_BAD_FLAGS */
2211
        {      0x0, 10,   1 }, /* OFPSCFC_BAD_LEN */
2212
        {      0x0, 10,   2 }, /* OFPSCFC_EPERM */
2213
        {      0x0, 11,   0 }, /* OFPRRFC_STALE */
2214
        {      0x0, 11,   1 }, /* OFPRRFC_UNSUP */
2215
        {      0x0, 11,   2 }, /* OFPRRFC_BAD_ROLE */
2216
        {       -1, -1,  -1 }, /* OFPRRFC_ID_UNSUP */
2217
        {       -1, -1,  -1 }, /* OFPRRFC_ID_IN_USE */
2218
        {      0x0, 12,   0 }, /* OFPMMFC_UNKNOWN */
2219
        {      0x0, 12,   1 }, /* OFPMMFC_METER_EXISTS */
2220
        {      0x0, 12,   2 }, /* OFPMMFC_INVALID_METER */
2221
        {      0x0, 12,   3 }, /* OFPMMFC_UNKNOWN_METER */
2222
        {      0x0, 12,   4 }, /* OFPMMFC_BAD_COMMAND */
2223
        {      0x0, 12,   5 }, /* OFPMMFC_BAD_FLAGS */
2224
        {      0x0, 12,   6 }, /* OFPMMFC_BAD_RATE */
2225
        {      0x0, 12,   7 }, /* OFPMMFC_BAD_BURST */
2226
        {      0x0, 12,   8 }, /* OFPMMFC_BAD_BAND */
2227
        {      0x0, 12,   9 }, /* OFPMMFC_BAD_BAND_VALUE */
2228
        {      0x0, 12,  10 }, /* OFPMMFC_OUT_OF_METERS */
2229
        {      0x0, 12,  11 }, /* OFPMMFC_OUT_OF_BANDS */
2230
        {      0x0, 13,   0 }, /* OFPTFFC_BAD_TABLE */
2231
        {      0x0, 13,   1 }, /* OFPTFFC_BAD_METADATA */
2232
        {      0x0, 13,   5 }, /* OFPTFFC_EPERM */
2233
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_CAPA */
2234
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_MAX_ENT */
2235
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_FEATURES */
2236
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_COMMAND */
2237
        {       -1, -1,  -1 }, /* OFPTFFC_TOO_MANY */
2238
        {   0x2320, 44,   0 }, /* NXTFFC_DUP_TABLE */
2239
        {      0x0, 13,   2 }, /* OFPBPC_BAD_TYPE */
2240
        {      0x0, 13,   3 }, /* OFPBPC_BAD_LEN */
2241
        {      0x0, 13,   4 }, /* OFPBPC_BAD_VALUE */
2242
        { 0x4f4e4600, 4443,   0 }, /* OFPBPC_TOO_MANY */
2243
        { 0x4f4e4600, 4444,   0 }, /* OFPBPC_DUP_TYPE */
2244
        { 0x4f4e4600, 4445,   0 }, /* OFPBPC_BAD_EXPERIMENTER */
2245
        { 0x4f4e4600, 4446,   0 }, /* OFPBPC_BAD_EXP_TYPE */
2246
        { 0x4f4e4600, 4447,   0 }, /* OFPBPC_BAD_EXP_VALUE */
2247
        { 0x4f4e4600, 4448,   0 }, /* OFPBPC_EPERM */
2248
        { 0x4f4e4600, 2370,   0 }, /* OFPACFC_INVALID */
2249
        { 0x4f4e4600, 2371,   0 }, /* OFPACFC_UNSUPPORTED */
2250
        { 0x4f4e4600, 2372,   0 }, /* OFPACFC_EPERM */
2251
        { 0x4f4e4600, 2300,   0 }, /* OFPBFC_UNKNOWN */
2252
        { 0x4f4e4600, 2301,   0 }, /* OFPBFC_EPERM */
2253
        { 0x4f4e4600, 2302,   0 }, /* OFPBFC_BAD_ID */
2254
        { 0x4f4e4600, 2303,   0 }, /* OFPBFC_BUNDLE_EXIST */
2255
        { 0x4f4e4600, 2304,   0 }, /* OFPBFC_BUNDLE_CLOSED */
2256
        { 0x4f4e4600, 2305,   0 }, /* OFPBFC_OUT_OF_BUNDLES */
2257
        { 0x4f4e4600, 2306,   0 }, /* OFPBFC_BAD_TYPE */
2258
        { 0x4f4e4600, 2307,   0 }, /* OFPBFC_BAD_FLAGS */
2259
        { 0x4f4e4600, 2308,   0 }, /* OFPBFC_MSG_BAD_LEN */
2260
        { 0x4f4e4600, 2309,   0 }, /* OFPBFC_MSG_BAD_XID */
2261
        { 0x4f4e4600, 2310,   0 }, /* OFPBFC_MSG_UNSUP */
2262
        { 0x4f4e4600, 2311,   0 }, /* OFPBFC_MSG_CONFLICT */
2263
        { 0x4f4e4600, 2312,   0 }, /* OFPBFC_MSG_TOO_MANY */
2264
        { 0x4f4e4600, 2313,   0 }, /* OFPBFC_MSG_FAILED */
2265
        { 0x4f4e4600, 2314,   0 }, /* OFPBFC_TIMEOUT */
2266
        { 0x4f4e4600, 2315,   0 }, /* OFPBFC_BUNDLE_IN_PROGRESS */
2267
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_NOT_SUPPORTED */
2268
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_FUTURE */
2269
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_PAST */
2270
        {       -1, -1,  -1 }, /* OFPBFC_BAD_VERSION */
2271
        {       -1, -1,  -1 }, /* OFPMOFC_UNKNOWN */
2272
        {   0x2320,  6,   0 }, /* OFPMOFC_MONITOR_EXISTS */
2273
        {       -1, -1,  -1 }, /* OFPMOFC_INVALID_MONITOR */
2274
        {   0x2320,  8,   0 }, /* OFPMOFC_UNKNOWN_MONITOR */
2275
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_COMMAND */
2276
        {   0x2320,  7,   0 }, /* OFPMOFC_BAD_FLAGS */
2277
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_TABLE_ID */
2278
        {       -1, -1,  -1 }, /* OFPMOFC_BAD_OUT */
2279
        {   0x2320, 16,   0 }, /* NXTTMFC_BAD_COMMAND */
2280
        {   0x2320, 17,   0 }, /* NXTTMFC_BAD_OPT_LEN */
2281
        {   0x2320, 18,   0 }, /* NXTTMFC_BAD_FIELD_IDX */
2282
        {   0x2320, 19,   0 }, /* NXTTMFC_TABLE_FULL */
2283
        {   0x2320, 20,   0 }, /* NXTTMFC_ALREADY_MAPPED */
2284
        {   0x2320, 21,   0 }, /* NXTTMFC_DUP_ENTRY */
2285
        {   0x2320, 38,   0 }, /* NXTTMFC_INVALID_TLV_DEL */
2286
        {   0x2320, 34,   0 }, /* NXR_NOT_SUPPORTED */
2287
        {   0x2320, 35,   0 }, /* NXR_STALE */
2288
        {   0x2320, 36,   0 }, /* NXST_NOT_CONFIGURED */
2289
    },
2290
};
2291
2292
static enum ofperr
2293
ofperr_of14_decode(uint32_t vendor, uint16_t type, uint16_t code)
2294
144k
{
2295
144k
    switch (((uint64_t) vendor << 32) | ((uint32_t) type << 16) | code) {
2296
3.10k
    case  ((uint32_t) 0 << 16) | 0:
2297
3.10k
        return OFPERR_OFPHFC_INCOMPATIBLE;
2298
155
    case  ((uint32_t) 0 << 16) | 1:
2299
155
        return OFPERR_OFPHFC_EPERM;
2300
327
    case  ((uint32_t) 1 << 16) | 0:
2301
327
        return OFPERR_OFPBRC_BAD_VERSION;
2302
261
    case  ((uint32_t) 1 << 16) | 1:
2303
261
        return OFPERR_OFPBRC_BAD_TYPE;
2304
2.27k
    case  ((uint32_t) 1 << 16) | 2:
2305
2.27k
        return OFPERR_OFPBRC_BAD_STAT;
2306
53
    case  ((uint32_t) 1 << 16) | 3:
2307
53
        return OFPERR_OFPBRC_BAD_VENDOR;
2308
715
    case  ((uint32_t) 1 << 16) | 4:
2309
715
        return OFPERR_OFPBRC_BAD_SUBTYPE;
2310
90
    case  ((uint32_t) 1 << 16) | 5:
2311
90
        return OFPERR_OFPBRC_EPERM;
2312
112
    case  ((uint32_t) 1 << 16) | 6:
2313
112
        return OFPERR_OFPBRC_BAD_LEN;
2314
67
    case  ((uint32_t) 1 << 16) | 7:
2315
67
        return OFPERR_OFPBRC_BUFFER_EMPTY;
2316
2.04k
    case  ((uint32_t) 1 << 16) | 8:
2317
2.04k
        return OFPERR_OFPBRC_BUFFER_UNKNOWN;
2318
198
    case  ((uint32_t) 1 << 16) | 9:
2319
198
        return OFPERR_OFPBRC_BAD_TABLE_ID;
2320
1.83k
    case  ((uint32_t) 1 << 16) | 10:
2321
1.83k
        return OFPERR_OFPBRC_IS_SECONDARY;
2322
206
    case  ((uint32_t) 1 << 16) | 11:
2323
206
        return OFPERR_OFPBRC_BAD_PORT;
2324
948
    case  ((uint32_t) 1 << 16) | 12:
2325
948
        return OFPERR_OFPBRC_BAD_PACKET;
2326
68
    case  ((uint32_t) 1 << 16) | 13:
2327
68
        return OFPERR_OFPBRC_MULTIPART_BUFFER_OVERFLOW;
2328
66
    case  ((uint32_t) 1 << 16) | 14:
2329
66
        return OFPERR_OFPBRC_MULTIPART_REQUEST_TIMEOUT;
2330
67
    case  ((uint32_t) 1 << 16) | 15:
2331
67
        return OFPERR_OFPBRC_MULTIPART_REPLY_TIMEOUT;
2332
94
    case (0x2320ULL << 32) |  ((uint32_t) 2 << 16) | 0:
2333
94
        return OFPERR_NXBRC_NXM_INVALID;
2334
87
    case (0x2320ULL << 32) |  ((uint32_t) 3 << 16) | 0:
2335
87
        return OFPERR_NXBRC_NXM_BAD_TYPE;
2336
1.50k
    case (0x2320ULL << 32) |  ((uint32_t) 4 << 16) | 0:
2337
1.50k
        return OFPERR_NXBRC_MUST_BE_ZERO;
2338
196
    case (0x2320ULL << 32) |  ((uint32_t) 5 << 16) | 0:
2339
196
        return OFPERR_NXBRC_BAD_REASON;
2340
69
    case (0x2320ULL << 32) |  ((uint32_t) 9 << 16) | 0:
2341
69
        return OFPERR_NXBRC_FM_BAD_EVENT;
2342
66
    case (0x2320ULL << 32) |  ((uint32_t) 10 << 16) | 0:
2343
66
        return OFPERR_NXBRC_UNENCODABLE_ERROR;
2344
512
    case  ((uint32_t) 2 << 16) | 0:
2345
512
        return OFPERR_OFPBAC_BAD_TYPE;
2346
670
    case  ((uint32_t) 2 << 16) | 1:
2347
670
        return OFPERR_OFPBAC_BAD_LEN;
2348
645
    case  ((uint32_t) 2 << 16) | 2:
2349
645
        return OFPERR_OFPBAC_BAD_VENDOR;
2350
121
    case  ((uint32_t) 2 << 16) | 3:
2351
121
        return OFPERR_OFPBAC_BAD_VENDOR_TYPE;
2352
2.07k
    case  ((uint32_t) 2 << 16) | 4:
2353
2.07k
        return OFPERR_OFPBAC_BAD_OUT_PORT;
2354
227
    case  ((uint32_t) 2 << 16) | 5:
2355
227
        return OFPERR_OFPBAC_BAD_ARGUMENT;
2356
633
    case  ((uint32_t) 2 << 16) | 6:
2357
633
        return OFPERR_OFPBAC_EPERM;
2358
204
    case  ((uint32_t) 2 << 16) | 7:
2359
204
        return OFPERR_OFPBAC_TOO_MANY;
2360
574
    case  ((uint32_t) 2 << 16) | 8:
2361
574
        return OFPERR_OFPBAC_BAD_QUEUE;
2362
3.06k
    case  ((uint32_t) 2 << 16) | 9:
2363
3.06k
        return OFPERR_OFPBAC_BAD_OUT_GROUP;
2364
984
    case  ((uint32_t) 2 << 16) | 10:
2365
984
        return OFPERR_OFPBAC_MATCH_INCONSISTENT;
2366
1.23k
    case  ((uint32_t) 2 << 16) | 11:
2367
1.23k
        return OFPERR_OFPBAC_UNSUPPORTED_ORDER;
2368
67
    case  ((uint32_t) 2 << 16) | 12:
2369
67
        return OFPERR_OFPBAC_BAD_TAG;
2370
68
    case  ((uint32_t) 2 << 16) | 13:
2371
68
        return OFPERR_OFPBAC_BAD_SET_TYPE;
2372
750
    case  ((uint32_t) 2 << 16) | 14:
2373
750
        return OFPERR_OFPBAC_BAD_SET_LEN;
2374
216
    case  ((uint32_t) 2 << 16) | 15:
2375
216
        return OFPERR_OFPBAC_BAD_SET_ARGUMENT;
2376
128
    case (0x4f4e4600ULL << 32) |  ((uint32_t) 4250 << 16) | 0:
2377
128
        return OFPERR_OFPBAC_BAD_SET_MASK;
2378
94
    case (0x2320ULL << 32) |  ((uint32_t) 11 << 16) | 0:
2379
94
        return OFPERR_NXBAC_MUST_BE_ZERO;
2380
34
    case (0x2320ULL << 32) |  ((uint32_t) 15 << 16) | 0:
2381
34
        return OFPERR_NXBAC_BAD_CONJUNCTION;
2382
14
    case (0x2320ULL << 32) |  ((uint32_t) 39 << 16) | 0:
2383
14
        return OFPERR_NXBAC_BAD_HEADER_TYPE;
2384
67
    case (0x2320ULL << 32) |  ((uint32_t) 40 << 16) | 0:
2385
67
        return OFPERR_NXBAC_UNKNOWN_ED_PROP;
2386
253
    case (0x2320ULL << 32) |  ((uint32_t) 41 << 16) | 0:
2387
253
        return OFPERR_NXBAC_BAD_ED_PROP;
2388
270
    case (0x2320ULL << 32) |  ((uint32_t) 42 << 16) | 0:
2389
270
        return OFPERR_NXBAC_CT_DATAPATH_SUPPORT;
2390
72
    case  ((uint32_t) 3 << 16) | 0:
2391
72
        return OFPERR_OFPBIC_UNKNOWN_INST;
2392
151
    case  ((uint32_t) 3 << 16) | 1:
2393
151
        return OFPERR_OFPBIC_UNSUP_INST;
2394
2.09k
    case  ((uint32_t) 3 << 16) | 2:
2395
2.09k
        return OFPERR_OFPBIC_BAD_TABLE_ID;
2396
183
    case  ((uint32_t) 3 << 16) | 3:
2397
183
        return OFPERR_OFPBIC_UNSUP_METADATA;
2398
111
    case  ((uint32_t) 3 << 16) | 4:
2399
111
        return OFPERR_OFPBIC_UNSUP_METADATA_MASK;
2400
824
    case  ((uint32_t) 3 << 16) | 5:
2401
824
        return OFPERR_OFPBIC_BAD_EXPERIMENTER;
2402
485
    case  ((uint32_t) 3 << 16) | 6:
2403
485
        return OFPERR_OFPBIC_BAD_EXP_TYPE;
2404
199
    case  ((uint32_t) 3 << 16) | 7:
2405
199
        return OFPERR_OFPBIC_BAD_LEN;
2406
3.76k
    case  ((uint32_t) 3 << 16) | 8:
2407
3.76k
        return OFPERR_OFPBIC_EPERM;
2408
138
    case  ((uint32_t) 3 << 16) | 9:
2409
138
        return OFPERR_OFPBIC_DUP_INST;
2410
474
    case  ((uint32_t) 4 << 16) | 0:
2411
474
        return OFPERR_OFPBMC_BAD_TYPE;
2412
539
    case  ((uint32_t) 4 << 16) | 1:
2413
539
        return OFPERR_OFPBMC_BAD_LEN;
2414
69
    case  ((uint32_t) 4 << 16) | 2:
2415
69
        return OFPERR_OFPBMC_BAD_TAG;
2416
66
    case  ((uint32_t) 4 << 16) | 3:
2417
66
        return OFPERR_OFPBMC_BAD_DL_ADDR_MASK;
2418
229
    case  ((uint32_t) 4 << 16) | 4:
2419
229
        return OFPERR_OFPBMC_BAD_NW_ADDR_MASK;
2420
1.48k
    case  ((uint32_t) 4 << 16) | 5:
2421
1.48k
        return OFPERR_OFPBMC_BAD_WILDCARDS;
2422
449
    case  ((uint32_t) 4 << 16) | 6:
2423
449
        return OFPERR_OFPBMC_BAD_FIELD;
2424
546
    case  ((uint32_t) 4 << 16) | 7:
2425
546
        return OFPERR_OFPBMC_BAD_VALUE;
2426
520
    case  ((uint32_t) 4 << 16) | 8:
2427
520
        return OFPERR_OFPBMC_BAD_MASK;
2428
66
    case  ((uint32_t) 4 << 16) | 9:
2429
66
        return OFPERR_OFPBMC_BAD_PREREQ;
2430
1.20k
    case  ((uint32_t) 4 << 16) | 10:
2431
1.20k
        return OFPERR_OFPBMC_DUP_FIELD;
2432
2.24k
    case  ((uint32_t) 4 << 16) | 11:
2433
2.24k
        return OFPERR_OFPBMC_EPERM;
2434
42
    case (0x2320ULL << 32) |  ((uint32_t) 43 << 16) | 0:
2435
42
        return OFPERR_NXBMC_CT_DATAPATH_SUPPORT;
2436
183
    case  ((uint32_t) 5 << 16) | 0:
2437
183
        return OFPERR_OFPFMFC_UNKNOWN;
2438
408
    case  ((uint32_t) 5 << 16) | 1:
2439
408
        return OFPERR_OFPFMFC_TABLE_FULL;
2440
298
    case  ((uint32_t) 5 << 16) | 2:
2441
298
        return OFPERR_OFPFMFC_BAD_TABLE_ID;
2442
76
    case  ((uint32_t) 5 << 16) | 3:
2443
76
        return OFPERR_OFPFMFC_OVERLAP;
2444
386
    case  ((uint32_t) 5 << 16) | 4:
2445
386
        return OFPERR_OFPFMFC_EPERM;
2446
873
    case  ((uint32_t) 5 << 16) | 5:
2447
873
        return OFPERR_OFPFMFC_BAD_TIMEOUT;
2448
238
    case  ((uint32_t) 5 << 16) | 6:
2449
238
        return OFPERR_OFPFMFC_BAD_COMMAND;
2450
256
    case  ((uint32_t) 5 << 16) | 7:
2451
256
        return OFPERR_OFPFMFC_BAD_FLAGS;
2452
72
    case  ((uint32_t) 5 << 16) | 8:
2453
72
        return OFPERR_OFPFMFC_CANT_SYNC;
2454
683
    case  ((uint32_t) 5 << 16) | 9:
2455
683
        return OFPERR_OFPFMFC_BAD_PRIORITY;
2456
34
    case  ((uint32_t) 5 << 16) | 10:
2457
34
        return OFPERR_OFPFMFC_IS_SYNC;
2458
67
    case (0x2320ULL << 32) |  ((uint32_t) 12 << 16) | 0:
2459
67
        return OFPERR_NXFMFC_HARDWARE;
2460
820
    case (0x2320ULL << 32) |  ((uint32_t) 13 << 16) | 0:
2461
820
        return OFPERR_NXFMFC_BAD_TABLE_ID;
2462
10
    case (0x2320ULL << 32) |  ((uint32_t) 37 << 16) | 0:
2463
10
        return OFPERR_NXFMFC_INVALID_TLV_FIELD;
2464
740
    case  ((uint32_t) 6 << 16) | 0:
2465
740
        return OFPERR_OFPGMFC_GROUP_EXISTS;
2466
9.10k
    case  ((uint32_t) 6 << 16) | 1:
2467
9.10k
        return OFPERR_OFPGMFC_INVALID_GROUP;
2468
840
    case  ((uint32_t) 6 << 16) | 2:
2469
840
        return OFPERR_OFPGMFC_WEIGHT_UNSUPPORTED;
2470
73
    case  ((uint32_t) 6 << 16) | 3:
2471
73
        return OFPERR_OFPGMFC_OUT_OF_GROUPS;
2472
2.75k
    case  ((uint32_t) 6 << 16) | 4:
2473
2.75k
        return OFPERR_OFPGMFC_OUT_OF_BUCKETS;
2474
211
    case  ((uint32_t) 6 << 16) | 5:
2475
211
        return OFPERR_OFPGMFC_CHAINING_UNSUPPORTED;
2476
71
    case  ((uint32_t) 6 << 16) | 6:
2477
71
        return OFPERR_OFPGMFC_WATCH_UNSUPPORTED;
2478
3.92k
    case  ((uint32_t) 6 << 16) | 7:
2479
3.92k
        return OFPERR_OFPGMFC_LOOP;
2480
815
    case  ((uint32_t) 6 << 16) | 8:
2481
815
        return OFPERR_OFPGMFC_UNKNOWN_GROUP;
2482
1.55k
    case  ((uint32_t) 6 << 16) | 9:
2483
1.55k
        return OFPERR_OFPGMFC_CHAINED_GROUP;
2484
106
    case  ((uint32_t) 6 << 16) | 10:
2485
106
        return OFPERR_OFPGMFC_BAD_TYPE;
2486
344
    case  ((uint32_t) 6 << 16) | 11:
2487
344
        return OFPERR_OFPGMFC_BAD_COMMAND;
2488
201
    case  ((uint32_t) 6 << 16) | 12:
2489
201
        return OFPERR_OFPGMFC_BAD_BUCKET;
2490
871
    case  ((uint32_t) 6 << 16) | 13:
2491
871
        return OFPERR_OFPGMFC_BAD_WATCH;
2492
369
    case  ((uint32_t) 6 << 16) | 14:
2493
369
        return OFPERR_OFPGMFC_EPERM;
2494
156
    case  ((uint32_t) 7 << 16) | 0:
2495
156
        return OFPERR_OFPPMFC_BAD_PORT;
2496
148
    case  ((uint32_t) 7 << 16) | 1:
2497
148
        return OFPERR_OFPPMFC_BAD_HW_ADDR;
2498
522
    case  ((uint32_t) 7 << 16) | 2:
2499
522
        return OFPERR_OFPPMFC_BAD_CONFIG;
2500
67
    case  ((uint32_t) 7 << 16) | 3:
2501
67
        return OFPERR_OFPPMFC_BAD_ADVERTISE;
2502
249
    case  ((uint32_t) 7 << 16) | 4:
2503
249
        return OFPERR_OFPPMFC_EPERM;
2504
138
    case  ((uint32_t) 8 << 16) | 0:
2505
138
        return OFPERR_OFPTMFC_BAD_TABLE;
2506
1.58k
    case  ((uint32_t) 8 << 16) | 1:
2507
1.58k
        return OFPERR_OFPTMFC_BAD_CONFIG;
2508
172
    case  ((uint32_t) 8 << 16) | 2:
2509
172
        return OFPERR_OFPTMFC_EPERM;
2510
90
    case  ((uint32_t) 9 << 16) | 0:
2511
90
        return OFPERR_OFPQOFC_BAD_PORT;
2512
75
    case  ((uint32_t) 9 << 16) | 1:
2513
75
        return OFPERR_OFPQOFC_BAD_QUEUE;
2514
323
    case  ((uint32_t) 9 << 16) | 2:
2515
323
        return OFPERR_OFPQOFC_EPERM;
2516
197
    case (0x2320ULL << 32) |  ((uint32_t) 23 << 16) | 0:
2517
197
        return OFPERR_NXQOFC_QUEUE_ERROR;
2518
66
    case  ((uint32_t) 10 << 16) | 0:
2519
66
        return OFPERR_OFPSCFC_BAD_FLAGS;
2520
193
    case  ((uint32_t) 10 << 16) | 1:
2521
193
        return OFPERR_OFPSCFC_BAD_LEN;
2522
1.07k
    case  ((uint32_t) 10 << 16) | 2:
2523
1.07k
        return OFPERR_OFPSCFC_EPERM;
2524
68
    case  ((uint32_t) 11 << 16) | 0:
2525
68
        return OFPERR_OFPRRFC_STALE;
2526
45
    case  ((uint32_t) 11 << 16) | 1:
2527
45
        return OFPERR_OFPRRFC_UNSUP;
2528
639
    case  ((uint32_t) 11 << 16) | 2:
2529
639
        return OFPERR_OFPRRFC_BAD_ROLE;
2530
439
    case  ((uint32_t) 12 << 16) | 0:
2531
439
        return OFPERR_OFPMMFC_UNKNOWN;
2532
109
    case  ((uint32_t) 12 << 16) | 1:
2533
109
        return OFPERR_OFPMMFC_METER_EXISTS;
2534
71
    case  ((uint32_t) 12 << 16) | 2:
2535
71
        return OFPERR_OFPMMFC_INVALID_METER;
2536
66
    case  ((uint32_t) 12 << 16) | 3:
2537
66
        return OFPERR_OFPMMFC_UNKNOWN_METER;
2538
67
    case  ((uint32_t) 12 << 16) | 4:
2539
67
        return OFPERR_OFPMMFC_BAD_COMMAND;
2540
46
    case  ((uint32_t) 12 << 16) | 5:
2541
46
        return OFPERR_OFPMMFC_BAD_FLAGS;
2542
109
    case  ((uint32_t) 12 << 16) | 6:
2543
109
        return OFPERR_OFPMMFC_BAD_RATE;
2544
725
    case  ((uint32_t) 12 << 16) | 7:
2545
725
        return OFPERR_OFPMMFC_BAD_BURST;
2546
18
    case  ((uint32_t) 12 << 16) | 8:
2547
18
        return OFPERR_OFPMMFC_BAD_BAND;
2548
306
    case  ((uint32_t) 12 << 16) | 9:
2549
306
        return OFPERR_OFPMMFC_BAD_BAND_VALUE;
2550
66
    case  ((uint32_t) 12 << 16) | 10:
2551
66
        return OFPERR_OFPMMFC_OUT_OF_METERS;
2552
66
    case  ((uint32_t) 12 << 16) | 11:
2553
66
        return OFPERR_OFPMMFC_OUT_OF_BANDS;
2554
66
    case  ((uint32_t) 13 << 16) | 0:
2555
66
        return OFPERR_OFPTFFC_BAD_TABLE;
2556
73
    case  ((uint32_t) 13 << 16) | 1:
2557
73
        return OFPERR_OFPTFFC_BAD_METADATA;
2558
2.35k
    case  ((uint32_t) 13 << 16) | 5:
2559
2.35k
        return OFPERR_OFPTFFC_EPERM;
2560
18
    case (0x2320ULL << 32) |  ((uint32_t) 44 << 16) | 0:
2561
18
        return OFPERR_NXTFFC_DUP_TABLE;
2562
36
    case  ((uint32_t) 14 << 16) | 0:
2563
36
        return OFPERR_OFPBPC_BAD_TYPE;
2564
231
    case  ((uint32_t) 14 << 16) | 1:
2565
231
        return OFPERR_OFPBPC_BAD_LEN;
2566
35
    case  ((uint32_t) 14 << 16) | 2:
2567
35
        return OFPERR_OFPBPC_BAD_VALUE;
2568
66
    case  ((uint32_t) 14 << 16) | 3:
2569
66
        return OFPERR_OFPBPC_TOO_MANY;
2570
105
    case  ((uint32_t) 14 << 16) | 4:
2571
105
        return OFPERR_OFPBPC_DUP_TYPE;
2572
67
    case  ((uint32_t) 14 << 16) | 5:
2573
67
        return OFPERR_OFPBPC_BAD_EXPERIMENTER;
2574
201
    case  ((uint32_t) 14 << 16) | 6:
2575
201
        return OFPERR_OFPBPC_BAD_EXP_TYPE;
2576
66
    case  ((uint32_t) 14 << 16) | 7:
2577
66
        return OFPERR_OFPBPC_BAD_EXP_VALUE;
2578
66
    case  ((uint32_t) 14 << 16) | 8:
2579
66
        return OFPERR_OFPBPC_EPERM;
2580
67
    case  ((uint32_t) 15 << 16) | 0:
2581
67
        return OFPERR_OFPACFC_INVALID;
2582
68
    case  ((uint32_t) 15 << 16) | 1:
2583
68
        return OFPERR_OFPACFC_UNSUPPORTED;
2584
68
    case  ((uint32_t) 15 << 16) | 2:
2585
68
        return OFPERR_OFPACFC_EPERM;
2586
67
    case  ((uint32_t) 17 << 16) | 0:
2587
67
        return OFPERR_OFPBFC_UNKNOWN;
2588
72
    case  ((uint32_t) 17 << 16) | 1:
2589
72
        return OFPERR_OFPBFC_EPERM;
2590
198
    case  ((uint32_t) 17 << 16) | 2:
2591
198
        return OFPERR_OFPBFC_BAD_ID;
2592
194
    case  ((uint32_t) 17 << 16) | 3:
2593
194
        return OFPERR_OFPBFC_BUNDLE_EXIST;
2594
164
    case  ((uint32_t) 17 << 16) | 4:
2595
164
        return OFPERR_OFPBFC_BUNDLE_CLOSED;
2596
478
    case  ((uint32_t) 17 << 16) | 5:
2597
478
        return OFPERR_OFPBFC_OUT_OF_BUNDLES;
2598
98
    case  ((uint32_t) 17 << 16) | 6:
2599
98
        return OFPERR_OFPBFC_BAD_TYPE;
2600
987
    case  ((uint32_t) 17 << 16) | 7:
2601
987
        return OFPERR_OFPBFC_BAD_FLAGS;
2602
66
    case  ((uint32_t) 17 << 16) | 8:
2603
66
        return OFPERR_OFPBFC_MSG_BAD_LEN;
2604
128
    case  ((uint32_t) 17 << 16) | 9:
2605
128
        return OFPERR_OFPBFC_MSG_BAD_XID;
2606
134
    case  ((uint32_t) 17 << 16) | 10:
2607
134
        return OFPERR_OFPBFC_MSG_UNSUP;
2608
258
    case  ((uint32_t) 17 << 16) | 11:
2609
258
        return OFPERR_OFPBFC_MSG_CONFLICT;
2610
1.70k
    case  ((uint32_t) 17 << 16) | 12:
2611
1.70k
        return OFPERR_OFPBFC_MSG_TOO_MANY;
2612
173
    case  ((uint32_t) 17 << 16) | 13:
2613
173
        return OFPERR_OFPBFC_MSG_FAILED;
2614
213
    case  ((uint32_t) 17 << 16) | 14:
2615
213
        return OFPERR_OFPBFC_TIMEOUT;
2616
200
    case  ((uint32_t) 17 << 16) | 15:
2617
200
        return OFPERR_OFPBFC_BUNDLE_IN_PROGRESS;
2618
68
    case (0x2320ULL << 32) |  ((uint32_t) 22 << 16) | 0:
2619
68
        return OFPERR_OFPBFC_BAD_VERSION;
2620
82
    case  ((uint32_t) 16 << 16) | 0:
2621
82
        return OFPERR_OFPMOFC_UNKNOWN;
2622
463
    case  ((uint32_t) 16 << 16) | 1:
2623
463
        return OFPERR_OFPMOFC_MONITOR_EXISTS;
2624
1.01k
    case  ((uint32_t) 16 << 16) | 2:
2625
1.01k
        return OFPERR_OFPMOFC_INVALID_MONITOR;
2626
287
    case  ((uint32_t) 16 << 16) | 3:
2627
287
        return OFPERR_OFPMOFC_UNKNOWN_MONITOR;
2628
66
    case  ((uint32_t) 16 << 16) | 4:
2629
66
        return OFPERR_OFPMOFC_BAD_COMMAND;
2630
82
    case  ((uint32_t) 16 << 16) | 5:
2631
82
        return OFPERR_OFPMOFC_BAD_FLAGS;
2632
66
    case  ((uint32_t) 16 << 16) | 6:
2633
66
        return OFPERR_OFPMOFC_BAD_TABLE_ID;
2634
149
    case  ((uint32_t) 16 << 16) | 7:
2635
149
        return OFPERR_OFPMOFC_BAD_OUT;
2636
330
    case (0x2320ULL << 32) |  ((uint32_t) 16 << 16) | 0:
2637
330
        return OFPERR_NXTTMFC_BAD_COMMAND;
2638
247
    case (0x2320ULL << 32) |  ((uint32_t) 17 << 16) | 0:
2639
247
        return OFPERR_NXTTMFC_BAD_OPT_LEN;
2640
66
    case (0x2320ULL << 32) |  ((uint32_t) 18 << 16) | 0:
2641
66
        return OFPERR_NXTTMFC_BAD_FIELD_IDX;
2642
71
    case (0x2320ULL << 32) |  ((uint32_t) 19 << 16) | 0:
2643
71
        return OFPERR_NXTTMFC_TABLE_FULL;
2644
34
    case (0x2320ULL << 32) |  ((uint32_t) 20 << 16) | 0:
2645
34
        return OFPERR_NXTTMFC_ALREADY_MAPPED;
2646
68
    case (0x2320ULL << 32) |  ((uint32_t) 21 << 16) | 0:
2647
68
        return OFPERR_NXTTMFC_DUP_ENTRY;
2648
66
    case (0x2320ULL << 32) |  ((uint32_t) 38 << 16) | 0:
2649
66
        return OFPERR_NXTTMFC_INVALID_TLV_DEL;
2650
114
    case (0x2320ULL << 32) |  ((uint32_t) 34 << 16) | 0:
2651
114
        return OFPERR_NXR_NOT_SUPPORTED;
2652
418
    case (0x2320ULL << 32) |  ((uint32_t) 35 << 16) | 0:
2653
418
        return OFPERR_NXR_STALE;
2654
69
    case (0x2320ULL << 32) |  ((uint32_t) 36 << 16) | 0:
2655
69
        return OFPERR_NXST_NOT_CONFIGURED;
2656
144k
    }
2657
2658
53.7k
    return 0;
2659
144k
}
2660
2661
static const struct ofperr_domain ofperr_of14 = {
2662
    "OpenFlow 1.4",
2663
    5,
2664
    ofperr_of14_decode,
2665
    {
2666
        {      0x0,  0,   0 }, /* OFPHFC_INCOMPATIBLE */
2667
        {      0x0,  0,   1 }, /* OFPHFC_EPERM */
2668
        {      0x0,  1,   0 }, /* OFPBRC_BAD_VERSION */
2669
        {      0x0,  1,   1 }, /* OFPBRC_BAD_TYPE */
2670
        {      0x0,  1,   2 }, /* OFPBRC_BAD_STAT */
2671
        {      0x0,  1,   3 }, /* OFPBRC_BAD_VENDOR */
2672
        {      0x0,  1,   4 }, /* OFPBRC_BAD_SUBTYPE */
2673
        {      0x0,  1,   5 }, /* OFPBRC_EPERM */
2674
        {      0x0,  1,   6 }, /* OFPBRC_BAD_LEN */
2675
        {      0x0,  1,   7 }, /* OFPBRC_BUFFER_EMPTY */
2676
        {      0x0,  1,   8 }, /* OFPBRC_BUFFER_UNKNOWN */
2677
        {      0x0,  1,   9 }, /* OFPBRC_BAD_TABLE_ID */
2678
        {      0x0,  1,  10 }, /* OFPBRC_IS_SECONDARY */
2679
        {      0x0,  1,  11 }, /* OFPBRC_BAD_PORT */
2680
        {      0x0,  1,  12 }, /* OFPBRC_BAD_PACKET */
2681
        {      0x0,  1,  13 }, /* OFPBRC_MULTIPART_BUFFER_OVERFLOW */
2682
        {      0x0,  1,  14 }, /* OFPBRC_MULTIPART_REQUEST_TIMEOUT */
2683
        {      0x0,  1,  15 }, /* OFPBRC_MULTIPART_REPLY_TIMEOUT */
2684
        {       -1, -1,  -1 }, /* OFPBRC_MULTIPART_BAD_SCHED */
2685
        {       -1, -1,  -1 }, /* OFPBRC_PIPELINE_FIELDS_ONLY */
2686
        {       -1, -1,  -1 }, /* OFPBRC_UNKNOWN */
2687
        {   0x2320,  2,   0 }, /* NXBRC_NXM_INVALID */
2688
        {   0x2320,  3,   0 }, /* NXBRC_NXM_BAD_TYPE */
2689
        {   0x2320,  4,   0 }, /* NXBRC_MUST_BE_ZERO */
2690
        {   0x2320,  5,   0 }, /* NXBRC_BAD_REASON */
2691
        {   0x2320,  9,   0 }, /* NXBRC_FM_BAD_EVENT */
2692
        {   0x2320, 10,   0 }, /* NXBRC_UNENCODABLE_ERROR */
2693
        {      0x0,  2,   0 }, /* OFPBAC_BAD_TYPE */
2694
        {      0x0,  2,   1 }, /* OFPBAC_BAD_LEN */
2695
        {      0x0,  2,   2 }, /* OFPBAC_BAD_VENDOR */
2696
        {      0x0,  2,   3 }, /* OFPBAC_BAD_VENDOR_TYPE */
2697
        {      0x0,  2,   4 }, /* OFPBAC_BAD_OUT_PORT */
2698
        {      0x0,  2,   5 }, /* OFPBAC_BAD_ARGUMENT */
2699
        {      0x0,  2,   6 }, /* OFPBAC_EPERM */
2700
        {      0x0,  2,   7 }, /* OFPBAC_TOO_MANY */
2701
        {      0x0,  2,   8 }, /* OFPBAC_BAD_QUEUE */
2702
        {      0x0,  2,   9 }, /* OFPBAC_BAD_OUT_GROUP */
2703
        {      0x0,  2,  10 }, /* OFPBAC_MATCH_INCONSISTENT */
2704
        {      0x0,  2,  11 }, /* OFPBAC_UNSUPPORTED_ORDER */
2705
        {      0x0,  2,  12 }, /* OFPBAC_BAD_TAG */
2706
        {      0x0,  2,  13 }, /* OFPBAC_BAD_SET_TYPE */
2707
        {      0x0,  2,  14 }, /* OFPBAC_BAD_SET_LEN */
2708
        {      0x0,  2,  15 }, /* OFPBAC_BAD_SET_ARGUMENT */
2709
        { 0x4f4e4600, 4250,   0 }, /* OFPBAC_BAD_SET_MASK */
2710
        {       -1, -1,  -1 }, /* OFPBAC_BAD_METER */
2711
        {   0x2320, 11,   0 }, /* NXBAC_MUST_BE_ZERO */
2712
        {   0x2320, 15,   0 }, /* NXBAC_BAD_CONJUNCTION */
2713
        {   0x2320, 39,   0 }, /* NXBAC_BAD_HEADER_TYPE */
2714
        {   0x2320, 40,   0 }, /* NXBAC_UNKNOWN_ED_PROP */
2715
        {   0x2320, 41,   0 }, /* NXBAC_BAD_ED_PROP */
2716
        {   0x2320, 42,   0 }, /* NXBAC_CT_DATAPATH_SUPPORT */
2717
        {      0x0,  3,   0 }, /* OFPBIC_UNKNOWN_INST */
2718
        {      0x0,  3,   1 }, /* OFPBIC_UNSUP_INST */
2719
        {      0x0,  3,   2 }, /* OFPBIC_BAD_TABLE_ID */
2720
        {      0x0,  3,   3 }, /* OFPBIC_UNSUP_METADATA */
2721
        {      0x0,  3,   4 }, /* OFPBIC_UNSUP_METADATA_MASK */
2722
        {      0x0,  3,   5 }, /* OFPBIC_BAD_EXPERIMENTER */
2723
        {      0x0,  3,   6 }, /* OFPBIC_BAD_EXP_TYPE */
2724
        {      0x0,  3,   7 }, /* OFPBIC_BAD_LEN */
2725
        {      0x0,  3,   8 }, /* OFPBIC_EPERM */
2726
        {      0x0,  3,   9 }, /* OFPBIC_DUP_INST */
2727
        {      0x0,  4,   0 }, /* OFPBMC_BAD_TYPE */
2728
        {      0x0,  4,   1 }, /* OFPBMC_BAD_LEN */
2729
        {      0x0,  4,   2 }, /* OFPBMC_BAD_TAG */
2730
        {      0x0,  4,   3 }, /* OFPBMC_BAD_DL_ADDR_MASK */
2731
        {      0x0,  4,   4 }, /* OFPBMC_BAD_NW_ADDR_MASK */
2732
        {      0x0,  4,   5 }, /* OFPBMC_BAD_WILDCARDS */
2733
        {      0x0,  4,   6 }, /* OFPBMC_BAD_FIELD */
2734
        {      0x0,  4,   7 }, /* OFPBMC_BAD_VALUE */
2735
        {      0x0,  4,   8 }, /* OFPBMC_BAD_MASK */
2736
        {      0x0,  4,   9 }, /* OFPBMC_BAD_PREREQ */
2737
        {      0x0,  4,  10 }, /* OFPBMC_DUP_FIELD */
2738
        {      0x0,  4,  11 }, /* OFPBMC_EPERM */
2739
        {   0x2320, 43,   0 }, /* NXBMC_CT_DATAPATH_SUPPORT */
2740
        {      0x0,  5,   0 }, /* OFPFMFC_UNKNOWN */
2741
        {      0x0,  5,   1 }, /* OFPFMFC_TABLE_FULL */
2742
        {      0x0,  5,   2 }, /* OFPFMFC_BAD_TABLE_ID */
2743
        {      0x0,  5,   3 }, /* OFPFMFC_OVERLAP */
2744
        {      0x0,  5,   4 }, /* OFPFMFC_EPERM */
2745
        {      0x0,  5,   5 }, /* OFPFMFC_BAD_TIMEOUT */
2746
        {       -1, -1,  -1 }, /* OFPFMFC_BAD_EMERG_TIMEOUT */
2747
        {      0x0,  5,   6 }, /* OFPFMFC_BAD_COMMAND */
2748
        {      0x0,  5,   7 }, /* OFPFMFC_BAD_FLAGS */
2749
        {      0x0,  5,   8 }, /* OFPFMFC_CANT_SYNC */
2750
        {      0x0,  5,   9 }, /* OFPFMFC_BAD_PRIORITY */
2751
        {      0x0,  5,  10 }, /* OFPFMFC_IS_SYNC */
2752
        {       -1, -1,  -1 }, /* OFPFMFC_UNSUPPORTED */
2753
        {   0x2320, 12,   0 }, /* NXFMFC_HARDWARE */
2754
        {   0x2320, 13,   0 }, /* NXFMFC_BAD_TABLE_ID */
2755
        {   0x2320, 37,   0 }, /* NXFMFC_INVALID_TLV_FIELD */
2756
        {      0x0,  6,   0 }, /* OFPGMFC_GROUP_EXISTS */
2757
        {      0x0,  6,   1 }, /* OFPGMFC_INVALID_GROUP */
2758
        {      0x0,  6,   2 }, /* OFPGMFC_WEIGHT_UNSUPPORTED */
2759
        {      0x0,  6,   3 }, /* OFPGMFC_OUT_OF_GROUPS */
2760
        {      0x0,  6,   4 }, /* OFPGMFC_OUT_OF_BUCKETS */
2761
        {      0x0,  6,   5 }, /* OFPGMFC_CHAINING_UNSUPPORTED */
2762
        {      0x0,  6,   6 }, /* OFPGMFC_WATCH_UNSUPPORTED */
2763
        {      0x0,  6,   7 }, /* OFPGMFC_LOOP */
2764
        {      0x0,  6,   8 }, /* OFPGMFC_UNKNOWN_GROUP */
2765
        {      0x0,  6,   9 }, /* OFPGMFC_CHAINED_GROUP */
2766
        {      0x0,  6,  10 }, /* OFPGMFC_BAD_TYPE */
2767
        {      0x0,  6,  11 }, /* OFPGMFC_BAD_COMMAND */
2768
        {      0x0,  6,  12 }, /* OFPGMFC_BAD_BUCKET */
2769
        {      0x0,  6,  13 }, /* OFPGMFC_BAD_WATCH */
2770
        {      0x0,  6,  14 }, /* OFPGMFC_EPERM */
2771
        {       -1, -1,  -1 }, /* OFPGMFC_UNKNOWN_BUCKET */
2772
        {       -1, -1,  -1 }, /* OFPGMFC_BUCKET_EXISTS */
2773
        {      0x0,  7,   0 }, /* OFPPMFC_BAD_PORT */
2774
        {      0x0,  7,   1 }, /* OFPPMFC_BAD_HW_ADDR */
2775
        {      0x0,  7,   2 }, /* OFPPMFC_BAD_CONFIG */
2776
        {      0x0,  7,   3 }, /* OFPPMFC_BAD_ADVERTISE */
2777
        {      0x0,  7,   4 }, /* OFPPMFC_EPERM */
2778
        {      0x0,  8,   0 }, /* OFPTMFC_BAD_TABLE */
2779
        {      0x0,  8,   1 }, /* OFPTMFC_BAD_CONFIG */
2780
        {      0x0,  8,   2 }, /* OFPTMFC_EPERM */
2781
        {      0x0,  9,   0 }, /* OFPQOFC_BAD_PORT */
2782
        {      0x0,  9,   1 }, /* OFPQOFC_BAD_QUEUE */
2783
        {      0x0,  9,   2 }, /* OFPQOFC_EPERM */
2784
        {   0x2320, 23,   0 }, /* NXQOFC_QUEUE_ERROR */
2785
        {      0x0, 10,   0 }, /* OFPSCFC_BAD_FLAGS */
2786
        {      0x0, 10,   1 }, /* OFPSCFC_BAD_LEN */
2787
        {      0x0, 10,   2 }, /* OFPSCFC_EPERM */
2788
        {      0x0, 11,   0 }, /* OFPRRFC_STALE */
2789
        {      0x0, 11,   1 }, /* OFPRRFC_UNSUP */
2790
        {      0x0, 11,   2 }, /* OFPRRFC_BAD_ROLE */
2791
        {       -1, -1,  -1 }, /* OFPRRFC_ID_UNSUP */
2792
        {       -1, -1,  -1 }, /* OFPRRFC_ID_IN_USE */
2793
        {      0x0, 12,   0 }, /* OFPMMFC_UNKNOWN */
2794
        {      0x0, 12,   1 }, /* OFPMMFC_METER_EXISTS */
2795
        {      0x0, 12,   2 }, /* OFPMMFC_INVALID_METER */
2796
        {      0x0, 12,   3 }, /* OFPMMFC_UNKNOWN_METER */
2797
        {      0x0, 12,   4 }, /* OFPMMFC_BAD_COMMAND */
2798
        {      0x0, 12,   5 }, /* OFPMMFC_BAD_FLAGS */
2799
        {      0x0, 12,   6 }, /* OFPMMFC_BAD_RATE */
2800
        {      0x0, 12,   7 }, /* OFPMMFC_BAD_BURST */
2801
        {      0x0, 12,   8 }, /* OFPMMFC_BAD_BAND */
2802
        {      0x0, 12,   9 }, /* OFPMMFC_BAD_BAND_VALUE */
2803
        {      0x0, 12,  10 }, /* OFPMMFC_OUT_OF_METERS */
2804
        {      0x0, 12,  11 }, /* OFPMMFC_OUT_OF_BANDS */
2805
        {      0x0, 13,   0 }, /* OFPTFFC_BAD_TABLE */
2806
        {      0x0, 13,   1 }, /* OFPTFFC_BAD_METADATA */
2807
        {      0x0, 13,   5 }, /* OFPTFFC_EPERM */
2808
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_CAPA */
2809
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_MAX_ENT */
2810
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_FEATURES */
2811
        {       -1, -1,  -1 }, /* OFPTFFC_BAD_COMMAND */
2812
        {       -1, -1,  -1 }, /* OFPTFFC_TOO_MANY */
2813
        {   0x2320, 44,   0 }, /* NXTFFC_DUP_TABLE */
2814
        {      0x0, 14,   0 }, /* OFPBPC_BAD_TYPE */
2815
        {      0x0, 14,   1 }, /* OFPBPC_BAD_LEN */
2816
        {      0x0, 14,   2 }, /* OFPBPC_BAD_VALUE */
2817
        {      0x0, 14,   3 }, /* OFPBPC_TOO_MANY */
2818
        {      0x0, 14,   4 }, /* OFPBPC_DUP_TYPE */
2819
        {      0x0, 14,   5 }, /* OFPBPC_BAD_EXPERIMENTER */
2820
        {      0x0, 14,   6 }, /* OFPBPC_BAD_EXP_TYPE */
2821
        {      0x0, 14,   7 }, /* OFPBPC_BAD_EXP_VALUE */
2822
        {      0x0, 14,   8 }, /* OFPBPC_EPERM */
2823
        {      0x0, 15,   0 }, /* OFPACFC_INVALID */
2824
        {      0x0, 15,   1 }, /* OFPACFC_UNSUPPORTED */
2825
        {      0x0, 15,   2 }, /* OFPACFC_EPERM */
2826
        {      0x0, 17,   0 }, /* OFPBFC_UNKNOWN */
2827
        {      0x0, 17,   1 }, /* OFPBFC_EPERM */
2828
        {      0x0, 17,   2 }, /* OFPBFC_BAD_ID */
2829
        {      0x0, 17,   3 }, /* OFPBFC_BUNDLE_EXIST */
2830
        {      0x0, 17,   4 }, /* OFPBFC_BUNDLE_CLOSED */
2831
        {      0x0, 17,   5 }, /* OFPBFC_OUT_OF_BUNDLES */
2832
        {      0x0, 17,   6 }, /* OFPBFC_BAD_TYPE */
2833
        {      0x0, 17,   7 }, /* OFPBFC_BAD_FLAGS */
2834
        {      0x0, 17,   8 }, /* OFPBFC_MSG_BAD_LEN */
2835
        {      0x0, 17,   9 }, /* OFPBFC_MSG_BAD_XID */
2836
        {      0x0, 17,  10 }, /* OFPBFC_MSG_UNSUP */
2837
        {      0x0, 17,  11 }, /* OFPBFC_MSG_CONFLICT */
2838
        {      0x0, 17,  12 }, /* OFPBFC_MSG_TOO_MANY */
2839
        {      0x0, 17,  13 }, /* OFPBFC_MSG_FAILED */
2840
        {      0x0, 17,  14 }, /* OFPBFC_TIMEOUT */
2841
        {      0x0, 17,  15 }, /* OFPBFC_BUNDLE_IN_PROGRESS */
2842
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_NOT_SUPPORTED */
2843
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_FUTURE */
2844
        {       -1, -1,  -1 }, /* OFPBFC_SCHED_PAST */
2845
        {   0x2320, 22,   0 }, /* OFPBFC_BAD_VERSION */
2846
        {      0x0, 16,   0 }, /* OFPMOFC_UNKNOWN */
2847
        {      0x0, 16,   1 }, /* OFPMOFC_MONITOR_EXISTS */
2848
        {      0x0, 16,   2 }, /* OFPMOFC_INVALID_MONITOR */
2849
        {      0x0, 16,   3 }, /* OFPMOFC_UNKNOWN_MONITOR */
2850
        {      0x0, 16,   4 }, /* OFPMOFC_BAD_COMMAND */
2851
        {      0x0, 16,   5 }, /* OFPMOFC_BAD_FLAGS */
2852
        {      0x0, 16,   6 }, /* OFPMOFC_BAD_TABLE_ID */
2853
        {      0x0, 16,   7 }, /* OFPMOFC_BAD_OUT */
2854
        {   0x2320, 16,   0 }, /* NXTTMFC_BAD_COMMAND */
2855
        {   0x2320, 17,   0 }, /* NXTTMFC_BAD_OPT_LEN */
2856
        {   0x2320, 18,   0 }, /* NXTTMFC_BAD_FIELD_IDX */
2857
        {   0x2320, 19,   0 }, /* NXTTMFC_TABLE_FULL */
2858
        {   0x2320, 20,   0 }, /* NXTTMFC_ALREADY_MAPPED */
2859
        {   0x2320, 21,   0 }, /* NXTTMFC_DUP_ENTRY */
2860
        {   0x2320, 38,   0 }, /* NXTTMFC_INVALID_TLV_DEL */
2861
        {   0x2320, 34,   0 }, /* NXR_NOT_SUPPORTED */
2862
        {   0x2320, 35,   0 }, /* NXR_STALE */
2863
        {   0x2320, 36,   0 }, /* NXST_NOT_CONFIGURED */
2864
    },
2865
};
2866
2867
static enum ofperr
2868
ofperr_of15_decode(uint32_t vendor, uint16_t type, uint16_t code)
2869
133k
{
2870
133k
    switch (((uint64_t) vendor << 32) | ((uint32_t) type << 16) | code) {
2871
4.21k
    case  ((uint32_t) 0 << 16) | 0:
2872
4.21k
        return OFPERR_OFPHFC_INCOMPATIBLE;
2873
198
    case  ((uint32_t) 0 << 16) | 1:
2874
198
        return OFPERR_OFPHFC_EPERM;
2875
430
    case  ((uint32_t) 1 << 16) | 0:
2876
430
        return OFPERR_OFPBRC_BAD_VERSION;
2877
3.46k
    case  ((uint32_t) 1 << 16) | 1:
2878
3.46k
        return OFPERR_OFPBRC_BAD_TYPE;
2879
4.14k
    case  ((uint32_t) 1 << 16) | 2:
2880
4.14k
        return OFPERR_OFPBRC_BAD_STAT;
2881
69
    case  ((uint32_t) 1 << 16) | 3:
2882
69
        return OFPERR_OFPBRC_BAD_VENDOR;
2883
216
    case  ((uint32_t) 1 << 16) | 4:
2884
216
        return OFPERR_OFPBRC_BAD_SUBTYPE;
2885
962
    case  ((uint32_t) 1 << 16) | 5:
2886
962
        return OFPERR_OFPBRC_EPERM;
2887
372
    case  ((uint32_t) 1 << 16) | 6:
2888
372
        return OFPERR_OFPBRC_BAD_LEN;
2889
1.01k
    case  ((uint32_t) 1 << 16) | 7:
2890
1.01k
        return OFPERR_OFPBRC_BUFFER_EMPTY;
2891
3.42k
    case  ((uint32_t) 1 << 16) | 8:
2892
3.42k
        return OFPERR_OFPBRC_BUFFER_UNKNOWN;
2893
831
    case  ((uint32_t) 1 << 16) | 9:
2894
831
        return OFPERR_OFPBRC_BAD_TABLE_ID;
2895
178
    case  ((uint32_t) 1 << 16) | 10:
2896
178
        return OFPERR_OFPBRC_IS_SECONDARY;
2897
18
    case  ((uint32_t) 1 << 16) | 11:
2898
18
        return OFPERR_OFPBRC_BAD_PORT;
2899
3.23k
    case  ((uint32_t) 1 << 16) | 12:
2900
3.23k
        return OFPERR_OFPBRC_BAD_PACKET;
2901
67
    case  ((uint32_t) 1 << 16) | 13:
2902
67
        return OFPERR_OFPBRC_MULTIPART_BUFFER_OVERFLOW;
2903
146
    case  ((uint32_t) 1 << 16) | 14:
2904
146
        return OFPERR_OFPBRC_MULTIPART_REQUEST_TIMEOUT;
2905
2.96k
    case  ((uint32_t) 1 << 16) | 15:
2906
2.96k
        return OFPERR_OFPBRC_MULTIPART_REPLY_TIMEOUT;
2907
55
    case  ((uint32_t) 1 << 16) | 16:
2908
55
        return OFPERR_OFPBRC_MULTIPART_BAD_SCHED;
2909
66
    case  ((uint32_t) 1 << 16) | 17:
2910
66
        return OFPERR_OFPBRC_PIPELINE_FIELDS_ONLY;
2911
251
    case  ((uint32_t) 1 << 16) | 18:
2912
251
        return OFPERR_OFPBRC_UNKNOWN;
2913
5.19k
    case (0x2320ULL << 32) |  ((uint32_t) 2 << 16) | 0:
2914
5.19k
        return OFPERR_NXBRC_NXM_INVALID;
2915
38
    case (0x2320ULL << 32) |  ((uint32_t) 3 << 16) | 0:
2916
38
        return OFPERR_NXBRC_NXM_BAD_TYPE;
2917
1.11k
    case (0x2320ULL << 32) |  ((uint32_t) 4 << 16) | 0:
2918
1.11k
        return OFPERR_NXBRC_MUST_BE_ZERO;
2919
67
    case (0x2320ULL << 32) |  ((uint32_t) 5 << 16) | 0:
2920
67
        return OFPERR_NXBRC_BAD_REASON;
2921
98
    case (0x2320ULL << 32) |  ((uint32_t) 9 << 16) | 0:
2922
98
        return OFPERR_NXBRC_FM_BAD_EVENT;
2923
92
    case (0x2320ULL << 32) |  ((uint32_t) 10 << 16) | 0:
2924
92
        return OFPERR_NXBRC_UNENCODABLE_ERROR;
2925
708
    case  ((uint32_t) 2 << 16) | 0:
2926
708
        return OFPERR_OFPBAC_BAD_TYPE;
2927
205
    case  ((uint32_t) 2 << 16) | 1:
2928
205
        return OFPERR_OFPBAC_BAD_LEN;
2929
846
    case  ((uint32_t) 2 << 16) | 2:
2930
846
        return OFPERR_OFPBAC_BAD_VENDOR;
2931
83
    case  ((uint32_t) 2 << 16) | 3:
2932
83
        return OFPERR_OFPBAC_BAD_VENDOR_TYPE;
2933
855
    case  ((uint32_t) 2 << 16) | 4:
2934
855
        return OFPERR_OFPBAC_BAD_OUT_PORT;
2935
178
    case  ((uint32_t) 2 << 16) | 5:
2936
178
        return OFPERR_OFPBAC_BAD_ARGUMENT;
2937
151
    case  ((uint32_t) 2 << 16) | 6:
2938
151
        return OFPERR_OFPBAC_EPERM;
2939
235
    case  ((uint32_t) 2 << 16) | 7:
2940
235
        return OFPERR_OFPBAC_TOO_MANY;
2941
890
    case  ((uint32_t) 2 << 16) | 8:
2942
890
        return OFPERR_OFPBAC_BAD_QUEUE;
2943
1.74k
    case  ((uint32_t) 2 << 16) | 9:
2944
1.74k
        return OFPERR_OFPBAC_BAD_OUT_GROUP;
2945
35
    case  ((uint32_t) 2 << 16) | 10:
2946
35
        return OFPERR_OFPBAC_MATCH_INCONSISTENT;
2947
72
    case  ((uint32_t) 2 << 16) | 11:
2948
72
        return OFPERR_OFPBAC_UNSUPPORTED_ORDER;
2949
437
    case  ((uint32_t) 2 << 16) | 12:
2950
437
        return OFPERR_OFPBAC_BAD_TAG;
2951
117
    case  ((uint32_t) 2 << 16) | 13:
2952
117
        return OFPERR_OFPBAC_BAD_SET_TYPE;
2953
392
    case  ((uint32_t) 2 << 16) | 14:
2954
392
        return OFPERR_OFPBAC_BAD_SET_LEN;
2955
1.51k
    case  ((uint32_t) 2 << 16) | 15:
2956
1.51k
        return OFPERR_OFPBAC_BAD_SET_ARGUMENT;
2957
209
    case  ((uint32_t) 2 << 16) | 16:
2958
209
        return OFPERR_OFPBAC_BAD_SET_MASK;
2959
161
    case  ((uint32_t) 2 << 16) | 17:
2960
161
        return OFPERR_OFPBAC_BAD_METER;
2961
73
    case (0x2320ULL << 32) |  ((uint32_t) 11 << 16) | 0:
2962
73
        return OFPERR_NXBAC_MUST_BE_ZERO;
2963
194
    case (0x2320ULL << 32) |  ((uint32_t) 15 << 16) | 0:
2964
194
        return OFPERR_NXBAC_BAD_CONJUNCTION;
2965
71
    case (0x2320ULL << 32) |  ((uint32_t) 39 << 16) | 0:
2966
71
        return OFPERR_NXBAC_BAD_HEADER_TYPE;
2967
25
    case (0x2320ULL << 32) |  ((uint32_t) 40 << 16) | 0:
2968
25
        return OFPERR_NXBAC_UNKNOWN_ED_PROP;
2969
3.59k
    case (0x2320ULL << 32) |  ((uint32_t) 41 << 16) | 0:
2970
3.59k
        return OFPERR_NXBAC_BAD_ED_PROP;
2971
51
    case (0x2320ULL << 32) |  ((uint32_t) 42 << 16) | 0:
2972
51
        return OFPERR_NXBAC_CT_DATAPATH_SUPPORT;
2973
198
    case  ((uint32_t) 3 << 16) | 0:
2974
198
        return OFPERR_OFPBIC_UNKNOWN_INST;
2975
79
    case  ((uint32_t) 3 << 16) | 1:
2976
79
        return OFPERR_OFPBIC_UNSUP_INST;
2977
1.56k
    case  ((uint32_t) 3 << 16) | 2:
2978
1.56k
        return OFPERR_OFPBIC_BAD_TABLE_ID;
2979
69
    case  ((uint32_t) 3 << 16) | 3:
2980
69
        return OFPERR_OFPBIC_UNSUP_METADATA;
2981
34
    case  ((uint32_t) 3 << 16) | 4:
2982
34
        return OFPERR_OFPBIC_UNSUP_METADATA_MASK;
2983
196
    case  ((uint32_t) 3 << 16) | 5:
2984
196
        return OFPERR_OFPBIC_BAD_EXPERIMENTER;
2985
93
    case  ((uint32_t) 3 << 16) | 6:
2986
93
        return OFPERR_OFPBIC_BAD_EXP_TYPE;
2987
66
    case  ((uint32_t) 3 << 16) | 7:
2988
66
        return OFPERR_OFPBIC_BAD_LEN;
2989
82
    case  ((uint32_t) 3 << 16) | 8:
2990
82
        return OFPERR_OFPBIC_EPERM;
2991
175
    case  ((uint32_t) 3 << 16) | 9:
2992
175
        return OFPERR_OFPBIC_DUP_INST;
2993
473
    case  ((uint32_t) 4 << 16) | 0:
2994
473
        return OFPERR_OFPBMC_BAD_TYPE;
2995
498
    case  ((uint32_t) 4 << 16) | 1:
2996
498
        return OFPERR_OFPBMC_BAD_LEN;
2997
923
    case  ((uint32_t) 4 << 16) | 2:
2998
923
        return OFPERR_OFPBMC_BAD_TAG;
2999
797
    case  ((uint32_t) 4 << 16) | 3:
3000
797
        return OFPERR_OFPBMC_BAD_DL_ADDR_MASK;
3001
75
    case  ((uint32_t) 4 << 16) | 4:
3002
75
        return OFPERR_OFPBMC_BAD_NW_ADDR_MASK;
3003
68
    case  ((uint32_t) 4 << 16) | 5:
3004
68
        return OFPERR_OFPBMC_BAD_WILDCARDS;
3005
195
    case  ((uint32_t) 4 << 16) | 6:
3006
195
        return OFPERR_OFPBMC_BAD_FIELD;
3007
70
    case  ((uint32_t) 4 << 16) | 7:
3008
70
        return OFPERR_OFPBMC_BAD_VALUE;
3009
222
    case  ((uint32_t) 4 << 16) | 8:
3010
222
        return OFPERR_OFPBMC_BAD_MASK;
3011
95
    case  ((uint32_t) 4 << 16) | 9:
3012
95
        return OFPERR_OFPBMC_BAD_PREREQ;
3013
75
    case  ((uint32_t) 4 << 16) | 10:
3014
75
        return OFPERR_OFPBMC_DUP_FIELD;
3015
84
    case  ((uint32_t) 4 << 16) | 11:
3016
84
        return OFPERR_OFPBMC_EPERM;
3017
1.46k
    case (0x2320ULL << 32) |  ((uint32_t) 43 << 16) | 0:
3018
1.46k
        return OFPERR_NXBMC_CT_DATAPATH_SUPPORT;
3019
69
    case  ((uint32_t) 5 << 16) | 0:
3020
69
        return OFPERR_OFPFMFC_UNKNOWN;
3021
238
    case  ((uint32_t) 5 << 16) | 1:
3022
238
        return OFPERR_OFPFMFC_TABLE_FULL;
3023
70
    case  ((uint32_t) 5 << 16) | 2:
3024
70
        return OFPERR_OFPFMFC_BAD_TABLE_ID;
3025
68
    case  ((uint32_t) 5 << 16) | 3:
3026
68
        return OFPERR_OFPFMFC_OVERLAP;
3027
35
    case  ((uint32_t) 5 << 16) | 4:
3028
35
        return OFPERR_OFPFMFC_EPERM;
3029
1.20k
    case  ((uint32_t) 5 << 16) | 5:
3030
1.20k
        return OFPERR_OFPFMFC_BAD_TIMEOUT;
3031
463
    case  ((uint32_t) 5 << 16) | 6:
3032
463
        return OFPERR_OFPFMFC_BAD_COMMAND;
3033
164
    case  ((uint32_t) 5 << 16) | 7:
3034
164
        return OFPERR_OFPFMFC_BAD_FLAGS;
3035
279
    case  ((uint32_t) 5 << 16) | 8:
3036
279
        return OFPERR_OFPFMFC_CANT_SYNC;
3037
34
    case  ((uint32_t) 5 << 16) | 9:
3038
34
        return OFPERR_OFPFMFC_BAD_PRIORITY;
3039
487
    case  ((uint32_t) 5 << 16) | 10:
3040
487
        return OFPERR_OFPFMFC_IS_SYNC;
3041
66
    case (0x2320ULL << 32) |  ((uint32_t) 12 << 16) | 0:
3042
66
        return OFPERR_NXFMFC_HARDWARE;
3043
68
    case (0x2320ULL << 32) |  ((uint32_t) 13 << 16) | 0:
3044
68
        return OFPERR_NXFMFC_BAD_TABLE_ID;
3045
63
    case (0x2320ULL << 32) |  ((uint32_t) 37 << 16) | 0:
3046
63
        return OFPERR_NXFMFC_INVALID_TLV_FIELD;
3047
114
    case  ((uint32_t) 6 << 16) | 0:
3048
114
        return OFPERR_OFPGMFC_GROUP_EXISTS;
3049
1.95k
    case  ((uint32_t) 6 << 16) | 1:
3050
1.95k
        return OFPERR_OFPGMFC_INVALID_GROUP;
3051
176
    case  ((uint32_t) 6 << 16) | 2:
3052
176
        return OFPERR_OFPGMFC_WEIGHT_UNSUPPORTED;
3053
119
    case  ((uint32_t) 6 << 16) | 3:
3054
119
        return OFPERR_OFPGMFC_OUT_OF_GROUPS;
3055
1.05k
    case  ((uint32_t) 6 << 16) | 4:
3056
1.05k
        return OFPERR_OFPGMFC_OUT_OF_BUCKETS;
3057
197
    case  ((uint32_t) 6 << 16) | 5:
3058
197
        return OFPERR_OFPGMFC_CHAINING_UNSUPPORTED;
3059
68
    case  ((uint32_t) 6 << 16) | 6:
3060
68
        return OFPERR_OFPGMFC_WATCH_UNSUPPORTED;
3061
996
    case  ((uint32_t) 6 << 16) | 7:
3062
996
        return OFPERR_OFPGMFC_LOOP;
3063
312
    case  ((uint32_t) 6 << 16) | 8:
3064
312
        return OFPERR_OFPGMFC_UNKNOWN_GROUP;
3065
82
    case  ((uint32_t) 6 << 16) | 9:
3066
82
        return OFPERR_OFPGMFC_CHAINED_GROUP;
3067
66
    case  ((uint32_t) 6 << 16) | 10:
3068
66
        return OFPERR_OFPGMFC_BAD_TYPE;
3069
66
    case  ((uint32_t) 6 << 16) | 11:
3070
66
        return OFPERR_OFPGMFC_BAD_COMMAND;
3071
1.03k
    case  ((uint32_t) 6 << 16) | 12:
3072
1.03k
        return OFPERR_OFPGMFC_BAD_BUCKET;
3073
338
    case  ((uint32_t) 6 << 16) | 13:
3074
338
        return OFPERR_OFPGMFC_BAD_WATCH;
3075
67
    case  ((uint32_t) 6 << 16) | 14:
3076
67
        return OFPERR_OFPGMFC_EPERM;
3077
236
    case  ((uint32_t) 6 << 16) | 15:
3078
236
        return OFPERR_OFPGMFC_UNKNOWN_BUCKET;
3079
203
    case  ((uint32_t) 6 << 16) | 16:
3080
203
        return OFPERR_OFPGMFC_BUCKET_EXISTS;
3081
952
    case  ((uint32_t) 7 << 16) | 0:
3082
952
        return OFPERR_OFPPMFC_BAD_PORT;
3083
34
    case  ((uint32_t) 7 << 16) | 1:
3084
34
        return OFPERR_OFPPMFC_BAD_HW_ADDR;
3085
496
    case  ((uint32_t) 7 << 16) | 2:
3086
496
        return OFPERR_OFPPMFC_BAD_CONFIG;
3087
134
    case  ((uint32_t) 7 << 16) | 3:
3088
134
        return OFPERR_OFPPMFC_BAD_ADVERTISE;
3089
67
    case  ((uint32_t) 7 << 16) | 4:
3090
67
        return OFPERR_OFPPMFC_EPERM;
3091
1.00k
    case  ((uint32_t) 8 << 16) | 0:
3092
1.00k
        return OFPERR_OFPTMFC_BAD_TABLE;
3093
2.12k
    case  ((uint32_t) 8 << 16) | 1:
3094
2.12k
        return OFPERR_OFPTMFC_BAD_CONFIG;
3095
533
    case  ((uint32_t) 8 << 16) | 2:
3096
533
        return OFPERR_OFPTMFC_EPERM;
3097
370
    case  ((uint32_t) 9 << 16) | 0:
3098
370
        return OFPERR_OFPQOFC_BAD_PORT;
3099
238
    case  ((uint32_t) 9 << 16) | 1:
3100
238
        return OFPERR_OFPQOFC_BAD_QUEUE;
3101
202
    case  ((uint32_t) 9 << 16) | 2:
3102
202
        return OFPERR_OFPQOFC_EPERM;
3103
518
    case (0x2320ULL << 32) |  ((uint32_t) 23 << 16) | 0:
3104
518
        return OFPERR_NXQOFC_QUEUE_ERROR;
3105
101
    case  ((uint32_t) 10 << 16) | 0:
3106
101
        return OFPERR_OFPSCFC_BAD_FLAGS;
3107
66
    case  ((uint32_t) 10 << 16) | 1:
3108
66
        return OFPERR_OFPSCFC_BAD_LEN;
3109
196
    case  ((uint32_t) 10 << 16) | 2:
3110
196
        return OFPERR_OFPSCFC_EPERM;
3111
46
    case  ((uint32_t) 11 << 16) | 0:
3112
46
        return OFPERR_OFPRRFC_STALE;
3113
35
    case  ((uint32_t) 11 << 16) | 1:
3114
35
        return OFPERR_OFPRRFC_UNSUP;
3115
80
    case  ((uint32_t) 11 << 16) | 2:
3116
80
        return OFPERR_OFPRRFC_BAD_ROLE;
3117
266
    case  ((uint32_t) 11 << 16) | 3:
3118
266
        return OFPERR_OFPRRFC_ID_UNSUP;
3119
46
    case  ((uint32_t) 11 << 16) | 4:
3120
46
        return OFPERR_OFPRRFC_ID_IN_USE;
3121
70
    case  ((uint32_t) 12 << 16) | 0:
3122
70
        return OFPERR_OFPMMFC_UNKNOWN;
3123
346
    case  ((uint32_t) 12 << 16) | 1:
3124
346
        return OFPERR_OFPMMFC_METER_EXISTS;
3125
352
    case  ((uint32_t) 12 << 16) | 2:
3126
352
        return OFPERR_OFPMMFC_INVALID_METER;
3127
66
    case  ((uint32_t) 12 << 16) | 3:
3128
66
        return OFPERR_OFPMMFC_UNKNOWN_METER;
3129
4.89k
    case  ((uint32_t) 12 << 16) | 4:
3130
4.89k
        return OFPERR_OFPMMFC_BAD_COMMAND;
3131
1.57k
    case  ((uint32_t) 12 << 16) | 5:
3132
1.57k
        return OFPERR_OFPMMFC_BAD_FLAGS;
3133
208
    case  ((uint32_t) 12 << 16) | 6:
3134
208
        return OFPERR_OFPMMFC_BAD_RATE;
3135
70
    case  ((uint32_t) 12 << 16) | 7:
3136
70
        return OFPERR_OFPMMFC_BAD_BURST;
3137
201
    case  ((uint32_t) 12 << 16) | 8:
3138
201
        return OFPERR_OFPMMFC_BAD_BAND;
3139
238
    case  ((uint32_t) 12 << 16) | 9:
3140
238
        return OFPERR_OFPMMFC_BAD_BAND_VALUE;
3141
201
    case  ((uint32_t) 12 << 16) | 10:
3142
201
        return OFPERR_OFPMMFC_OUT_OF_METERS;
3143
1.26k
    case  ((uint32_t) 12 << 16) | 11:
3144
1.26k
        return OFPERR_OFPMMFC_OUT_OF_BANDS;
3145
291
    case  ((uint32_t) 13 << 16) | 0:
3146
291
        return OFPERR_OFPTFFC_BAD_TABLE;
3147
691
    case  ((uint32_t) 13 << 16) | 1:
3148
691
        return OFPERR_OFPTFFC_BAD_METADATA;
3149
1.81k
    case  ((uint32_t) 13 << 16) | 5:
3150
1.81k
        return OFPERR_OFPTFFC_EPERM;
3151
77
    case  ((uint32_t) 13 << 16) | 6:
3152
77
        return OFPERR_OFPTFFC_BAD_CAPA;
3153
44
    case  ((uint32_t) 13 << 16) | 7:
3154
44
        return OFPERR_OFPTFFC_BAD_MAX_ENT;
3155
70
    case  ((uint32_t) 13 << 16) | 8:
3156
70
        return OFPERR_OFPTFFC_BAD_FEATURES;
3157
39
    case  ((uint32_t) 13 << 16) | 9:
3158
39
        return OFPERR_OFPTFFC_BAD_COMMAND;
3159
34
    case  ((uint32_t) 13 << 16) | 10:
3160
34
        return OFPERR_OFPTFFC_TOO_MANY;
3161
94
    case (0x2320ULL << 32) |  ((uint32_t) 44 << 16) | 0:
3162
94
        return OFPERR_NXTFFC_DUP_TABLE;
3163
187
    case  ((uint32_t) 14 << 16) | 0:
3164
187
        return OFPERR_OFPBPC_BAD_TYPE;
3165
197
    case  ((uint32_t) 14 << 16) | 1:
3166
197
        return OFPERR_OFPBPC_BAD_LEN;
3167
68
    case  ((uint32_t) 14 << 16) | 2:
3168
68
        return OFPERR_OFPBPC_BAD_VALUE;
3169
66
    case  ((uint32_t) 14 << 16) | 3:
3170
66
        return OFPERR_OFPBPC_TOO_MANY;
3171
207
    case  ((uint32_t) 14 << 16) | 4:
3172
207
        return OFPERR_OFPBPC_DUP_TYPE;
3173
360
    case  ((uint32_t) 14 << 16) | 5:
3174
360
        return OFPERR_OFPBPC_BAD_EXPERIMENTER;
3175
71
    case  ((uint32_t) 14 << 16) | 6:
3176
71
        return OFPERR_OFPBPC_BAD_EXP_TYPE;
3177
66
    case  ((uint32_t) 14 << 16) | 7:
3178
66
        return OFPERR_OFPBPC_BAD_EXP_VALUE;
3179
158
    case  ((uint32_t) 14 << 16) | 8:
3180
158
        return OFPERR_OFPBPC_EPERM;
3181
198
    case  ((uint32_t) 15 << 16) | 0:
3182
198
        return OFPERR_OFPACFC_INVALID;
3183
70
    case  ((uint32_t) 15 << 16) | 1:
3184
70
        return OFPERR_OFPACFC_UNSUPPORTED;
3185
66
    case  ((uint32_t) 15 << 16) | 2:
3186
66
        return OFPERR_OFPACFC_EPERM;
3187
86
    case  ((uint32_t) 17 << 16) | 0:
3188
86
        return OFPERR_OFPBFC_UNKNOWN;
3189
207
    case  ((uint32_t) 17 << 16) | 1:
3190
207
        return OFPERR_OFPBFC_EPERM;
3191
74
    case  ((uint32_t) 17 << 16) | 2:
3192
74
        return OFPERR_OFPBFC_BAD_ID;
3193
68
    case  ((uint32_t) 17 << 16) | 3:
3194
68
        return OFPERR_OFPBFC_BUNDLE_EXIST;
3195
71
    case  ((uint32_t) 17 << 16) | 4:
3196
71
        return OFPERR_OFPBFC_BUNDLE_CLOSED;
3197
198
    case  ((uint32_t) 17 << 16) | 5:
3198
198
        return OFPERR_OFPBFC_OUT_OF_BUNDLES;
3199
79
    case  ((uint32_t) 17 << 16) | 6:
3200
79
        return OFPERR_OFPBFC_BAD_TYPE;
3201
1.09k
    case  ((uint32_t) 17 << 16) | 7:
3202
1.09k
        return OFPERR_OFPBFC_BAD_FLAGS;
3203
120
    case  ((uint32_t) 17 << 16) | 8:
3204
120
        return OFPERR_OFPBFC_MSG_BAD_LEN;
3205
940
    case  ((uint32_t) 17 << 16) | 9:
3206
940
        return OFPERR_OFPBFC_MSG_BAD_XID;
3207
68
    case  ((uint32_t) 17 << 16) | 10:
3208
68
        return OFPERR_OFPBFC_MSG_UNSUP;
3209
3.05k
    case  ((uint32_t) 17 << 16) | 11:
3210
3.05k
        return OFPERR_OFPBFC_MSG_CONFLICT;
3211
34
    case  ((uint32_t) 17 << 16) | 12:
3212
34
        return OFPERR_OFPBFC_MSG_TOO_MANY;
3213
175
    case  ((uint32_t) 17 << 16) | 13:
3214
175
        return OFPERR_OFPBFC_MSG_FAILED;
3215
259
    case  ((uint32_t) 17 << 16) | 14:
3216
259
        return OFPERR_OFPBFC_TIMEOUT;
3217
5.46k
    case  ((uint32_t) 17 << 16) | 15:
3218
5.46k
        return OFPERR_OFPBFC_BUNDLE_IN_PROGRESS;
3219
3.74k
    case  ((uint32_t) 17 << 16) | 16:
3220
3.74k
        return OFPERR_OFPBFC_SCHED_NOT_SUPPORTED;
3221
68
    case  ((uint32_t) 17 << 16) | 17:
3222
68
        return OFPERR_OFPBFC_SCHED_FUTURE;
3223
35
    case  ((uint32_t) 17 << 16) | 18:
3224
35
        return OFPERR_OFPBFC_SCHED_PAST;
3225
195
    case (0x2320ULL << 32) |  ((uint32_t) 22 << 16) | 0:
3226
195
        return OFPERR_OFPBFC_BAD_VERSION;
3227
44
    case  ((uint32_t) 16 << 16) | 0:
3228
44
        return OFPERR_OFPMOFC_UNKNOWN;
3229
450
    case  ((uint32_t) 16 << 16) | 1:
3230
450
        return OFPERR_OFPMOFC_MONITOR_EXISTS;
3231
114
    case  ((uint32_t) 16 << 16) | 2:
3232
114
        return OFPERR_OFPMOFC_INVALID_MONITOR;
3233
103
    case  ((uint32_t) 16 << 16) | 3:
3234
103
        return OFPERR_OFPMOFC_UNKNOWN_MONITOR;
3235
67
    case  ((uint32_t) 16 << 16) | 4:
3236
67
        return OFPERR_OFPMOFC_BAD_COMMAND;
3237
68
    case  ((uint32_t) 16 << 16) | 5:
3238
68
        return OFPERR_OFPMOFC_BAD_FLAGS;
3239
66
    case  ((uint32_t) 16 << 16) | 6:
3240
66
        return OFPERR_OFPMOFC_BAD_TABLE_ID;
3241
62
    case  ((uint32_t) 16 << 16) | 7:
3242
62
        return OFPERR_OFPMOFC_BAD_OUT;
3243
521
    case (0x2320ULL << 32) |  ((uint32_t) 16 << 16) | 0:
3244
521
        return OFPERR_NXTTMFC_BAD_COMMAND;
3245
67
    case (0x2320ULL << 32) |  ((uint32_t) 17 << 16) | 0:
3246
67
        return OFPERR_NXTTMFC_BAD_OPT_LEN;
3247
70
    case (0x2320ULL << 32) |  ((uint32_t) 18 << 16) | 0:
3248
70
        return OFPERR_NXTTMFC_BAD_FIELD_IDX;
3249
49
    case (0x2320ULL << 32) |  ((uint32_t) 19 << 16) | 0:
3250
49
        return OFPERR_NXTTMFC_TABLE_FULL;
3251
66
    case (0x2320ULL << 32) |  ((uint32_t) 20 << 16) | 0:
3252
66
        return OFPERR_NXTTMFC_ALREADY_MAPPED;
3253
259
    case (0x2320ULL << 32) |  ((uint32_t) 21 << 16) | 0:
3254
259
        return OFPERR_NXTTMFC_DUP_ENTRY;
3255
72
    case (0x2320ULL << 32) |  ((uint32_t) 38 << 16) | 0:
3256
72
        return OFPERR_NXTTMFC_INVALID_TLV_DEL;
3257
77
    case (0x2320ULL << 32) |  ((uint32_t) 34 << 16) | 0:
3258
77
        return OFPERR_NXR_NOT_SUPPORTED;
3259
965
    case (0x2320ULL << 32) |  ((uint32_t) 35 << 16) | 0:
3260
965
        return OFPERR_NXR_STALE;
3261
585
    case (0x2320ULL << 32) |  ((uint32_t) 36 << 16) | 0:
3262
585
        return OFPERR_NXST_NOT_CONFIGURED;
3263
133k
    }
3264
3265
28.3k
    return 0;
3266
133k
}
3267
3268
static const struct ofperr_domain ofperr_of15 = {
3269
    "OpenFlow 1.5",
3270
    6,
3271
    ofperr_of15_decode,
3272
    {
3273
        {      0x0,  0,   0 }, /* OFPHFC_INCOMPATIBLE */
3274
        {      0x0,  0,   1 }, /* OFPHFC_EPERM */
3275
        {      0x0,  1,   0 }, /* OFPBRC_BAD_VERSION */
3276
        {      0x0,  1,   1 }, /* OFPBRC_BAD_TYPE */
3277
        {      0x0,  1,   2 }, /* OFPBRC_BAD_STAT */
3278
        {      0x0,  1,   3 }, /* OFPBRC_BAD_VENDOR */
3279
        {      0x0,  1,   4 }, /* OFPBRC_BAD_SUBTYPE */
3280
        {      0x0,  1,   5 }, /* OFPBRC_EPERM */
3281
        {      0x0,  1,   6 }, /* OFPBRC_BAD_LEN */
3282
        {      0x0,  1,   7 }, /* OFPBRC_BUFFER_EMPTY */
3283
        {      0x0,  1,   8 }, /* OFPBRC_BUFFER_UNKNOWN */
3284
        {      0x0,  1,   9 }, /* OFPBRC_BAD_TABLE_ID */
3285
        {      0x0,  1,  10 }, /* OFPBRC_IS_SECONDARY */
3286
        {      0x0,  1,  11 }, /* OFPBRC_BAD_PORT */
3287
        {      0x0,  1,  12 }, /* OFPBRC_BAD_PACKET */
3288
        {      0x0,  1,  13 }, /* OFPBRC_MULTIPART_BUFFER_OVERFLOW */
3289
        {      0x0,  1,  14 }, /* OFPBRC_MULTIPART_REQUEST_TIMEOUT */
3290
        {      0x0,  1,  15 }, /* OFPBRC_MULTIPART_REPLY_TIMEOUT */
3291
        {      0x0,  1,  16 }, /* OFPBRC_MULTIPART_BAD_SCHED */
3292
        {      0x0,  1,  17 }, /* OFPBRC_PIPELINE_FIELDS_ONLY */
3293
        {      0x0,  1,  18 }, /* OFPBRC_UNKNOWN */
3294
        {   0x2320,  2,   0 }, /* NXBRC_NXM_INVALID */
3295
        {   0x2320,  3,   0 }, /* NXBRC_NXM_BAD_TYPE */
3296
        {   0x2320,  4,   0 }, /* NXBRC_MUST_BE_ZERO */
3297
        {   0x2320,  5,   0 }, /* NXBRC_BAD_REASON */
3298
        {   0x2320,  9,   0 }, /* NXBRC_FM_BAD_EVENT */
3299
        {   0x2320, 10,   0 }, /* NXBRC_UNENCODABLE_ERROR */
3300
        {      0x0,  2,   0 }, /* OFPBAC_BAD_TYPE */
3301
        {      0x0,  2,   1 }, /* OFPBAC_BAD_LEN */
3302
        {      0x0,  2,   2 }, /* OFPBAC_BAD_VENDOR */
3303
        {      0x0,  2,   3 }, /* OFPBAC_BAD_VENDOR_TYPE */
3304
        {      0x0,  2,   4 }, /* OFPBAC_BAD_OUT_PORT */
3305
        {      0x0,  2,   5 }, /* OFPBAC_BAD_ARGUMENT */
3306
        {      0x0,  2,   6 }, /* OFPBAC_EPERM */
3307
        {      0x0,  2,   7 }, /* OFPBAC_TOO_MANY */
3308
        {      0x0,  2,   8 }, /* OFPBAC_BAD_QUEUE */
3309
        {      0x0,  2,   9 }, /* OFPBAC_BAD_OUT_GROUP */
3310
        {      0x0,  2,  10 }, /* OFPBAC_MATCH_INCONSISTENT */
3311
        {      0x0,  2,  11 }, /* OFPBAC_UNSUPPORTED_ORDER */
3312
        {      0x0,  2,  12 }, /* OFPBAC_BAD_TAG */
3313
        {      0x0,  2,  13 }, /* OFPBAC_BAD_SET_TYPE */
3314
        {      0x0,  2,  14 }, /* OFPBAC_BAD_SET_LEN */
3315
        {      0x0,  2,  15 }, /* OFPBAC_BAD_SET_ARGUMENT */
3316
        {      0x0,  2,  16 }, /* OFPBAC_BAD_SET_MASK */
3317
        {      0x0,  2,  17 }, /* OFPBAC_BAD_METER */
3318
        {   0x2320, 11,   0 }, /* NXBAC_MUST_BE_ZERO */
3319
        {   0x2320, 15,   0 }, /* NXBAC_BAD_CONJUNCTION */
3320
        {   0x2320, 39,   0 }, /* NXBAC_BAD_HEADER_TYPE */
3321
        {   0x2320, 40,   0 }, /* NXBAC_UNKNOWN_ED_PROP */
3322
        {   0x2320, 41,   0 }, /* NXBAC_BAD_ED_PROP */
3323
        {   0x2320, 42,   0 }, /* NXBAC_CT_DATAPATH_SUPPORT */
3324
        {      0x0,  3,   0 }, /* OFPBIC_UNKNOWN_INST */
3325
        {      0x0,  3,   1 }, /* OFPBIC_UNSUP_INST */
3326
        {      0x0,  3,   2 }, /* OFPBIC_BAD_TABLE_ID */
3327
        {      0x0,  3,   3 }, /* OFPBIC_UNSUP_METADATA */
3328
        {      0x0,  3,   4 }, /* OFPBIC_UNSUP_METADATA_MASK */
3329
        {      0x0,  3,   5 }, /* OFPBIC_BAD_EXPERIMENTER */
3330
        {      0x0,  3,   6 }, /* OFPBIC_BAD_EXP_TYPE */
3331
        {      0x0,  3,   7 }, /* OFPBIC_BAD_LEN */
3332
        {      0x0,  3,   8 }, /* OFPBIC_EPERM */
3333
        {      0x0,  3,   9 }, /* OFPBIC_DUP_INST */
3334
        {      0x0,  4,   0 }, /* OFPBMC_BAD_TYPE */
3335
        {      0x0,  4,   1 }, /* OFPBMC_BAD_LEN */
3336
        {      0x0,  4,   2 }, /* OFPBMC_BAD_TAG */
3337
        {      0x0,  4,   3 }, /* OFPBMC_BAD_DL_ADDR_MASK */
3338
        {      0x0,  4,   4 }, /* OFPBMC_BAD_NW_ADDR_MASK */
3339
        {      0x0,  4,   5 }, /* OFPBMC_BAD_WILDCARDS */
3340
        {      0x0,  4,   6 }, /* OFPBMC_BAD_FIELD */
3341
        {      0x0,  4,   7 }, /* OFPBMC_BAD_VALUE */
3342
        {      0x0,  4,   8 }, /* OFPBMC_BAD_MASK */
3343
        {      0x0,  4,   9 }, /* OFPBMC_BAD_PREREQ */
3344
        {      0x0,  4,  10 }, /* OFPBMC_DUP_FIELD */
3345
        {      0x0,  4,  11 }, /* OFPBMC_EPERM */
3346
        {   0x2320, 43,   0 }, /* NXBMC_CT_DATAPATH_SUPPORT */
3347
        {      0x0,  5,   0 }, /* OFPFMFC_UNKNOWN */
3348
        {      0x0,  5,   1 }, /* OFPFMFC_TABLE_FULL */
3349
        {      0x0,  5,   2 }, /* OFPFMFC_BAD_TABLE_ID */
3350
        {      0x0,  5,   3 }, /* OFPFMFC_OVERLAP */
3351
        {      0x0,  5,   4 }, /* OFPFMFC_EPERM */
3352
        {      0x0,  5,   5 }, /* OFPFMFC_BAD_TIMEOUT */
3353
        {       -1, -1,  -1 }, /* OFPFMFC_BAD_EMERG_TIMEOUT */
3354
        {      0x0,  5,   6 }, /* OFPFMFC_BAD_COMMAND */
3355
        {      0x0,  5,   7 }, /* OFPFMFC_BAD_FLAGS */
3356
        {      0x0,  5,   8 }, /* OFPFMFC_CANT_SYNC */
3357
        {      0x0,  5,   9 }, /* OFPFMFC_BAD_PRIORITY */
3358
        {      0x0,  5,  10 }, /* OFPFMFC_IS_SYNC */
3359
        {       -1, -1,  -1 }, /* OFPFMFC_UNSUPPORTED */
3360
        {   0x2320, 12,   0 }, /* NXFMFC_HARDWARE */
3361
        {   0x2320, 13,   0 }, /* NXFMFC_BAD_TABLE_ID */
3362
        {   0x2320, 37,   0 }, /* NXFMFC_INVALID_TLV_FIELD */
3363
        {      0x0,  6,   0 }, /* OFPGMFC_GROUP_EXISTS */
3364
        {      0x0,  6,   1 }, /* OFPGMFC_INVALID_GROUP */
3365
        {      0x0,  6,   2 }, /* OFPGMFC_WEIGHT_UNSUPPORTED */
3366
        {      0x0,  6,   3 }, /* OFPGMFC_OUT_OF_GROUPS */
3367
        {      0x0,  6,   4 }, /* OFPGMFC_OUT_OF_BUCKETS */
3368
        {      0x0,  6,   5 }, /* OFPGMFC_CHAINING_UNSUPPORTED */
3369
        {      0x0,  6,   6 }, /* OFPGMFC_WATCH_UNSUPPORTED */
3370
        {      0x0,  6,   7 }, /* OFPGMFC_LOOP */
3371
        {      0x0,  6,   8 }, /* OFPGMFC_UNKNOWN_GROUP */
3372
        {      0x0,  6,   9 }, /* OFPGMFC_CHAINED_GROUP */
3373
        {      0x0,  6,  10 }, /* OFPGMFC_BAD_TYPE */
3374
        {      0x0,  6,  11 }, /* OFPGMFC_BAD_COMMAND */
3375
        {      0x0,  6,  12 }, /* OFPGMFC_BAD_BUCKET */
3376
        {      0x0,  6,  13 }, /* OFPGMFC_BAD_WATCH */
3377
        {      0x0,  6,  14 }, /* OFPGMFC_EPERM */
3378
        {      0x0,  6,  15 }, /* OFPGMFC_UNKNOWN_BUCKET */
3379
        {      0x0,  6,  16 }, /* OFPGMFC_BUCKET_EXISTS */
3380
        {      0x0,  7,   0 }, /* OFPPMFC_BAD_PORT */
3381
        {      0x0,  7,   1 }, /* OFPPMFC_BAD_HW_ADDR */
3382
        {      0x0,  7,   2 }, /* OFPPMFC_BAD_CONFIG */
3383
        {      0x0,  7,   3 }, /* OFPPMFC_BAD_ADVERTISE */
3384
        {      0x0,  7,   4 }, /* OFPPMFC_EPERM */
3385
        {      0x0,  8,   0 }, /* OFPTMFC_BAD_TABLE */
3386
        {      0x0,  8,   1 }, /* OFPTMFC_BAD_CONFIG */
3387
        {      0x0,  8,   2 }, /* OFPTMFC_EPERM */
3388
        {      0x0,  9,   0 }, /* OFPQOFC_BAD_PORT */
3389
        {      0x0,  9,   1 }, /* OFPQOFC_BAD_QUEUE */
3390
        {      0x0,  9,   2 }, /* OFPQOFC_EPERM */
3391
        {   0x2320, 23,   0 }, /* NXQOFC_QUEUE_ERROR */
3392
        {      0x0, 10,   0 }, /* OFPSCFC_BAD_FLAGS */
3393
        {      0x0, 10,   1 }, /* OFPSCFC_BAD_LEN */
3394
        {      0x0, 10,   2 }, /* OFPSCFC_EPERM */
3395
        {      0x0, 11,   0 }, /* OFPRRFC_STALE */
3396
        {      0x0, 11,   1 }, /* OFPRRFC_UNSUP */
3397
        {      0x0, 11,   2 }, /* OFPRRFC_BAD_ROLE */
3398
        {      0x0, 11,   3 }, /* OFPRRFC_ID_UNSUP */
3399
        {      0x0, 11,   4 }, /* OFPRRFC_ID_IN_USE */
3400
        {      0x0, 12,   0 }, /* OFPMMFC_UNKNOWN */
3401
        {      0x0, 12,   1 }, /* OFPMMFC_METER_EXISTS */
3402
        {      0x0, 12,   2 }, /* OFPMMFC_INVALID_METER */
3403
        {      0x0, 12,   3 }, /* OFPMMFC_UNKNOWN_METER */
3404
        {      0x0, 12,   4 }, /* OFPMMFC_BAD_COMMAND */
3405
        {      0x0, 12,   5 }, /* OFPMMFC_BAD_FLAGS */
3406
        {      0x0, 12,   6 }, /* OFPMMFC_BAD_RATE */
3407
        {      0x0, 12,   7 }, /* OFPMMFC_BAD_BURST */
3408
        {      0x0, 12,   8 }, /* OFPMMFC_BAD_BAND */
3409
        {      0x0, 12,   9 }, /* OFPMMFC_BAD_BAND_VALUE */
3410
        {      0x0, 12,  10 }, /* OFPMMFC_OUT_OF_METERS */
3411
        {      0x0, 12,  11 }, /* OFPMMFC_OUT_OF_BANDS */
3412
        {      0x0, 13,   0 }, /* OFPTFFC_BAD_TABLE */
3413
        {      0x0, 13,   1 }, /* OFPTFFC_BAD_METADATA */
3414
        {      0x0, 13,   5 }, /* OFPTFFC_EPERM */
3415
        {      0x0, 13,   6 }, /* OFPTFFC_BAD_CAPA */
3416
        {      0x0, 13,   7 }, /* OFPTFFC_BAD_MAX_ENT */
3417
        {      0x0, 13,   8 }, /* OFPTFFC_BAD_FEATURES */
3418
        {      0x0, 13,   9 }, /* OFPTFFC_BAD_COMMAND */
3419
        {      0x0, 13,  10 }, /* OFPTFFC_TOO_MANY */
3420
        {   0x2320, 44,   0 }, /* NXTFFC_DUP_TABLE */
3421
        {      0x0, 14,   0 }, /* OFPBPC_BAD_TYPE */
3422
        {      0x0, 14,   1 }, /* OFPBPC_BAD_LEN */
3423
        {      0x0, 14,   2 }, /* OFPBPC_BAD_VALUE */
3424
        {      0x0, 14,   3 }, /* OFPBPC_TOO_MANY */
3425
        {      0x0, 14,   4 }, /* OFPBPC_DUP_TYPE */
3426
        {      0x0, 14,   5 }, /* OFPBPC_BAD_EXPERIMENTER */
3427
        {      0x0, 14,   6 }, /* OFPBPC_BAD_EXP_TYPE */
3428
        {      0x0, 14,   7 }, /* OFPBPC_BAD_EXP_VALUE */
3429
        {      0x0, 14,   8 }, /* OFPBPC_EPERM */
3430
        {      0x0, 15,   0 }, /* OFPACFC_INVALID */
3431
        {      0x0, 15,   1 }, /* OFPACFC_UNSUPPORTED */
3432
        {      0x0, 15,   2 }, /* OFPACFC_EPERM */
3433
        {      0x0, 17,   0 }, /* OFPBFC_UNKNOWN */
3434
        {      0x0, 17,   1 }, /* OFPBFC_EPERM */
3435
        {      0x0, 17,   2 }, /* OFPBFC_BAD_ID */
3436
        {      0x0, 17,   3 }, /* OFPBFC_BUNDLE_EXIST */
3437
        {      0x0, 17,   4 }, /* OFPBFC_BUNDLE_CLOSED */
3438
        {      0x0, 17,   5 }, /* OFPBFC_OUT_OF_BUNDLES */
3439
        {      0x0, 17,   6 }, /* OFPBFC_BAD_TYPE */
3440
        {      0x0, 17,   7 }, /* OFPBFC_BAD_FLAGS */
3441
        {      0x0, 17,   8 }, /* OFPBFC_MSG_BAD_LEN */
3442
        {      0x0, 17,   9 }, /* OFPBFC_MSG_BAD_XID */
3443
        {      0x0, 17,  10 }, /* OFPBFC_MSG_UNSUP */
3444
        {      0x0, 17,  11 }, /* OFPBFC_MSG_CONFLICT */
3445
        {      0x0, 17,  12 }, /* OFPBFC_MSG_TOO_MANY */
3446
        {      0x0, 17,  13 }, /* OFPBFC_MSG_FAILED */
3447
        {      0x0, 17,  14 }, /* OFPBFC_TIMEOUT */
3448
        {      0x0, 17,  15 }, /* OFPBFC_BUNDLE_IN_PROGRESS */
3449
        {      0x0, 17,  16 }, /* OFPBFC_SCHED_NOT_SUPPORTED */
3450
        {      0x0, 17,  17 }, /* OFPBFC_SCHED_FUTURE */
3451
        {      0x0, 17,  18 }, /* OFPBFC_SCHED_PAST */
3452
        {   0x2320, 22,   0 }, /* OFPBFC_BAD_VERSION */
3453
        {      0x0, 16,   0 }, /* OFPMOFC_UNKNOWN */
3454
        {      0x0, 16,   1 }, /* OFPMOFC_MONITOR_EXISTS */
3455
        {      0x0, 16,   2 }, /* OFPMOFC_INVALID_MONITOR */
3456
        {      0x0, 16,   3 }, /* OFPMOFC_UNKNOWN_MONITOR */
3457
        {      0x0, 16,   4 }, /* OFPMOFC_BAD_COMMAND */
3458
        {      0x0, 16,   5 }, /* OFPMOFC_BAD_FLAGS */
3459
        {      0x0, 16,   6 }, /* OFPMOFC_BAD_TABLE_ID */
3460
        {      0x0, 16,   7 }, /* OFPMOFC_BAD_OUT */
3461
        {   0x2320, 16,   0 }, /* NXTTMFC_BAD_COMMAND */
3462
        {   0x2320, 17,   0 }, /* NXTTMFC_BAD_OPT_LEN */
3463
        {   0x2320, 18,   0 }, /* NXTTMFC_BAD_FIELD_IDX */
3464
        {   0x2320, 19,   0 }, /* NXTTMFC_TABLE_FULL */
3465
        {   0x2320, 20,   0 }, /* NXTTMFC_ALREADY_MAPPED */
3466
        {   0x2320, 21,   0 }, /* NXTTMFC_DUP_ENTRY */
3467
        {   0x2320, 38,   0 }, /* NXTTMFC_INVALID_TLV_DEL */
3468
        {   0x2320, 34,   0 }, /* NXR_NOT_SUPPORTED */
3469
        {   0x2320, 35,   0 }, /* NXR_STALE */
3470
        {   0x2320, 36,   0 }, /* NXST_NOT_CONFIGURED */
3471
    },
3472
};