From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0116.outbound.protection.outlook.com [207.46.100.116]) by dpdk.org (Postfix) with ESMTP id 6496EC3BE for ; Thu, 30 Jul 2015 03:59:03 +0200 (CEST) Received: from SN1PR08MB1376.namprd08.prod.outlook.com (10.162.1.146) by SN1PR08MB1376.namprd08.prod.outlook.com (10.162.1.146) with Microsoft SMTP Server (TLS) id 15.1.225.19; Thu, 30 Jul 2015 01:58:58 +0000 Received: from SN1PR08MB1376.namprd08.prod.outlook.com ([10.162.1.146]) by SN1PR08MB1376.namprd08.prod.outlook.com ([10.162.1.146]) with mapi id 15.01.0225.018; Thu, 30 Jul 2015 01:58:58 +0000 From: "Jeff Venable, Sr." To: "Zhang, Helin" Thread-Topic: [dpdk-dev] Why only rx queue "0" can receive network packet by i40e NIC Thread-Index: AQHQUwUptdnjFbxdFU2dC7iwa2kdKJ0FeWOAgACnogCA4vqxMIAAAZkggAsQSAA= Date: Thu, 30 Jul 2015 01:58:58 +0000 Message-ID: References: <1416936405-25333-1-git-send-email-ssujith@cisco.com> <03fb01d05269$fe8d2110$fba76330$@com> <1566601.Xkl8jJDb44@xps13> <046801d052f8$9090a530$b1b1ef90$@com> <049801d0530f$b866bce0$293436a0$@com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none; x-originating-ip: [12.226.156.82] x-microsoft-exchange-diagnostics: 1; SN1PR08MB1376; 5:aELN6qTBSci8v7E5sKoWA5822yAbdXq2SbI1KtTePjuNiLxh1CjdudvHDbH9I9ygbhlIzH0j3CVDrX/O/QmbZQd5H+0ThVjQov8+r9wRcdXRyDTU7JgU5T4P3qK/mRja+9C6bGxHjVJSXeWeEdroSg==; 24:o3KTQbCX7tSn99MdEa7m0VvIfyl51Gd5CGOWHym97kVCUeC4U35H0SKjn6xpBwfaUip/a3qcycUZkXjIsJQTCqVkq21D9ewkyKOpUJZgj30=; 20:LjBlu7SjdBDID40Af0hIZBAHN/eOCQiey9fKJzeXKIz9RiSTWlQ6fBmDJcxmAOKuC2wltoqofSGJ1/Fkb/JVqg== x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(42142001); SRVR:SN1PR08MB1376; sn1pr08mb1376: X-MS-Exchange-Organization-RulesExecuted x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(5005006)(3002001); SRVR:SN1PR08MB1376; BCL:0; PCL:0; RULEID:; SRVR:SN1PR08MB1376; x-forefront-prvs: 06530126A4 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(53754006)(13464003)(377454003)(164054003)(377424004)(50986999)(189998001)(93886004)(76176999)(54356999)(46102003)(76576001)(62966003)(74316001)(122556002)(92566002)(66066001)(77156002)(77096005)(2900100001)(33656002)(2950100001)(5002640100001)(86362001)(87936001)(2656002)(40100003)(19580405001)(110136002)(106116001)(5003600100002)(99286002)(102836002)(19580395003)(5001960100002); DIR:OUT; SFP:1102; SCL:1; SRVR:SN1PR08MB1376; H:SN1PR08MB1376.namprd08.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: vectranetworks.com X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2015 01:58:58.1494 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a6cc66bc-f419-45c2-a9c2-8ff4ab685f2d X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR08MB1376 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] Why only rx queue "0" can receive network packet by i40e NIC X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jul 2015 01:59:04 -0000 Hi Helin, We do not want RSS to include L4 ports in the hash because packet fragments= would get routed to queue #0 and would be more difficult to work with. We= are using the model where multiple CPUs are pulling from the NIC queues in= dependently with no shared state, so each 'pipeline' has private fragment r= eassembly state for the sessions it is managing. Getting RSS Toeplitz hash to work on { source_ip, dest_ip } tuples only usi= ng a symmetric rss-key is important. This works properly with all other In= tel NICs in the DPDK thus far that we have tested until the i40E PMD with t= he Intel X710-DA4. The Microsoft RSS specification allows for this. With the i40E PMD, we have been unsuccessful at enabling this RSS configura= tion. From the source code and XL710 controller datasheet, we cannot find = any reference to the flags for this RSS mode. Unless we can achieve featur= e parity with the other Intel NICs, we don't want to write special case cod= e for this one driver which makes the XL710 controller unusable for us and = seems contrary to the intent of the DPDK APIs which are abstracting this be= havior. Do you have any suggestions? Thanks kindly, Jeff -----Original Message----- From: Zhang, Helin [mailto:helin.zhang@intel.com]=20 Sent: Wednesday, July 22, 2015 5:56 PM To: Jeff Venable, Sr. ; lhffjzh ;= 'Thomas Monjalon' Cc: dev@dpdk.org Subject: RE: [dpdk-dev] Why only rx queue "0" can receive network packet by= i40e NIC > -----Original Message----- > From: Jeff Venable, Sr. [mailto:jeff@vectranetworks.com] > Sent: Wednesday, July 22, 2015 5:47 PM > To: Zhang, Helin; lhffjzh; 'Thomas Monjalon' > Cc: dev@dpdk.org > Subject: RE: [dpdk-dev] Why only rx queue "0" can receive network=20 > packet by i40e NIC >=20 > Is the I40E incapable of operating RSS with ETH_RSS_IP (i.e. hashing=20 > without L4 ports)? Why do you think like this? Sorry, I am a bit confused. ETH_RSS_IP is a super set of all IP based rss types. Please see the rss typ= es listed in rte_ethdev.h. The supports rss types of each NIC can be queried via 'struct rte_eth_dev_i= nfo' of field 'flow_type_rss_offloads'. Regards, Helin >=20 > Thanks, >=20 > Jeff >=20 > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Zhang, Helin > Sent: Saturday, February 28, 2015 6:34 AM > To: lhffjzh; 'Thomas Monjalon' > Cc: dev@dpdk.org; maintainers@dpdk.org > Subject: Re: [dpdk-dev] Why only rx queue "0" can receive network=20 > packet by i40e NIC >=20 > Good to know that! >=20 > > -----Original Message----- > > From: lhffjzh [mailto:lhffjzh@126.com] > > Sent: Saturday, February 28, 2015 12:34 PM > > To: Zhang, Helin; 'Thomas Monjalon' > > Cc: dev@dpdk.org; maintainers@dpdk.org > > Subject: RE: [dpdk-dev] Why only rx queue "0" can receive network=20 > > packet by i40e NIC > > > > Hi Helin, > > > > Thanks a lot for your great help, all of rx queue received network=20 > > packet after I update rss_hf from "ETH_RSS_IP" to " ETH_RSS_PROTO_MASK = ". > > > > static struct rte_eth_conf port_conf =3D { > > .rxmode =3D { > > .mq_mode =3D ETH_MQ_RX_RSS, > > .max_rx_pkt_len =3D ETHER_MAX_LEN, > > .split_hdr_size =3D 0, > > .header_split =3D 0, /**< Header Split disabled */ > > .hw_ip_checksum =3D 1, /**< IP checksum offload enabled */ > > .hw_vlan_filter =3D 0, /**< VLAN filtering disabled */ > > .jumbo_frame =3D 0, /**< Jumbo Frame Support disabled */ > > .hw_strip_crc =3D 0, /**< CRC stripped by hardware */ > > }, > > .rx_adv_conf =3D { > > .rss_conf =3D { > > .rss_key =3D NULL, > > .rss_hf =3D ETH_RSS_PROTO_MASK, > > }, > > }, > > .txmode =3D { > > .mq_mode =3D ETH_MQ_TX_NONE, > > }, > > .fdir_conf.mode =3D RTE_FDIR_MODE_SIGNATURE, }; > > > > > > Regards, > > Haifeng > > > > -----Original Message----- > > From: Zhang, Helin [mailto:helin.zhang@intel.com] > > Sent: Saturday, February 28, 2015 11:18 AM > > To: lhffjzh; 'Thomas Monjalon' > > Cc: dev@dpdk.org; maintainers@dpdk.org > > Subject: RE: [dpdk-dev] Why only rx queue "0" can receive network=20 > > packet by i40e NIC > > > > Hi Haifeng > > > > > -----Original Message----- > > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of lhffjzh > > > Sent: Saturday, February 28, 2015 9:48 AM > > > To: 'Thomas Monjalon' > > > Cc: dev@dpdk.org; maintainers@dpdk.org > > > Subject: Re: [dpdk-dev] Why only rx queue "0" can receive network=20 > > > packet > > by > > > i40e NIC > > > > > > Hi Thomas, > > > > > > Thanks very much for your reminder, you give me many help in this=20 > > > mail > > list. > > > > > > The issue with detailed information just as below. but I don't=20 > > > know who is > > the > > > dpdk i40e maintainers? is maintainers@dpdk.org? > > > > > > Hardware list: > > > 2 i40e 40G NICs > > > Xeon E5-2670 v2(10 cores) > > > 32G memory > > > > > > I loopback 2 i40e NICs by QSFP cable, one NIC send UDP network=20 > > > packet by DPDK, and another for receiving. I bind 4 processor's=20 > > > logical cores with 4 > > rx > > > queue "0,1,2,3" on receiving NIC, when I start to send packet,=20 > > > only rx > > queue > > > "0" > > > can receive > > > the UDP packet, the others queue always receive nothing. but it is=20 > > > work > > well on > > > ixgbe 10G NICs, I can receive network packet from all rx queues. > > > does > > anyone > > > kindly know why? > > Could you help to list the DPDK version you are using now? > > Two possible reasons: > > 1. UDP rss is not enabled on your board correctly. > > I40e has different rss flags from ixgbe, so I am wondering if you=20 > > use it correctly. > > In addition, this will be unified from 2.0. So I care about the DPDK v= ersion. > > 2. The UDP stream is occasionally hit the hash key of queue 0. > > You'd better to try to send your UDP stream with random 5-tuples,=20 > > to get the > > hash value hit different queues randomly. > > > > Regards, > > Helin > > > > > > > > > > > Regards, > > > Haifeng > > > > > > -----Original Message----- > > > From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com] > > > Sent: Friday, February 27, 2015 6:55 PM > > > To: lhffjzh > > > Cc: dev@dpdk.org > > > Subject: Re: Why only rx queue "0" can receive network packet by=20 > > > i40e NIC > > > > > > 2015-02-27 16:47, lhffjzh: > > > > Hi All, > > > > > > > > We use 4 cores loop 4 rx queues on one i40e port, but only rx queue= "0" > > > can > > > > receive network packet, do anyone kindly know why? BTW, all of=20 > > > > network packet has same destination ip address but has more than > > > > 200 different source ip address. > > > > > > It's possible that you don't have any answer for 2 reasons: > > > - you replied in a thread dedicated to Cisco enic questions > > > - you didn't describe your usage enough to understand your problem > > > > > > I suggest to use the button "new email" instead of "reply all" to=20 > > > start a new question with enough details. > > > > > > Did you noticed you put some Cisco guys in CC instead of putting=20 > > > the Intel responsible for i40e (see MAINTAINERS file)? > > > > >