From patchwork Fri Apr 23 08:07:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xu, Ting" X-Patchwork-Id: 92059 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 26E58A0548; Fri, 23 Apr 2021 10:04:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0A6304067E; Fri, 23 Apr 2021 10:04:33 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 7DB3E4014F; Fri, 23 Apr 2021 10:04:30 +0200 (CEST) IronPort-SDR: BvHSQcYO9HiROHAN7yFT2vMqk7eK6CLXQqlmCM6uqSiu7HoVAP6ZO7qHC8FY0QSwhQzsLwZtpW lS4OKSjvyvdw== X-IronPort-AV: E=McAfee;i="6200,9189,9962"; a="259987708" X-IronPort-AV: E=Sophos;i="5.82,245,1613462400"; d="scan'208";a="259987708" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2021 01:04:27 -0700 IronPort-SDR: Ybndae2bskoeZuOeRQ44/WMVjEMekeIEoo4nGPN1I1mLXPSDmle1YMR8qWfjZQQ7tIodugrCPs qbMdfgI173Mg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,245,1613462400"; d="scan'208";a="464244264" Received: from dpdk-xuting-second.sh.intel.com ([10.67.116.154]) by orsmga001.jf.intel.com with ESMTP; 23 Apr 2021 01:04:25 -0700 From: Ting Xu To: dev@dpdk.org Cc: beilei.xing@intel.com, jingjing.wu@intel.com, qi.z.zhang@intel.com, Ting Xu , stable@dpdk.org Date: Fri, 23 Apr 2021 16:07:36 +0800 Message-Id: <20210423080736.11927-1-ting.xu@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH v1 2/2] common/iavf: fix wrong order of protocol header types X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The new virtchnl protocol header types for IPv4 and IPv6 fragment are not added in order, which will break ABI. Move them to the end of the list. Signed-off-by: Ting Xu Fixes: e6a42fd9158b ("common/iavf: add protocol header for IP fragment") Cc: stable@dpdk.org --- drivers/common/iavf/virtchnl.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/common/iavf/virtchnl.h b/drivers/common/iavf/virtchnl.h index 139569787f..64c9aa8889 100644 --- a/drivers/common/iavf/virtchnl.h +++ b/drivers/common/iavf/virtchnl.h @@ -1415,9 +1415,7 @@ enum virtchnl_proto_hdr_type { VIRTCHNL_PROTO_HDR_S_VLAN, VIRTCHNL_PROTO_HDR_C_VLAN, VIRTCHNL_PROTO_HDR_IPV4, - VIRTCHNL_PROTO_HDR_IPV4_FRAG, VIRTCHNL_PROTO_HDR_IPV6, - VIRTCHNL_PROTO_HDR_IPV6_EH_FRAG, VIRTCHNL_PROTO_HDR_TCP, VIRTCHNL_PROTO_HDR_UDP, VIRTCHNL_PROTO_HDR_SCTP, @@ -1434,6 +1432,8 @@ enum virtchnl_proto_hdr_type { VIRTCHNL_PROTO_HDR_ECPRI, VIRTCHNL_PROTO_HDR_L2TPV2, VIRTCHNL_PROTO_HDR_PPP, + VIRTCHNL_PROTO_HDR_IPV4_FRAG, + VIRTCHNL_PROTO_HDR_IPV6_EH_FRAG, }; /* Protocol header field within a protocol header. */ @@ -1456,8 +1456,6 @@ enum virtchnl_proto_hdr_field { VIRTCHNL_PROTO_HDR_IPV4_DSCP, VIRTCHNL_PROTO_HDR_IPV4_TTL, VIRTCHNL_PROTO_HDR_IPV4_PROT, - VIRTCHNL_PROTO_HDR_IPV4_FRAG_PKID = - PROTO_HDR_FIELD_START(VIRTCHNL_PROTO_HDR_IPV4_FRAG), /* IPV6 */ VIRTCHNL_PROTO_HDR_IPV6_SRC = PROTO_HDR_FIELD_START(VIRTCHNL_PROTO_HDR_IPV6), @@ -1478,9 +1476,6 @@ enum virtchnl_proto_hdr_field { VIRTCHNL_PROTO_HDR_IPV6_PREFIX64_DST, VIRTCHNL_PROTO_HDR_IPV6_PREFIX96_SRC, VIRTCHNL_PROTO_HDR_IPV6_PREFIX96_DST, - /* IPv6 Extension Header Fragment */ - VIRTCHNL_PROTO_HDR_IPV6_EH_FRAG_PKID = - PROTO_HDR_FIELD_START(VIRTCHNL_PROTO_HDR_IPV6_EH_FRAG), /* TCP */ VIRTCHNL_PROTO_HDR_TCP_SRC_PORT = PROTO_HDR_FIELD_START(VIRTCHNL_PROTO_HDR_TCP), @@ -1523,6 +1518,12 @@ enum virtchnl_proto_hdr_field { VIRTCHNL_PROTO_HDR_ECPRI_MSG_TYPE = PROTO_HDR_FIELD_START(VIRTCHNL_PROTO_HDR_ECPRI), VIRTCHNL_PROTO_HDR_ECPRI_PC_RTC_ID, + /* IPv4 Dummy Fragment */ + VIRTCHNL_PROTO_HDR_IPV4_FRAG_PKID = + PROTO_HDR_FIELD_START(VIRTCHNL_PROTO_HDR_IPV4_FRAG), + /* IPv6 Extension Fragment */ + VIRTCHNL_PROTO_HDR_IPV6_EH_FRAG_PKID = + PROTO_HDR_FIELD_START(VIRTCHNL_PROTO_HDR_IPV6_EH_FRAG), }; struct virtchnl_proto_hdr {