From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-it1-f171.google.com (mail-it1-f171.google.com [209.85.166.171]) by dpdk.org (Postfix) with ESMTP id 7702E1B4B1 for ; Fri, 1 Feb 2019 13:04:17 +0100 (CET) Received: by mail-it1-f171.google.com with SMTP id b5so9411345iti.2 for ; Fri, 01 Feb 2019 04:04:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=FCkejVghepJvjfnzgWHVmCf03L9MxDnSqDPuKuoFePM=; b=NnvqHAsw+qIVFCq3/dSGUqZIw3eN8S6OIoT4tajeCC2OIKqtputAjJiseHcWmvK+a3 IRyt0ruTvL0Ry5ej9C9Tz/rlENVm5y54nl0pWZqS2+AeRFZZmunQhC3wiLmMwrJpMz81 6Av+2eS2B+y6UCN9JqEhDPHoh+wQ/8awGiNY4mbG5axjFkg7aZO6M3/jH+5F6XaQFUTM FrLohXYCEDUpwlMCYytgbskmn0T+6LN+co3dr0HyRmpd9jDDcimC5UXTMhctShd+Mnwa K5FMDDGHsorlp4SPNez2DizRMPn7LrDiYH2VuTAr5l4I6VRgv9NRzt2vRrzDGSsz/M5V ck9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=FCkejVghepJvjfnzgWHVmCf03L9MxDnSqDPuKuoFePM=; b=G96NWbrpD8khbYJhTdAGF+L7TWoTx18Pcf/1irh8oWmQReqECuVV3ogYEnYPZ6f2/n F9AhWuAMOUsRLfN6O+6PYbGm+bGl+yw98swZDwPuaHzGWdDizYpRLX7eBmgxTEA0M3CJ Tdw2kCQ8actMqx0EZoCiOmd64PwXAxhXMeEfi0giAYx86KaBQmxDEN3XCcdhIZ2OnyxF 3sd+4uBrfpRV2z849y5Qb9ZQlEiEA4dWov9tkx5xHN6djXmZMP6F6x3m4RG9F/0YysCf aKmF97TZAON874yLOv8LD43COgmjLuepy9h5y8pKm8tOSiBTMiOXUm0rVt5XmkcQfWIU XlzQ== X-Gm-Message-State: AHQUAuZGynJD28QyvHRXI1ZC/gI9TnW37m2KAkT93RR3nO7/4AspZkQy Zz1istZkMDGE53eY/lAz3wD0/F2DzsAo/D1zSmCKf2I= X-Google-Smtp-Source: AHgI3IbKnBDTvJJBBp4qCvn/Nt7/SkpaSFNhRdQbmkeUtG0+kJ6KqFyqg30fDHjQ3UGL/S9j0tPjQZOokgtvJKcBrlk= X-Received: by 2002:a24:5d08:: with SMTP id w8mr1197297ita.90.1549022656426; Fri, 01 Feb 2019 04:04:16 -0800 (PST) MIME-Version: 1.0 From: Rajaraman Balasubramanian Date: Fri, 1 Feb 2019 17:34:05 +0530 Message-ID: To: users@dpdk.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-users] RSS hashing using L2_PAYLOAD type - Flexible 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: Fri, 01 Feb 2019 12:04:17 -0000 Hi DPDK Team, I am working on VPP (vector packet processing) application which receives packets through i40e dpdk driver (Fortville eth device in the NIC card) with unknown eth_type. After this eth_type, we have our own header. I tried using =E2=80=9CRSS= with flexible payload=E2=80=9D. That is, after outer Ethernet header eth_type of= 0x8772, I have given 8 words (16 bytes) as fields to RSS hash function. And we have configured two queues for each port and packets are NOT distributed across rx_queues. We have checked this using =E2=80=9Cshow runt= ime=E2=80=9D command in VPP. When we use the function rte_eth_dev_info_get() function to check RSS offloads in dev_info struct. It outputs =E2=80=9Chash_key_size:52 flow_type_rss_offloads:0x7ef8=E2=80=9D. This means that RSS_L2_PAYLOAD is e= nabled. Also I would like to understand the meaning of this macro RTE_ETH_FLOW_L2_PAYLOAD to check whether my above thought process is correct. I have written the code as follows. struct rte_eth_hash_filter_info filter_info; memset(&filter_info, 0, sizeof(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 8; filter_info.info.input_set_conf.field[0] =3D RTE_ETH_INPUT_SET_FLEX_PAYLOAD_1ST_WORD; filter_info.info.input_set_conf.field[1] =3D RTE_ETH_INPUT_SET_FLEX_PAYLOAD_2ND_WORD; filter_info.info.input_set_conf.field[2] =3D RTE_ETH_INPUT_SET_FLEX_PAYLOAD_3RD_WORD; filter_info.info.input_set_conf.field[3] =3D RTE_ETH_INPUT_SET_FLEX_PAYLOAD_4TH_WORD; filter_info.info.input_set_conf.field[4] =3D RTE_ETH_INPUT_SET_FLEX_PAYLOAD_5TH_WORD; filter_info.info.input_set_conf.field[5] =3D RTE_ETH_INPUT_SET_FLEX_PAYLOAD_6TH_WORD; filter_info.info.input_set_conf.field[6] =3D RTE_ETH_INPUT_SET_FLEX_PAYLOAD_7TH_WORD; filter_info.info.input_set_conf.field[7] =3D RTE_ETH_INPUT_SET_FLEX_PAYLOAD_8TH_WORD; filter_info.info.input_set_conf.op =3D RTE_ETH_INPUT_SET_ADD; filter_ret =3D rte_eth_dev_filter_ctrl(xd->port_id, RTE_ETH_FILTER_HASH= , RTE_ETH_FILTER_SET, &filter_info); Thanks, Rajaram.