From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 4DF4E1DFEC; Tue, 12 Jun 2018 09:49:28 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Jun 2018 00:49:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,213,1526367600"; d="scan'208";a="46454146" Received: from pgsmsx101.gar.corp.intel.com ([10.221.44.78]) by fmsmga007.fm.intel.com with ESMTP; 12 Jun 2018 00:49:25 -0700 Received: from pgsmsx103.gar.corp.intel.com ([169.254.2.131]) by PGSMSX101.gar.corp.intel.com ([169.254.1.103]) with mapi id 14.03.0319.002; Tue, 12 Jun 2018 15:49:24 +0800 From: "Zhao1, Wei" To: "Lu, Wenzhuo" , "dev@dpdk.org" CC: "stable@dpdk.org" Thread-Topic: [PATCH] net/ixgbe: fix tunnel id format error for FDIR Thread-Index: AQHT/LA07YU48/9fCUed58sucMViGqRbl78AgACvmQA= Date: Tue, 12 Jun 2018 07:49:23 +0000 Message-ID: References: <1528189935-34943-1-git-send-email-wei.zhao1@intel.com> <1528189935-34943-4-git-send-email-wei.zhao1@intel.com> <6A0DE07E22DDAD4C9103DF62FEBC09093B7E8449@shsmsx102.ccr.corp.intel.com> In-Reply-To: <6A0DE07E22DDAD4C9103DF62FEBC09093B7E8449@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action x-originating-ip: [172.30.20.205] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jun 2018 07:49:30 -0000 Hi, Wenzhuo > -----Original Message----- > From: Lu, Wenzhuo > Sent: Tuesday, June 12, 2018 1:10 PM > To: Zhao1, Wei ; dev@dpdk.org > Cc: stable@dpdk.org > Subject: RE: [PATCH] net/ixgbe: fix tunnel id format error for FDIR >=20 > Hi Wei, >=20 >=20 > > -----Original Message----- > > From: Zhao1, Wei > > Sent: Tuesday, June 5, 2018 5:12 PM > > To: dev@dpdk.org > > Cc: Lu, Wenzhuo ; stable@dpdk.org; Zhao1, Wei > > > > Subject: [PATCH] net/ixgbe: fix tunnel id format error for FDIR > > > > In cloud mode for FDIR, tunnel id should be set as protocol request, > > the lower 8 bits should be set as reserved. > To my opinion, the original implementation and this patch have different > understanding of the 'tunnel_id' in ' struct rte_eth_tunnel_flow'. Origin= ally it > only means the tunnel id but not including the reserved 8 bits. > This patch means it should include the reserved bits. Maybe it makes thin= gs > easier because the whole 4 bytes are big endian. > So, may I suggest to add some comments in ' struct rte_eth_tunnel_flow' t= o > let the users know what the 'tunnel_id' really means? The format from input for 'tunnel_id' should be network network byte order And it also should not contain reserved 1 byte, but hardware HASH need the = format include reserved 1 byte And in network byte order. So, this patch convert to that format. I will add some comment in function ixgbe_fdir_filter_to_atr_input and ixg= be_parse_fdir_filter_tunnel, That will not Influence other NIC format for this struct member. Is that ok? >=20 > > > > Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for > > X550") > > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter") > > > > Signed-off-by: Wei Zhao > > --- > > drivers/net/ixgbe/ixgbe_fdir.c | 2 +- drivers/net/ixgbe/ixgbe_flow.c > > | 5 ++--- > > 2 files changed, 3 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/net/ixgbe/ixgbe_fdir.c > > b/drivers/net/ixgbe/ixgbe_fdir.c index d5e5179..67ab627 100644 > > --- a/drivers/net/ixgbe/ixgbe_fdir.c > > +++ b/drivers/net/ixgbe/ixgbe_fdir.c > > @@ -774,7 +774,7 @@ ixgbe_fdir_filter_to_atr_input(const struct > > rte_eth_fdir_filter *fdir_filter, > > input->formatted.tunnel_type =3D > > fdir_filter->input.flow.tunnel_flow.tunnel_type; > > input->formatted.tni_vni =3D > > - fdir_filter->input.flow.tunnel_flow.tunnel_id; > > + fdir_filter->input.flow.tunnel_flow.tunnel_id >> 8; > > } > > > > return 0; > > diff --git a/drivers/net/ixgbe/ixgbe_flow.c > > b/drivers/net/ixgbe/ixgbe_flow.c index eb0644c..64af777 100644 > > --- a/drivers/net/ixgbe/ixgbe_flow.c > > +++ b/drivers/net/ixgbe/ixgbe_flow.c > > @@ -2489,8 +2489,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct > > rte_flow_attr *attr, > > rte_memcpy(((uint8_t *) > > &rule->ixgbe_fdir.formatted.tni_vni + 1), > > vxlan_spec->vni, RTE_DIM(vxlan_spec->vni)); > > - rule->ixgbe_fdir.formatted.tni_vni =3D > > rte_be_to_cpu_32( > > - rule->ixgbe_fdir.formatted.tni_vni); > > + rule->ixgbe_fdir.formatted.tni_vni >>=3D 8; > > } > > } > > > > @@ -2587,7 +2586,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct > > rte_flow_attr *attr, > > /* tni is a 24-bits bit field */ > > rte_memcpy(&rule->ixgbe_fdir.formatted.tni_vni, > > nvgre_spec->tni, RTE_DIM(nvgre_spec->tni)); > > - rule->ixgbe_fdir.formatted.tni_vni <<=3D 8; > > + rule->ixgbe_fdir.formatted.tni_vni >>=3D 8; > > } > > } > > > > -- > > 2.7.5