From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A8E444399F; Tue, 23 Jan 2024 01:17:16 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 229FE402A8; Tue, 23 Jan 2024 01:17:16 +0100 (CET) Received: from mail-pg1-f202.google.com (mail-pg1-f202.google.com [209.85.215.202]) by mails.dpdk.org (Postfix) with ESMTP id B379A40273 for ; Tue, 23 Jan 2024 01:17:14 +0100 (CET) Received: by mail-pg1-f202.google.com with SMTP id 41be03b00d2f7-5ce10b4cea9so2663225a12.1 for ; Mon, 22 Jan 2024 16:17:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1705969033; x=1706573833; darn=dpdk.org; h=cc:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=UjzBlSJ3snN1iqC4Ckuknqx5OGD0neqcAsBF9+6GIwQ=; b=FScTddFq5cnExLzu+caK5JqeZ42jl2bnNberoigCJK8cBOtZTAQr8KwWxHSqNMSXyh 67KYGwMkP1SsJA9OQasrksENnaZHL8LsqUChFwCiah6OAYqkhH068j3TyCJHq50lcnBD Nwd8PiLwYQ/7bZFtmFK35+68xLNRHDRG8qtoPEZ2Bhf9Swj/omTJquyo3tu5kudtt2H6 K/eKyqxcjTu4xs+w4BjKcBVRkyOiDGQKXAK0PQaCskIz6c3ril4YemVyn+MSAdRuQX7Z IOvYOLftmaT4Dn4ImSX/9GGyYRaQdKODu050Ow0JnLfER0IchCcSaVWR9zLrKwQ4o+bw 7YaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705969033; x=1706573833; h=cc:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=UjzBlSJ3snN1iqC4Ckuknqx5OGD0neqcAsBF9+6GIwQ=; b=JHuKnJMRCh6dBSzNQU6SPWvTyqugciU9zZjo4+4unbLqmQsTMZzJVW9jJCtZm9BkjY 3VSEvGMTaBeBSnx+3iThqsKkX+p6kmzF1M57FO1fQ0UkDxq/ezJjdOAWMl+cj1tvUvaB /7bgjsfwww2D4SZjGPeRra/Z91cerBV8rJDpCdV7zbZYlT7i9dVzvdERnuGQl6OweXSL ZJAUSvrvnqm2cscBGWN1t0x63XuQGqu5wsL7i2o/0o0R+hRAmc8eq+OlQLjFD/V2AKLz q1NKah3OYH0uUIxSC46pmACZ9v2ijgoYZYpnhSs3wKf1lT6mvWavbXDzD/hHYNAY6yAa SRBg== X-Gm-Message-State: AOJu0YyjthoGAzW0NWlNOXQXOc2+foOcQt8X1iMSm24vu7CA/kJ8DjVD +7nymEbFfWQmOVk8aHrZFwoKqq/LNGVx7BK7MUMTgM3SFunD7Su27MfOnZPuulBJmO0svAUx/6Q pxPPkvULWAI0QgNV4jnY8oGPvNhI1HSyfHtWNuA4S8HLLucX3h/n9vwnP3LNGDsYXC4R67W9PAl Umv6kXIVDy50a9TJOUYbA2fPOdFHCKvA== X-Google-Smtp-Source: AGHT+IHKQWE2tYtsEiqFQONUpBcp+3z5mqv2012uOymPDfNvES/42OrUH7KNvHLYNLOGy9RE4u+awkbrqgvs9g== X-Received: from joshwash.sea.corp.google.com ([2620:15c:11c:202:9096:2b97:b7f7:1182]) (user=joshwash job=sendgmr) by 2002:a63:4e46:0:b0:5cd:fee9:945b with SMTP id o6-20020a634e46000000b005cdfee9945bmr33509pgl.4.1705969033467; Mon, 22 Jan 2024 16:17:13 -0800 (PST) Date: Mon, 22 Jan 2024 16:16:37 -0800 Mime-Version: 1.0 X-Mailer: git-send-email 2.43.0.429.g432eaa2c6b-goog Message-ID: <20240123001645.1507779-1-joshwash@google.com> Subject: [PATCH 0/7] net/gve: RSS Support for GVE Driver From: Joshua Washington Cc: dev@dpdk.org, Ferruh Yigit , Rushil Gupta , Joshua Washington Content-Type: text/plain; charset="UTF-8" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This patch series introduces RSS support for the GVE poll-mode driver. This series includes implementations of the following eth_dev_ops: 1) rss_hash_update 2) rss_hash_conf_get 3) reta_query 4) reta_update In rss_hash_update, the GVE driver supports the following RSS hash types: * RTE_ETH_RSS_IPV4 * RTE_ETH_RSS_NONFRAG_IPV4_TCP * RTE_ETH_RSS_NONFRAG_IPV4_UDP * RTE_ETH_RSS_IPV6 * RTE_ETH_RSS_IPV6_EX * RTE_ETH_RSS_NONFRAG_IPV6_TCP * RTE_ETH_RSS_NONFRAG_IPV6_UDP * RTE_ETH_RSS_IPV6_TCP_EX * RTE_ETH_RSS_IPV6_UDP_EX The hash key is 40B, and the lookup table has 128 entries. These values are not configurable in this implementation. In general, the DPDK driver expects the RSS hash configuration to be set with a key before the redriection table is set up. When the RSS hash is configured, a default redirection table is generated based on the number of queues. When the device is re-configured, the redirection table is reset to the default value based on the queue count. An important note is that the gVNIC device expects 32 bit integers for RSS redirection table entries, while the RTE API uses 16 bit integers. However, this is unlikely to be an issue, as these values represent receive queues, and the gVNIC device does not support anywhere near 64K queues. This series also updates the corresponding feature matrix ertries and documentation as it pertains to RSS support in the GVE driver. Joshua Washington (7): net/gve: fully expose RSS offload support in dev_info net/gve: RSS adminq command changes net/gve: add gve_rss library for handling RSS-related behaviors net/gve: RSS configuration update support net/gve: RSS redirection table update support net/gve: update gve.ini with RSS capabilities net/gve: update GVE documentation with RSS support doc/guides/nics/features/gve.ini | 3 + doc/guides/nics/gve.rst | 16 ++- drivers/net/gve/base/gve.h | 15 ++ drivers/net/gve/base/gve_adminq.c | 59 ++++++++ drivers/net/gve/base/gve_adminq.h | 21 +++ drivers/net/gve/gve_ethdev.c | 231 +++++++++++++++++++++++++++++- drivers/net/gve/gve_ethdev.h | 17 +++ drivers/net/gve/gve_rss.c | 206 ++++++++++++++++++++++++++ drivers/net/gve/gve_rss.h | 107 ++++++++++++++ drivers/net/gve/meson.build | 1 + 10 files changed, 667 insertions(+), 9 deletions(-) create mode 100644 drivers/net/gve/gve_rss.c create mode 100644 drivers/net/gve/gve_rss.h -- 2.43.0.429.g432eaa2c6b-goog