From patchwork Thu Feb 8 23:18:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 871155 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zcvLF1K2Hz9s1h for ; Fri, 9 Feb 2018 10:20:05 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id A71311000; Thu, 8 Feb 2018 23:19:02 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 790A8FE7 for ; Thu, 8 Feb 2018 23:19:00 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 9927FD3 for ; Thu, 8 Feb 2018 23:18:59 +0000 (UTC) X-Originating-IP: 208.91.3.26 Received: from sigabrt.benpfaff.org (unknown [208.91.3.26]) (Authenticated sender: blp@ovn.org) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 8AC05C5A53; Fri, 9 Feb 2018 00:18:57 +0100 (CET) From: Ben Pfaff To: dev@openvswitch.org Date: Thu, 8 Feb 2018 15:18:48 -0800 Message-Id: <20180208231849.31519-3-blp@ovn.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180208231849.31519-1-blp@ovn.org> References: <20180208231849.31519-1-blp@ovn.org> X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Ben Pfaff Subject: [ovs-dev] [PATCH 3/4] ofp-errors: Add remaining OF1.4 and OF1.5 errors. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org 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 Acked-by: William Tu --- 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,