From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1.sandvine.com (Mail1.sandvine.com [64.7.137.134]) by dpdk.org (Postfix) with ESMTP id 1275F1322C for ; Wed, 10 Jan 2018 08:02:34 +0100 (CET) Received: from WTL-EXCHSV2-2.sandvine.com (192.168.194.59) by WTL-EXCHSV2-2.sandvine.com (192.168.194.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521) id 15.1.1034.26; Wed, 10 Jan 2018 02:02:32 -0500 Received: from WTL-EXCHP-1.sandvine.com (192.168.194.176) by WTL-EXCHSV2-2.sandvine.com (192.168.194.59) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521) id 15.1.1034.26 via Frontend Transport; Wed, 10 Jan 2018 02:02:32 -0500 Received: from BLR-EXCHP-2.sandvine.com ([fe80::c8c4:1c2a:2ea3:e874]) by wtl-exchp-1.sandvine.com ([::1]) with mapi id 14.03.0319.002; Wed, 10 Jan 2018 02:02:32 -0500 From: Varun Lakkur Ambaji Rao To: "users@dpdk.org" Thread-Topic: RSS with L2 payload Thread-Index: AdOJ4PcUAkRxAgCdQdm8Mcd21D+ljw== Date: Wed, 10 Jan 2018 07:02:32 +0000 Message-ID: <09DF23ED4ED0FB4499F100F9BFD364BA0333A1AF@blr-exchp-2.sandvine.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.30.10.60] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-C2ProcessedOrg: b2f06e69-072f-40ee-90c5-80a34e700794 Subject: [dpdk-users] RSS with L2 payload X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Jan 2018 07:02:34 -0000 Hi All, I am trying to use the RSS (Receive Side Scaling) feature to enable distrib= ution of traffic to different queues. Each queue is serviced by different C= PU in my DPDK APP. However, I am having trouble working with the packets wi= th EtherType as Non-IP.=20 The datasheet of Intel XL710 mentions that the input set for L2_PAYLOAD typ= e is only EtherType (Section 7.1.2 Packet types and input set) and does not= take source/destination MAC addresses or just the raw payload into account= . I found a thread which discusses a similar problem here: https://www.mail-a= rchive.com/users@dpdk.org/msg01880.html. I followed this and changed the in= put set to use source MAC address. Now I can see that the traffic gets dist= ributed to different queues. Here is the code snippet: struct rte_eth_hash_filter_info filter_info; filter_info.info_type =3D RTE_ETH_HASH_FILTER_INPUT_SET_SELECT; filter_info.info.input_set_conf.flow_type =3D RTE_ETH_FLOW_L2_PAYLOAD; filter_info.info.input_set_conf.inset_size =3D 1; filter_info.info.input_set_conf.field[0] =3D RTE_ETH_INPUT_SET_L2_SRC_M= AC; filter_info.info.input_set_conf.op =3D RTE_ETH_INPUT_SET_ADD; =20 filter_ret =3D rte_eth_dev_filter_ctrl(m_dpdk_port, RTE_ETH_FILTER_HASH= , RTE_ETH_FILTER_SET, &filter_info); However, this same solution does not work for other NIC types (For example,= Intel 82599 does not support L2_PAYLOAD type of RSS HF). Also rte_eth_dev_= filter_ctrl() does not work on the VF when using SRIOV on i40e. Since RSS i= s a hardware offload feature, this depends on whether the NIC supports it o= r not. Is there a generic way to handle such a problem with DPDK and keep the APP = agnostic to the underlying NIC? - Varun Disclaimer: This communication (including any attachments) is intended for the use of t= he intended recipient(s) only and may contain information that is considere= d confidential, proprietary, sensitive and/or otherwise legally protected. = Any unauthorized use or dissemination of this communication is strictly pro= hibited. If you have received this communication in error, please immediate= ly notify the sender by return e-mail message and delete all copies of the = original communication. Thank you for your cooperation.