Message ID | 20180208231849.31519-3-blp@ovn.org |
---|---|
State | Accepted |
Headers | show |
Series | [ovs-dev,1/4] Implement OF1.3 extension for OF1.4 role status feature. | expand |
On Thu, Feb 8, 2018 at 3:18 PM, Ben Pfaff <blp@ovn.org> wrote: > Also implements the backports of relevant errors to OF1.3 as specified in > ONF extension pack 1 for OF1.3. > > ONF-JIRA: EXT-237 > ONF-JIRA: EXT-230 > ONF-JIRA: EXT-264 > Signed-off-by: Ben Pfaff <blp@ovn.org> > --- Looks good to me. Acked-by: William Tu <u9012063@gmail.com> > Documentation/topics/openflow.rst | 20 --------- > include/openvswitch/ofp-errors.h | 88 ++++++++++++++++++++++++++++++++------- > 2 files changed, 73 insertions(+), 35 deletions(-) > > diff --git a/Documentation/topics/openflow.rst b/Documentation/topics/openflow.rst > index 381f94d9c22c..ea5a4450687d 100644 > --- a/Documentation/topics/openflow.rst > +++ b/Documentation/topics/openflow.rst > @@ -205,20 +205,6 @@ in OVS. > > (optional for OF1.4+) > > -* Bad flow entry priority error > - > - Probably not so useful to the software switch. > - > - (EXT-236) > - > - (optional for OF1.4+) > - > -* Set async config error > - > - (EXT-237) > - > - (optional for OF1.4+) > - > * PBB UCA header field > > See comment on Provider Backbone Bridge in section about OpenFlow 1.3. > @@ -227,12 +213,6 @@ in OVS. > > (optional for OF1.4+) > > -* Multipart timeout error > - > - (EXT-264) > - > - (required for OF1.4+) > - > OpenFlow 1.4 only > ----------------- > > diff --git a/include/openvswitch/ofp-errors.h b/include/openvswitch/ofp-errors.h > index 283b9af40248..6542f10b46fd 100644 > --- a/include/openvswitch/ofp-errors.h > +++ b/include/openvswitch/ofp-errors.h > @@ -169,10 +169,10 @@ enum ofperr { > /* OF1.0-1.1(1,5), OF1.2+(1,10). Denied because controller is slave. */ > OFPERR_OFPBRC_IS_SLAVE, > > - /* NX1.0-1.1(1,514), OF1.2+(1,11). Invalid port. [ A non-standard error > - * (1,514), formerly OFPERR_NXBRC_BAD_IN_PORT is used for OpenFlow 1.0 and > - * 1.1 as there seems to be no appropriate error code defined the > - * specifications. ] */ > + /* NX1.0-1.1(1,514), OF1.2+(1,11). Invalid or missing port. [ A > + * non-standard error (1,514), formerly OFPERR_NXBRC_BAD_IN_PORT is used > + * for OpenFlow 1.0 and 1.1 as there seems to be no appropriate error code > + * defined the specifications. ] */ > OFPERR_OFPBRC_BAD_PORT, > > /* OF1.2+(1,12). Invalid packet in packet-out. */ > @@ -181,9 +181,22 @@ enum ofperr { > /* OF1.3+(1,13). Multipart request overflowed the assigned buffer. */ > OFPERR_OFPBRC_MULTIPART_BUFFER_OVERFLOW, > > + /* ONF1.3(2640), OF1.4+(1,14). Timeout during multipart request. */ > + OFPERR_OFPBRC_MULTIPART_REQUEST_TIMEOUT, > + > + /* ONF1.3(2641), OF1.4+(1,15). Timeout during multipart reply. */ > + OFPERR_OFPBRC_MULTIPART_REPLY_TIMEOUT, > + > + /* OF1.5+(1,16). Switch received a OFPMP_BUNDLE_FEATURES request and > + * failed to update the scheduling tolerance. */ > + OFPERR_OFPBRC_MULTIPART_BAD_SCHED, > + > /* OF1.5+(1,17). Match fields must include only pipeline fields. */ > OFPERR_OFPBRC_PIPELINE_FIELDS_ONLY, > > + /* OF1.5+(1,18). Unspecified error. */ > + OFPERR_OFPBRC_UNKNOWN, > + > /* NX1.0-1.1(1,256), NX1.2+(2). Invalid NXM flow match. */ > OFPERR_NXBRC_NXM_INVALID, > > @@ -212,7 +225,7 @@ enum ofperr { > /* ## OFPET_BAD_ACTION ## */ > /* ## ---------------- ## */ > > - /* OF1.0+(2,0). Unknown action type. */ > + /* OF1.0+(2,0). Unknown or unsupported action type. */ > OFPERR_OFPBAC_BAD_TYPE, > > /* OF1.0+(2,1). Length problem in actions. */ > @@ -239,7 +252,7 @@ enum ofperr { > /* OF1.0+(2,8). Problem validating output queue. */ > OFPERR_OFPBAC_BAD_QUEUE, > > - /* OF1.1+(2,9). Invalid group id in forward action. */ > + /* OF1.1+(2,9). Invalid group id in output action. */ > OFPERR_OFPBAC_BAD_OUT_GROUP, > > /* NX1.0(1,522), OF1.1+(2,10). Action can't apply for this match or a > @@ -269,6 +282,9 @@ enum ofperr { > * bit set to 1. */ > OFPERR_OFPBAC_BAD_SET_MASK, > > + /* OF1.5+(2,17). Invalid meter id in meter action. */ > + OFPERR_OFPBAC_BAD_METER, > + > /* NX1.0-1.1(2,256), NX1.2+(11). Must-be-zero action argument had nonzero > * value. */ > OFPERR_NXBAC_MUST_BE_ZERO, > @@ -360,8 +376,8 @@ enum ofperr { > * field. */ > OFPERR_OFPBMC_BAD_VALUE, > > - /* NX1.0-1.1(1,259), OF1.2+(4,8). Unsupported mask specified in the match, > - * field is not dl-address or nw-address. */ > + /* NX1.0-1.1(1,259), OF1.2+(4,8). Unsupported mask specified in the > + * match. */ > OFPERR_OFPBMC_BAD_MASK, > > /* NX1.0-1.1(1,260), OF1.2+(4,9). A prerequisite was not met. */ > @@ -413,6 +429,15 @@ enum ofperr { > * flags. */ > OFPERR_OFPFMFC_BAD_FLAGS, > > + /* OF1.4+(5,8). Problem in table synchronization. */ > + OFPERR_OFPFMFC_CANT_SYNC, > + > + /* ONF1.3(2360), OF1.4+(5,9). Unsupported priority value. */ > + OFPERR_OFPFMFC_BAD_PRIORITY, > + > + /* OF1.4+(5,10). Synchronized flow entry is read only. */ > + OFPERR_OFPFMFC_IS_SYNC, > + > /* OF1.0(3,5). Unsupported action list - cannot process in the order > * specified. */ > OFPERR_OFPFMFC_UNSUPPORTED, > @@ -567,6 +592,12 @@ enum ofperr { > /* NX1.0-1.1(1,513), OF1.2+(11,2). Invalid role. */ > OFPERR_OFPRRFC_BAD_ROLE, > > + /* OF1.5+(11,3). Switch doesn't support changing ID. */ > + OFPERR_OFPRRFC_ID_UNSUP, > + > + /* OF1.5+(11,4). Requested ID is in use. */ > + OFPERR_OFPRRFC_ID_IN_USE, > + > /* ## ---------------------- ## */ > /* ## OFPET_METER_MOD_FAILED ## */ > /* ## ---------------------- ## */ > @@ -578,11 +609,12 @@ enum ofperr { > * replace an existing Meter. */ > OFPERR_OFPMMFC_METER_EXISTS, > > - /* OF1.3+(12,2). Meter not added because Meter specified is invalid. */ > + /* OF1.3+(12,2). Meter not added because meter specified is invalid, or > + * invalid meter in meter action. */ > OFPERR_OFPMMFC_INVALID_METER, > > /* OF1.3+(12,3). Meter not modified because a Meter MODIFY attempted > - * to modify a non-existent Meter. */ > + * to modify a non-existent meter, or bad meter in meter action. */ > OFPERR_OFPMMFC_UNKNOWN_METER, > > /* OF1.3+(12,4). Unsupported or unknown command. */ > @@ -623,12 +655,28 @@ enum ofperr { > /* OF1.3+(13,5). Permissions error. */ > OFPERR_OFPTFFC_EPERM, > > + /* OF1.5+(13,6). Invalid capability field. */ > + OFPERR_OFPTFFC_BAD_CAPA, > + > + /* OF1.5+(13,7). Invalid max_entries field. */ > + OFPERR_OFPTFFC_BAD_MAX_ENT, > + > + /* OF1.5+(13,8). Invalid features field. */ > + OFPERR_OFPTFFC_BAD_FEATURES, > + > + /* OF1.5+(13,9). Invalid command. */ > + OFPERR_OFPTFFC_BAD_COMMAND, > + > + /* OF1.5+(13,10). Can't handle this many flow tables. */ > + OFPERR_OFPTFFC_TOO_MANY, > + > + > /* ## ------------------ ## */ > /* ## OFPET_BAD_PROPERTY ## */ > /* ## ------------------ ## */ > > - /* NX1.0-1.1(13,2), NX1.2(25), OF1.3(13,2), OF1.4+(14,0). Unknown property > - * type. > + /* NX1.0-1.1(13,2), NX1.2(25), OF1.3(13,2), OF1.4+(14,0). Unknown or > + * unsupported property type. > * > * [Known as OFPTFFC_BAD_TYPE in OF1.3.] */ > OFPERR_OFPBPC_BAD_TYPE, > @@ -673,13 +721,13 @@ enum ofperr { > /* ## OFPET_ASYNC_CONFIG_FAILED ## */ > /* ## -------------------------- ## */ > > - /* OF1.4+(15,0). One mask is invalid. */ > + /* ONF1.3(2370), OF1.4+(15,0). One mask is invalid. */ > OFPERR_OFPACFC_INVALID, > > - /* OF1.4+(15,1). Requested configuration not supported. */ > + /* ONF1.3(2371), OF1.4+(15,1). Requested configuration not supported. */ > OFPERR_OFPACFC_UNSUPPORTED, > > - /* OF1.4+(15,2). Permissions error. */ > + /* ONF1.3(2372), OF1.4+(15,2). Permissions error. */ > OFPERR_OFPACFC_EPERM, > > /* ## -------------------- ## */ > @@ -738,6 +786,16 @@ enum ofperr { > /* ONF1.3(2315), OF1.4+(17,15). Bundle is locking the resource. */ > OFPERR_OFPBFC_BUNDLE_IN_PROGRESS, > > + /* OF1.5+(17,16). Scheduled commit was received and scheduling is not > + * supported. */ > + OFPERR_OFPBFC_SCHED_NOT_SUPPORTED, > + > + /* OF1.5+(17,17). Scheduled commit time exceeds upper bound. */ > + OFPERR_OFPBFC_SCHED_FUTURE, > + > + /* OF1.5+(17,18). Scheduled commit time exceeds lower bound. */ > + OFPERR_OFPBFC_SCHED_PAST, > + > /* NX1.4-1.5(22), OF1.6+(17,19). In an OFPT_BUNDLE_ADD_MESSAGE, the > * OpenFlow version in the inner and outer messages differ. */ > OFPERR_OFPBFC_BAD_VERSION, > -- > 2.15.1 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
diff --git a/Documentation/topics/openflow.rst b/Documentation/topics/openflow.rst index 381f94d9c22c..ea5a4450687d 100644 --- a/Documentation/topics/openflow.rst +++ b/Documentation/topics/openflow.rst @@ -205,20 +205,6 @@ in OVS. (optional for OF1.4+) -* Bad flow entry priority error - - Probably not so useful to the software switch. - - (EXT-236) - - (optional for OF1.4+) - -* Set async config error - - (EXT-237) - - (optional for OF1.4+) - * PBB UCA header field See comment on Provider Backbone Bridge in section about OpenFlow 1.3. @@ -227,12 +213,6 @@ in OVS. (optional for OF1.4+) -* Multipart timeout error - - (EXT-264) - - (required for OF1.4+) - OpenFlow 1.4 only ----------------- diff --git a/include/openvswitch/ofp-errors.h b/include/openvswitch/ofp-errors.h index 283b9af40248..6542f10b46fd 100644 --- a/include/openvswitch/ofp-errors.h +++ b/include/openvswitch/ofp-errors.h @@ -169,10 +169,10 @@ enum ofperr { /* OF1.0-1.1(1,5), OF1.2+(1,10). Denied because controller is slave. */ OFPERR_OFPBRC_IS_SLAVE, - /* NX1.0-1.1(1,514), OF1.2+(1,11). Invalid port. [ A non-standard error - * (1,514), formerly OFPERR_NXBRC_BAD_IN_PORT is used for OpenFlow 1.0 and - * 1.1 as there seems to be no appropriate error code defined the - * specifications. ] */ + /* NX1.0-1.1(1,514), OF1.2+(1,11). Invalid or missing port. [ A + * non-standard error (1,514), formerly OFPERR_NXBRC_BAD_IN_PORT is used + * for OpenFlow 1.0 and 1.1 as there seems to be no appropriate error code + * defined the specifications. ] */ OFPERR_OFPBRC_BAD_PORT, /* OF1.2+(1,12). Invalid packet in packet-out. */ @@ -181,9 +181,22 @@ enum ofperr { /* OF1.3+(1,13). Multipart request overflowed the assigned buffer. */ OFPERR_OFPBRC_MULTIPART_BUFFER_OVERFLOW, + /* ONF1.3(2640), OF1.4+(1,14). Timeout during multipart request. */ + OFPERR_OFPBRC_MULTIPART_REQUEST_TIMEOUT, + + /* ONF1.3(2641), OF1.4+(1,15). Timeout during multipart reply. */ + OFPERR_OFPBRC_MULTIPART_REPLY_TIMEOUT, + + /* OF1.5+(1,16). Switch received a OFPMP_BUNDLE_FEATURES request and + * failed to update the scheduling tolerance. */ + OFPERR_OFPBRC_MULTIPART_BAD_SCHED, + /* OF1.5+(1,17). Match fields must include only pipeline fields. */ OFPERR_OFPBRC_PIPELINE_FIELDS_ONLY, + /* OF1.5+(1,18). Unspecified error. */ + OFPERR_OFPBRC_UNKNOWN, + /* NX1.0-1.1(1,256), NX1.2+(2). Invalid NXM flow match. */ OFPERR_NXBRC_NXM_INVALID, @@ -212,7 +225,7 @@ enum ofperr { /* ## OFPET_BAD_ACTION ## */ /* ## ---------------- ## */ - /* OF1.0+(2,0). Unknown action type. */ + /* OF1.0+(2,0). Unknown or unsupported action type. */ OFPERR_OFPBAC_BAD_TYPE, /* OF1.0+(2,1). Length problem in actions. */ @@ -239,7 +252,7 @@ enum ofperr { /* OF1.0+(2,8). Problem validating output queue. */ OFPERR_OFPBAC_BAD_QUEUE, - /* OF1.1+(2,9). Invalid group id in forward action. */ + /* OF1.1+(2,9). Invalid group id in output action. */ OFPERR_OFPBAC_BAD_OUT_GROUP, /* NX1.0(1,522), OF1.1+(2,10). Action can't apply for this match or a @@ -269,6 +282,9 @@ enum ofperr { * bit set to 1. */ OFPERR_OFPBAC_BAD_SET_MASK, + /* OF1.5+(2,17). Invalid meter id in meter action. */ + OFPERR_OFPBAC_BAD_METER, + /* NX1.0-1.1(2,256), NX1.2+(11). Must-be-zero action argument had nonzero * value. */ OFPERR_NXBAC_MUST_BE_ZERO, @@ -360,8 +376,8 @@ enum ofperr { * field. */ OFPERR_OFPBMC_BAD_VALUE, - /* NX1.0-1.1(1,259), OF1.2+(4,8). Unsupported mask specified in the match, - * field is not dl-address or nw-address. */ + /* NX1.0-1.1(1,259), OF1.2+(4,8). Unsupported mask specified in the + * match. */ OFPERR_OFPBMC_BAD_MASK, /* NX1.0-1.1(1,260), OF1.2+(4,9). A prerequisite was not met. */ @@ -413,6 +429,15 @@ enum ofperr { * flags. */ OFPERR_OFPFMFC_BAD_FLAGS, + /* OF1.4+(5,8). Problem in table synchronization. */ + OFPERR_OFPFMFC_CANT_SYNC, + + /* ONF1.3(2360), OF1.4+(5,9). Unsupported priority value. */ + OFPERR_OFPFMFC_BAD_PRIORITY, + + /* OF1.4+(5,10). Synchronized flow entry is read only. */ + OFPERR_OFPFMFC_IS_SYNC, + /* OF1.0(3,5). Unsupported action list - cannot process in the order * specified. */ OFPERR_OFPFMFC_UNSUPPORTED, @@ -567,6 +592,12 @@ enum ofperr { /* NX1.0-1.1(1,513), OF1.2+(11,2). Invalid role. */ OFPERR_OFPRRFC_BAD_ROLE, + /* OF1.5+(11,3). Switch doesn't support changing ID. */ + OFPERR_OFPRRFC_ID_UNSUP, + + /* OF1.5+(11,4). Requested ID is in use. */ + OFPERR_OFPRRFC_ID_IN_USE, + /* ## ---------------------- ## */ /* ## OFPET_METER_MOD_FAILED ## */ /* ## ---------------------- ## */ @@ -578,11 +609,12 @@ enum ofperr { * replace an existing Meter. */ OFPERR_OFPMMFC_METER_EXISTS, - /* OF1.3+(12,2). Meter not added because Meter specified is invalid. */ + /* OF1.3+(12,2). Meter not added because meter specified is invalid, or + * invalid meter in meter action. */ OFPERR_OFPMMFC_INVALID_METER, /* OF1.3+(12,3). Meter not modified because a Meter MODIFY attempted - * to modify a non-existent Meter. */ + * to modify a non-existent meter, or bad meter in meter action. */ OFPERR_OFPMMFC_UNKNOWN_METER, /* OF1.3+(12,4). Unsupported or unknown command. */ @@ -623,12 +655,28 @@ enum ofperr { /* OF1.3+(13,5). Permissions error. */ OFPERR_OFPTFFC_EPERM, + /* OF1.5+(13,6). Invalid capability field. */ + OFPERR_OFPTFFC_BAD_CAPA, + + /* OF1.5+(13,7). Invalid max_entries field. */ + OFPERR_OFPTFFC_BAD_MAX_ENT, + + /* OF1.5+(13,8). Invalid features field. */ + OFPERR_OFPTFFC_BAD_FEATURES, + + /* OF1.5+(13,9). Invalid command. */ + OFPERR_OFPTFFC_BAD_COMMAND, + + /* OF1.5+(13,10). Can't handle this many flow tables. */ + OFPERR_OFPTFFC_TOO_MANY, + + /* ## ------------------ ## */ /* ## OFPET_BAD_PROPERTY ## */ /* ## ------------------ ## */ - /* NX1.0-1.1(13,2), NX1.2(25), OF1.3(13,2), OF1.4+(14,0). Unknown property - * type. + /* NX1.0-1.1(13,2), NX1.2(25), OF1.3(13,2), OF1.4+(14,0). Unknown or + * unsupported property type. * * [Known as OFPTFFC_BAD_TYPE in OF1.3.] */ OFPERR_OFPBPC_BAD_TYPE, @@ -673,13 +721,13 @@ enum ofperr { /* ## OFPET_ASYNC_CONFIG_FAILED ## */ /* ## -------------------------- ## */ - /* OF1.4+(15,0). One mask is invalid. */ + /* ONF1.3(2370), OF1.4+(15,0). One mask is invalid. */ OFPERR_OFPACFC_INVALID, - /* OF1.4+(15,1). Requested configuration not supported. */ + /* ONF1.3(2371), OF1.4+(15,1). Requested configuration not supported. */ OFPERR_OFPACFC_UNSUPPORTED, - /* OF1.4+(15,2). Permissions error. */ + /* ONF1.3(2372), OF1.4+(15,2). Permissions error. */ OFPERR_OFPACFC_EPERM, /* ## -------------------- ## */ @@ -738,6 +786,16 @@ enum ofperr { /* ONF1.3(2315), OF1.4+(17,15). Bundle is locking the resource. */ OFPERR_OFPBFC_BUNDLE_IN_PROGRESS, + /* OF1.5+(17,16). Scheduled commit was received and scheduling is not + * supported. */ + OFPERR_OFPBFC_SCHED_NOT_SUPPORTED, + + /* OF1.5+(17,17). Scheduled commit time exceeds upper bound. */ + OFPERR_OFPBFC_SCHED_FUTURE, + + /* OF1.5+(17,18). Scheduled commit time exceeds lower bound. */ + OFPERR_OFPBFC_SCHED_PAST, + /* NX1.4-1.5(22), OF1.6+(17,19). In an OFPT_BUNDLE_ADD_MESSAGE, the * OpenFlow version in the inner and outer messages differ. */ OFPERR_OFPBFC_BAD_VERSION,
Also implements the backports of relevant errors to OF1.3 as specified in ONF extension pack 1 for OF1.3. ONF-JIRA: EXT-237 ONF-JIRA: EXT-230 ONF-JIRA: EXT-264 Signed-off-by: Ben Pfaff <blp@ovn.org> --- Documentation/topics/openflow.rst | 20 --------- include/openvswitch/ofp-errors.h | 88 ++++++++++++++++++++++++++++++++------- 2 files changed, 73 insertions(+), 35 deletions(-)