From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-it1-f182.google.com (mail-it1-f182.google.com [209.85.166.182]) by dpdk.org (Postfix) with ESMTP id D361E1B489 for ; Sat, 2 Feb 2019 09:52:58 +0100 (CET) Received: by mail-it1-f182.google.com with SMTP id w18so13351893ite.1 for ; Sat, 02 Feb 2019 00:52:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=lPl/a6PsURmopibR4TCgabqkdNSqbrwBzbZH6imkmyw=; b=tqqmmCPnwW48U0YZpqJd4fkwUF9iqj1kCBj4pf8WPLFQCyRT0C3jBBo4VTp0auUnRn wQvRTFY9YXrba5mdaX68rQwOVDLiZZdiDHEmaYWzfP30CLy4DTZ5iEn3oJBEJ7Y8Qsm+ E43pqfnhwMRcDFYK+bJnafM9WuSAQ1QbL2KVg7ilWlwmjcKI2boepiPLwazgQdq7GpRv 7ok5eTZ9yZvRyvB/xPKqv3IVVo0jtMIa1STx7l7Ayl7RPnP/IjMeOVv4eT4ipMAorkDL M8GjsPTToj3PmE7rmzOEpra+05DuevScS91XbdOyo4MGhhvoOKgdmz+PeixNj5jgwqb2 cPQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=lPl/a6PsURmopibR4TCgabqkdNSqbrwBzbZH6imkmyw=; b=mawAcC+6kM1Hh8dLmAr1NLlBApjzIiiYmNDncjYCLUk8pt/3VkJghBmTiKW54VvFxd vNk8np+UXFev5svzf9qsaCwcVBNEY6S1WnuMvjobn6ljkDCqBxrxORQKLh1FpYNyek/C /RxZPjc10t92tYKoN4MXW3/bWMUWrkUSew1Fjq8vNY9pFsBcmVpId7b8nb7xIN9xxAEu fzuXQpA3Tqdgwbb0F5M+PZPXxMqBWwz6ScQb69UBKXHSqe4pS7w64PLx0psn/OfCFUG8 Ns0HKZY3eyUBQJRNHCffJMmY8urMzA72Y9tBCkm3EApPDNJhw/3VBii/lXIqAopMjPdj YfJg== X-Gm-Message-State: AHQUAub/b1EiqcXiFcL4cfeE+EI20OmdMsJUZLa3Lv0sh10y42OyXNQw teOIM5QLtRS0hmCX5pYg5R8DcO4dyJC6emLjxU3R X-Google-Smtp-Source: AHgI3IaIjNtvK8fUeZp+DWnBdaC8oZ6Op4VuzaxdR5ZPvpeIhT6e7smBEOgSxlWpqEdOVQ9NCpe1MokJvESglhPpFO4= X-Received: by 2002:a24:5d08:: with SMTP id w8mr3865389ita.90.1549097577985; Sat, 02 Feb 2019 00:52:57 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Rajaraman Balasubramanian Date: Sat, 2 Feb 2019 14:22:45 +0530 Message-ID: To: dev@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-dev] RSS hashing using L2_PAYLOAD type - Flexible Payload 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: Sat, 02 Feb 2019 08:52:59 -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.