From patchwork Wed Jan 24 00:04:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joshua Washington X-Patchwork-Id: 136077 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DFBB8439AD; Wed, 24 Jan 2024 01:04:45 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2BBDE402DF; Wed, 24 Jan 2024 01:04:40 +0100 (CET) Received: from mail-yb1-f201.google.com (mail-yb1-f201.google.com [209.85.219.201]) by mails.dpdk.org (Postfix) with ESMTP id E6A6D4029A for ; Wed, 24 Jan 2024 01:04:38 +0100 (CET) Received: by mail-yb1-f201.google.com with SMTP id 3f1490d57ef6-dbe9e13775aso7175248276.1 for ; Tue, 23 Jan 2024 16:04:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1706054678; x=1706659478; darn=dpdk.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=1k5laEoRzxWBqrRDyEFl5ZSMdsBt3lRyZ9CSh7xNtCU=; b=Ms1OCUhe6q2LK/oKaviJ/kdJ1HbKQvJsUNGMGLJtUoVHCbm+4DboCeBMWfP/9pKhCD TG03sG5fLzoG7VYkrNKFrQRcV5nyaedqPDJKObJEa4kYkrMJRhS1tarRgU8BCLYKaIvZ iiju5c9Pp+OVYm8x2GeTF2kqiaXU4pjwM2vDMOIbr4dgadoa2ZMlxdtJvm+2kBpZk641 XMQHBNb2OkLmLLVCyXsg1NfeusIulsxJ0mUpk7o+PfA6iarY7H24PJpzmy0J4CbmcAUy u4wFesXyerHwbFgbF88+C3kPaSeIom7MvGmw1LIzkl6qUue8oEQrmj2BJj9kV3bJ8zk1 Yzhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706054678; x=1706659478; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1k5laEoRzxWBqrRDyEFl5ZSMdsBt3lRyZ9CSh7xNtCU=; b=aw7Bim5GT1n5DexNs2CrRMiRHRCZl++D0AxQigImbj69jfHDaeCMoHE/H+04WZYwfX Ed6DcUfIc2hNsmPyklq++GwGdjqhUh5UeBJ/lAXzTJG4U6RvR7e3Ci6TeT8etWAk3SE6 tzmINVz6W/zahneaZfywOGVy1r9VCYBwMM/A5APyFYv14HvzTWFZzrZSSxyjJzPLDRGl yjRhsgoN0igv8jX65VOa6/MlQcU1I9SRUJg+axeb4v7+qJ+fypbGL44lj85K7ea2pL9A 2onCMEIqK8pv4yq92fZ3wMEd6YzwVmInhsBLzwS8U48XkVjYoUqSfUGKKZ7bNQel2zdN kGkA== X-Gm-Message-State: AOJu0Yx37mZidCz5AMIWBEtyUfnux5tWqGwysockMkixD2zjtcYQfbYN 91tMSf0Bg/LyjLrK2i6rJjJ0nwVuOvwoZBsx3sd2x5Pk1YUGThg//YCt+EQtio9kAe6DbFbPl4Q x2/C2dXJf4w== X-Google-Smtp-Source: AGHT+IGpNG76101kdTBJgOiOuIQr7fvwRs1hV4bHs+HOPrpsmtogzXmYdM9XTtmF0OKDuxIckK5HKcwm864HBQ== X-Received: from joshwash.sea.corp.google.com ([2620:15c:11c:202:b9a2:fa74:abc3:bc47]) (user=joshwash job=sendgmr) by 2002:a25:d6cb:0:b0:dc2:4d7e:23e4 with SMTP id n194-20020a25d6cb000000b00dc24d7e23e4mr9645ybg.4.1706054678388; Tue, 23 Jan 2024 16:04:38 -0800 (PST) Date: Tue, 23 Jan 2024 16:04:19 -0800 In-Reply-To: <20240124000426.418527-1-joshwash@google.com> Mime-Version: 1.0 References: <20240123175831.3219292-1-joshwash@google.com> <20240124000426.418527-1-joshwash@google.com> X-Mailer: git-send-email 2.43.0.429.g432eaa2c6b-goog Message-ID: <20240124000426.418527-2-joshwash@google.com> Subject: [PATCH v3 1/7] net/gve: fully expose RSS offload support in dev_info From: Joshua Washington To: Junfeng Guo , Jeroen de Borst , Rushil Gupta , Joshua Washington Cc: dev@dpdk.org, Ferruh Yigit 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 communicates that the GVE driver supports RSS, along with the RSS offloads supported by the driver. Signed-off-by: Joshua Washington Reviewed-by: Rushil Gupta Reviewed-by: Jeroen de Borst --- drivers/net/gve/gve_ethdev.c | 4 +++- drivers/net/gve/gve_ethdev.h | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/gve/gve_ethdev.c b/drivers/net/gve/gve_ethdev.c index d162fd3864..6acdb4e13b 100644 --- a/drivers/net/gve/gve_ethdev.c +++ b/drivers/net/gve/gve_ethdev.c @@ -405,7 +405,7 @@ gve_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) dev_info->max_mtu = priv->max_mtu; dev_info->min_mtu = RTE_ETHER_MIN_MTU; - dev_info->rx_offload_capa = 0; + dev_info->rx_offload_capa = RTE_ETH_RX_OFFLOAD_RSS_HASH; dev_info->tx_offload_capa = RTE_ETH_TX_OFFLOAD_MULTI_SEGS | RTE_ETH_TX_OFFLOAD_UDP_CKSUM | @@ -442,6 +442,8 @@ gve_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) .nb_align = 1, }; + dev_info->flow_type_rss_offloads = GVE_RSS_OFFLOAD_ALL; + return 0; } diff --git a/drivers/net/gve/gve_ethdev.h b/drivers/net/gve/gve_ethdev.h index 9893fcfee6..14c72ec91a 100644 --- a/drivers/net/gve/gve_ethdev.h +++ b/drivers/net/gve/gve_ethdev.h @@ -33,6 +33,14 @@ RTE_MBUF_F_TX_L4_MASK | \ RTE_MBUF_F_TX_TCP_SEG) +#define GVE_RSS_OFFLOAD_ALL ( \ + RTE_ETH_RSS_IPV4 | \ + RTE_ETH_RSS_NONFRAG_IPV4_TCP | \ + RTE_ETH_RSS_IPV6 | \ + RTE_ETH_RSS_IPV6_EX | \ + RTE_ETH_RSS_NONFRAG_IPV6_TCP | \ + RTE_ETH_RSS_IPV6_TCP_EX) + /* A list of pages registered with the device during setup and used by a queue * as buffers */