From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 00FE2A0548; Sun, 25 Apr 2021 08:49:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DA0504014F; Sun, 25 Apr 2021 08:49:48 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 15FB54013F; Sun, 25 Apr 2021 08:49:46 +0200 (CEST) IronPort-SDR: MSXbQOUmz3978vshbkbtjNau4nc05XcDUxMSl2CeiS+XPBtiSm6JADUEAKbuMohUWtL0bFjxyJ j0XsCDkS9vhg== X-IronPort-AV: E=McAfee;i="6200,9189,9964"; a="260169364" X-IronPort-AV: E=Sophos;i="5.82,249,1613462400"; d="scan'208";a="260169364" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Apr 2021 23:49:45 -0700 IronPort-SDR: N/2v43R2aHzYcZ7q8GzctgedbZy52Z/axRHr5GtR57O6sfnxQmS06DaTF5QHxfQT9X5glvc2j4 yiEl8i59usew== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,249,1613462400"; d="scan'208";a="456732093" Received: from dpdk-xuting-second.sh.intel.com ([10.67.116.154]) by fmsmga002.fm.intel.com with ESMTP; 24 Apr 2021 23:49:43 -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: Sun, 25 Apr 2021 14:53:04 +0800 Message-Id: <20210425065304.5356-1-ting.xu@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH v2] 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 | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/drivers/common/iavf/virtchnl.h b/drivers/common/iavf/virtchnl.h index 139569787f..42ea91a6b0 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,12 @@ enum virtchnl_proto_hdr_type { VIRTCHNL_PROTO_HDR_ECPRI, VIRTCHNL_PROTO_HDR_L2TPV2, VIRTCHNL_PROTO_HDR_PPP, + /* IPv4 and IPv6 Fragment header types are only associated to + * VIRTCHNL_PROTO_HDR_IPV4 and VIRTCHNL_PROTO_HDR_IPV6 respectively, + * cannot be used independently. + */ + VIRTCHNL_PROTO_HDR_IPV4_FRAG, + VIRTCHNL_PROTO_HDR_IPV6_EH_FRAG, }; /* Protocol header field within a protocol header. */ @@ -1456,8 +1460,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 +1480,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 +1522,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 { -- 2.17.1