On Thu, Feb 8, 2018 at 3:18 PM, Ben Pfaff <b...@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 <b...@ovn.org> > ---
Looks good to me. Acked-by: William Tu <u9012...@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 > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev