From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D0A9AA2EDB for ; Tue, 1 Oct 2019 17:40:57 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5B18BCFA6; Tue, 1 Oct 2019 17:40:57 +0200 (CEST) Received: from mail-ot1-f68.google.com (mail-ot1-f68.google.com [209.85.210.68]) by dpdk.org (Postfix) with ESMTP id 61BB74C74 for ; Tue, 1 Oct 2019 17:40:56 +0200 (CEST) Received: by mail-ot1-f68.google.com with SMTP id 41so11917969oti.12 for ; Tue, 01 Oct 2019 08:40:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ZIBu5mm0uwtjHqLrOP0EU6JapPq0SEaAcx3uDpEgsuE=; b=Pd9aCA4Ra4C0iJTqqEgW2QxXeZtVqE5O5iIT4eJtru0MFk9wvdZsJXCGswJYaw0luJ ixyD45bD9BXPbK4/1xROvhjNWu/tCmHKz0/9KPSni37ZDDDBc3odVDDSSPEows/ifXUb Zvqu0WJLIDGk7WseZaLq2YQhsjQ0VhQ4iKpGE= 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:cc; bh=ZIBu5mm0uwtjHqLrOP0EU6JapPq0SEaAcx3uDpEgsuE=; b=tyStc/e1VnDNpvuFZnuJTw5NhV/g/mUcO0Jh/Nl2y4Z5mEAxkmBwWQeKN8uDNI7yFv Xv7yp+iULvTIXkw4w7cvkAcgLXYQep530AjM7eXs6TPqlC1nrOATrx2FW9b5XXG1+vhN 0V+Y2vnb/EM9vfbrFZAbAwjy2ELvLGUt4L0X5mfj5vC++Ro1NX9ZpukJmtAyeTRJBx1e J7Gw10gMcaJMNkyss6lRTdGjF3zqZKDS1i8Dr1wB5Ch3qOYy5svCpayGtPswvkinBobV fkZz69+ZesyDDT0FxTa4It04gn9irDOSe3Kz9O9jiEibIEOFOaQJaj3C4b0lMv6hkV/4 UQSA== X-Gm-Message-State: APjAAAWfbpy6MTpDkgvw5TNPPROFR2MQBAVJzC2T3DmRuUXbn/ZJkeTM p+lp1tsIU9XdBGA0+LpDxzOJbIgfd7IYmK+1c5azgA== X-Google-Smtp-Source: APXvYqwV7GLWMODyg88crf7VXOfCwh8Brk8W5VixIAQB/P/o7K7aZCZw0VNMnwwky+xTmPEvsTNizpUU0+QVNtucN78= X-Received: by 2002:a05:6830:1492:: with SMTP id s18mr19272256otq.283.1569944455320; Tue, 01 Oct 2019 08:40:55 -0700 (PDT) MIME-Version: 1.0 References: <20190821204755.1990-1-pbhagavatula@marvell.com> <20190821204755.1990-5-pbhagavatula@marvell.com> In-Reply-To: <20190821204755.1990-5-pbhagavatula@marvell.com> From: Ajit Khaparde Date: Tue, 1 Oct 2019 08:40:38 -0700 Message-ID: To: pbhagavatula@marvell.com Cc: Andrew Rybchenko , Jerin Jacob Kollanukkaran , Somnath Kotur , Rahul Lakkireddy , Hemant Agrawal , Sachin Saxena , Wenzhuo Lu , John Daley , Hyong Youb Kim , Qi Zhang , Xiao Wang , Ziyang Xuan , Xiaoyun Wang , Guoyang Zhou , Beilei Xing , Jingjing Wu , Qiming Yang , Konstantin Ananyev , Shijith Thotton , Srisivasubramanian Srinivasan , Matan Azrad , Shahaf Shuler , Yongseok Koh , Viacheslav Ovsiienko , Stephen Hemminger , "K. Y. Srinivasan" , Haiyang Zhang , Alejandro Lucero , Nithin Dabilpuram , Kiran Kumar K , Rasesh Mody , Shahed Shaikh , Maciej Czekaj , Yong Wang , dev@dpdk.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v2 4/7] drivers/net: update Rx RSS hash offload capabilities 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Aug 21, 2019 at 1:48 PM wrote: > From: Pavan Nikhilesh > > Add DEV_RX_OFFLOAD_RSS_HASH flag for all PMDs that support RSS hash > delivery. > > Signed-off-by: Pavan Nikhilesh > For net/bnxt: Acked-by: Ajit Khaparde > --- > drivers/net/bnxt/bnxt_ethdev.c | 3 ++- > drivers/net/cxgbe/cxgbe.h | 3 ++- > drivers/net/dpaa/dpaa_ethdev.c | 3 ++- > drivers/net/dpaa2/dpaa2_ethdev.c | 3 ++- > drivers/net/e1000/igb_rxtx.c | 3 ++- > drivers/net/enic/enic_res.c | 3 ++- > drivers/net/fm10k/fm10k_ethdev.c | 3 ++- > drivers/net/hinic/hinic_pmd_ethdev.c | 3 ++- > drivers/net/i40e/i40e_ethdev.c | 3 ++- > drivers/net/iavf/iavf_ethdev.c | 3 ++- > drivers/net/ice/ice_ethdev.c | 3 ++- > drivers/net/ixgbe/ixgbe_rxtx.c | 3 ++- > drivers/net/liquidio/lio_ethdev.c | 3 ++- > drivers/net/mlx4/mlx4_rxq.c | 3 ++- > drivers/net/mlx5/mlx5_rxq.c | 3 ++- > drivers/net/netvsc/hn_rndis.c | 3 ++- > drivers/net/nfp/nfp_net.c | 3 ++- > drivers/net/octeontx2/otx2_ethdev.c | 3 ++- > drivers/net/octeontx2/otx2_ethdev.h | 15 ++++++++------- > drivers/net/qede/qede_ethdev.c | 3 ++- > drivers/net/sfc/sfc_ef10_essb_rx.c | 2 +- > drivers/net/sfc/sfc_ef10_rx.c | 3 ++- > drivers/net/sfc/sfc_rx.c | 3 ++- > drivers/net/thunderx/nicvf_ethdev.h | 3 ++- > drivers/net/vmxnet3/vmxnet3_ethdev.c | 3 ++- > 25 files changed, 55 insertions(+), 31 deletions(-) > > diff --git a/drivers/net/bnxt/bnxt_ethdev.c > b/drivers/net/bnxt/bnxt_ethdev.c > index 6685ee7d9..6c106baf7 100644 > --- a/drivers/net/bnxt/bnxt_ethdev.c > +++ b/drivers/net/bnxt/bnxt_ethdev.c > @@ -160,7 +160,8 @@ static const struct rte_pci_id bnxt_pci_id_map[] = { > DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | \ > DEV_RX_OFFLOAD_JUMBO_FRAME | \ > DEV_RX_OFFLOAD_KEEP_CRC | \ > - DEV_RX_OFFLOAD_TCP_LRO) > + DEV_RX_OFFLOAD_TCP_LRO | \ > + DEV_RX_OFFLOAD_RSS_HASH) > > static int bnxt_vlan_offload_set_op(struct rte_eth_dev *dev, int mask); > static void bnxt_print_link_info(struct rte_eth_dev *eth_dev); > diff --git a/drivers/net/cxgbe/cxgbe.h b/drivers/net/cxgbe/cxgbe.h > index 3f97fa58b..22e61a55c 100644 > --- a/drivers/net/cxgbe/cxgbe.h > +++ b/drivers/net/cxgbe/cxgbe.h > @@ -47,7 +47,8 @@ > DEV_RX_OFFLOAD_UDP_CKSUM | \ > DEV_RX_OFFLOAD_TCP_CKSUM | \ > DEV_RX_OFFLOAD_JUMBO_FRAME | \ > - DEV_RX_OFFLOAD_SCATTER) > + DEV_RX_OFFLOAD_SCATTER | \ > + DEV_RX_OFFLOAD_RSS_HASH) > > > #define CXGBE_DEVARG_KEEP_OVLAN "keep_ovlan" > diff --git a/drivers/net/dpaa/dpaa_ethdev.c > b/drivers/net/dpaa/dpaa_ethdev.c > index 7154fb9b4..18c7bd0d5 100644 > --- a/drivers/net/dpaa/dpaa_ethdev.c > +++ b/drivers/net/dpaa/dpaa_ethdev.c > @@ -49,7 +49,8 @@ > /* Supported Rx offloads */ > static uint64_t dev_rx_offloads_sup = > DEV_RX_OFFLOAD_JUMBO_FRAME | > - DEV_RX_OFFLOAD_SCATTER; > + DEV_RX_OFFLOAD_SCATTER | > + DEV_RX_OFFLOAD_RSS_HASH; > > /* Rx offloads which cannot be disabled */ > static uint64_t dev_rx_offloads_nodis = > diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c > b/drivers/net/dpaa2/dpaa2_ethdev.c > index dd6a78f9f..55a1c4455 100644 > --- a/drivers/net/dpaa2/dpaa2_ethdev.c > +++ b/drivers/net/dpaa2/dpaa2_ethdev.c > @@ -38,7 +38,8 @@ static uint64_t dev_rx_offloads_sup = > DEV_RX_OFFLOAD_TCP_CKSUM | > DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | > DEV_RX_OFFLOAD_VLAN_FILTER | > - DEV_RX_OFFLOAD_JUMBO_FRAME; > + DEV_RX_OFFLOAD_JUMBO_FRAME | > + DEV_RX_OFFLOAD_RSS_HASH; > > /* Rx offloads which cannot be disabled */ > static uint64_t dev_rx_offloads_nodis = > diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c > index c5606de5d..684fa4ad8 100644 > --- a/drivers/net/e1000/igb_rxtx.c > +++ b/drivers/net/e1000/igb_rxtx.c > @@ -1646,7 +1646,8 @@ igb_get_rx_port_offloads_capa(struct rte_eth_dev > *dev) > DEV_RX_OFFLOAD_TCP_CKSUM | > DEV_RX_OFFLOAD_JUMBO_FRAME | > DEV_RX_OFFLOAD_KEEP_CRC | > - DEV_RX_OFFLOAD_SCATTER; > + DEV_RX_OFFLOAD_SCATTER | > + DEV_RX_OFFLOAD_RSS_HASH; > > return rx_offload_capa; > } > diff --git a/drivers/net/enic/enic_res.c b/drivers/net/enic/enic_res.c > index 9405e1933..607a085f8 100644 > --- a/drivers/net/enic/enic_res.c > +++ b/drivers/net/enic/enic_res.c > @@ -198,7 +198,8 @@ int enic_get_vnic_config(struct enic *enic) > DEV_RX_OFFLOAD_VLAN_STRIP | > DEV_RX_OFFLOAD_IPV4_CKSUM | > DEV_RX_OFFLOAD_UDP_CKSUM | > - DEV_RX_OFFLOAD_TCP_CKSUM; > + DEV_RX_OFFLOAD_TCP_CKSUM | > + DEV_RX_OFFLOAD_RSS_HASH; > enic->tx_offload_mask = > PKT_TX_IPV6 | > PKT_TX_IPV4 | > diff --git a/drivers/net/fm10k/fm10k_ethdev.c > b/drivers/net/fm10k/fm10k_ethdev.c > index db4d72129..ba9b174cf 100644 > --- a/drivers/net/fm10k/fm10k_ethdev.c > +++ b/drivers/net/fm10k/fm10k_ethdev.c > @@ -1797,7 +1797,8 @@ static uint64_t > fm10k_get_rx_port_offloads_capa(struct rte_eth_dev *dev) > DEV_RX_OFFLOAD_UDP_CKSUM | > DEV_RX_OFFLOAD_TCP_CKSUM | > DEV_RX_OFFLOAD_JUMBO_FRAME | > - DEV_RX_OFFLOAD_HEADER_SPLIT); > + DEV_RX_OFFLOAD_HEADER_SPLIT | > + DEV_RX_OFFLOAD_RSS_HASH); > } > > static int > diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c > b/drivers/net/hinic/hinic_pmd_ethdev.c > index 044af9053..53bd2b9ae 100644 > --- a/drivers/net/hinic/hinic_pmd_ethdev.c > +++ b/drivers/net/hinic/hinic_pmd_ethdev.c > @@ -680,7 +680,8 @@ hinic_dev_infos_get(struct rte_eth_dev *dev, struct > rte_eth_dev_info *info) > info->rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP | > DEV_RX_OFFLOAD_IPV4_CKSUM | > DEV_RX_OFFLOAD_UDP_CKSUM | > - DEV_RX_OFFLOAD_TCP_CKSUM; > + DEV_RX_OFFLOAD_TCP_CKSUM | > + DEV_RX_OFFLOAD_RSS_HASH; > > info->tx_queue_offload_capa = 0; > info->tx_offload_capa = DEV_TX_OFFLOAD_VLAN_INSERT | > diff --git a/drivers/net/i40e/i40e_ethdev.c > b/drivers/net/i40e/i40e_ethdev.c > index 4e40b7ab5..7058e0213 100644 > --- a/drivers/net/i40e/i40e_ethdev.c > +++ b/drivers/net/i40e/i40e_ethdev.c > @@ -3511,7 +3511,8 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct > rte_eth_dev_info *dev_info) > DEV_RX_OFFLOAD_SCATTER | > DEV_RX_OFFLOAD_VLAN_EXTEND | > DEV_RX_OFFLOAD_VLAN_FILTER | > - DEV_RX_OFFLOAD_JUMBO_FRAME; > + DEV_RX_OFFLOAD_JUMBO_FRAME | > + DEV_RX_OFFLOAD_RSS_HASH; > > dev_info->tx_queue_offload_capa = DEV_TX_OFFLOAD_MBUF_FAST_FREE; > dev_info->tx_offload_capa = > diff --git a/drivers/net/iavf/iavf_ethdev.c > b/drivers/net/iavf/iavf_ethdev.c > index 8f3907378..aef91a79b 100644 > --- a/drivers/net/iavf/iavf_ethdev.c > +++ b/drivers/net/iavf/iavf_ethdev.c > @@ -517,7 +517,8 @@ iavf_dev_info_get(struct rte_eth_dev *dev, struct > rte_eth_dev_info *dev_info) > DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | > DEV_RX_OFFLOAD_SCATTER | > DEV_RX_OFFLOAD_JUMBO_FRAME | > - DEV_RX_OFFLOAD_VLAN_FILTER; > + DEV_RX_OFFLOAD_VLAN_FILTER | > + DEV_RX_OFFLOAD_RSS_HASH; > dev_info->tx_offload_capa = > DEV_TX_OFFLOAD_VLAN_INSERT | > DEV_TX_OFFLOAD_QINQ_INSERT | > diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c > index 44a14cb8a..fc0f0003f 100644 > --- a/drivers/net/ice/ice_ethdev.c > +++ b/drivers/net/ice/ice_ethdev.c > @@ -2133,7 +2133,8 @@ ice_dev_info_get(struct rte_eth_dev *dev, struct > rte_eth_dev_info *dev_info) > DEV_RX_OFFLOAD_TCP_CKSUM | > DEV_RX_OFFLOAD_QINQ_STRIP | > DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | > - DEV_RX_OFFLOAD_VLAN_EXTEND; > + DEV_RX_OFFLOAD_VLAN_EXTEND | > + DEV_RX_OFFLOAD_RSS_HASH; > dev_info->tx_offload_capa |= > DEV_TX_OFFLOAD_QINQ_INSERT | > DEV_TX_OFFLOAD_IPV4_CKSUM | > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c > b/drivers/net/ixgbe/ixgbe_rxtx.c > index edcfa60ce..fa572d184 100644 > --- a/drivers/net/ixgbe/ixgbe_rxtx.c > +++ b/drivers/net/ixgbe/ixgbe_rxtx.c > @@ -2872,7 +2872,8 @@ ixgbe_get_rx_port_offloads(struct rte_eth_dev *dev) > DEV_RX_OFFLOAD_KEEP_CRC | > DEV_RX_OFFLOAD_JUMBO_FRAME | > DEV_RX_OFFLOAD_VLAN_FILTER | > - DEV_RX_OFFLOAD_SCATTER; > + DEV_RX_OFFLOAD_SCATTER | > + DEV_RX_OFFLOAD_RSS_HASH; > > if (hw->mac.type == ixgbe_mac_82598EB) > offloads |= DEV_RX_OFFLOAD_VLAN_STRIP; > diff --git a/drivers/net/liquidio/lio_ethdev.c > b/drivers/net/liquidio/lio_ethdev.c > index c25dab00c..ff118586e 100644 > --- a/drivers/net/liquidio/lio_ethdev.c > +++ b/drivers/net/liquidio/lio_ethdev.c > @@ -406,7 +406,8 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev, > devinfo->rx_offload_capa = (DEV_RX_OFFLOAD_IPV4_CKSUM | > DEV_RX_OFFLOAD_UDP_CKSUM | > DEV_RX_OFFLOAD_TCP_CKSUM | > - DEV_RX_OFFLOAD_VLAN_STRIP); > + DEV_RX_OFFLOAD_VLAN_STRIP | > + DEV_RX_OFFLOAD_RSS_HASH); > devinfo->tx_offload_capa = (DEV_TX_OFFLOAD_IPV4_CKSUM | > DEV_TX_OFFLOAD_UDP_CKSUM | > DEV_TX_OFFLOAD_TCP_CKSUM | > diff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c > index f45c1ff85..4a6fbd922 100644 > --- a/drivers/net/mlx4/mlx4_rxq.c > +++ b/drivers/net/mlx4/mlx4_rxq.c > @@ -685,7 +685,8 @@ mlx4_get_rx_queue_offloads(struct mlx4_priv *priv) > { > uint64_t offloads = DEV_RX_OFFLOAD_SCATTER | > DEV_RX_OFFLOAD_KEEP_CRC | > - DEV_RX_OFFLOAD_JUMBO_FRAME; > + DEV_RX_OFFLOAD_JUMBO_FRAME | > + DEV_RX_OFFLOAD_RSS_HASH; > > if (priv->hw_csum) > offloads |= DEV_RX_OFFLOAD_CHECKSUM; > diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c > index a1fdeef2a..b5fd57693 100644 > --- a/drivers/net/mlx5/mlx5_rxq.c > +++ b/drivers/net/mlx5/mlx5_rxq.c > @@ -368,7 +368,8 @@ mlx5_get_rx_queue_offloads(struct rte_eth_dev *dev) > struct mlx5_dev_config *config = &priv->config; > uint64_t offloads = (DEV_RX_OFFLOAD_SCATTER | > DEV_RX_OFFLOAD_TIMESTAMP | > - DEV_RX_OFFLOAD_JUMBO_FRAME); > + DEV_RX_OFFLOAD_JUMBO_FRAME | > + DEV_RX_OFFLOAD_RSS_HASH); > > if (config->hw_fcs_strip) > offloads |= DEV_RX_OFFLOAD_KEEP_CRC; > diff --git a/drivers/net/netvsc/hn_rndis.c b/drivers/net/netvsc/hn_rndis.c > index a67bc7a79..2b4714042 100644 > --- a/drivers/net/netvsc/hn_rndis.c > +++ b/drivers/net/netvsc/hn_rndis.c > @@ -897,7 +897,8 @@ int hn_rndis_get_offload(struct hn_data *hv, > == HN_NDIS_LSOV2_CAP_IP6) > dev_info->tx_offload_capa |= DEV_TX_OFFLOAD_TCP_TSO; > > - dev_info->rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP; > + dev_info->rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP | > + DEV_RX_OFFLOAD_RSS_HASH; > > if (hwcaps.ndis_csum.ndis_ip4_rxcsum & NDIS_RXCSUM_CAP_IP4) > dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_IPV4_CKSUM; > diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c > index f1a3ef2f9..230d64c8a 100644 > --- a/drivers/net/nfp/nfp_net.c > +++ b/drivers/net/nfp/nfp_net.c > @@ -1226,7 +1226,8 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct > rte_eth_dev_info *dev_info) > DEV_RX_OFFLOAD_UDP_CKSUM | > DEV_RX_OFFLOAD_TCP_CKSUM; > > - dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME; > + dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME | > + DEV_RX_OFFLOAD_RSS_HASH; > > if (hw->cap & NFP_NET_CFG_CTRL_TXVLAN) > dev_info->tx_offload_capa = DEV_TX_OFFLOAD_VLAN_INSERT; > diff --git a/drivers/net/octeontx2/otx2_ethdev.c > b/drivers/net/octeontx2/otx2_ethdev.c > index b84128fef..2e88d1844 100644 > --- a/drivers/net/octeontx2/otx2_ethdev.c > +++ b/drivers/net/octeontx2/otx2_ethdev.c > @@ -569,7 +569,8 @@ nix_rx_offload_flags(struct rte_eth_dev *eth_dev) > struct rte_eth_rxmode *rxmode = &conf->rxmode; > uint16_t flags = 0; > > - if (rxmode->mq_mode == ETH_MQ_RX_RSS) > + if (rxmode->mq_mode == ETH_MQ_RX_RSS && > + (dev->rx_offloads & DEV_RX_OFFLOAD_RSS_HASH)) > flags |= NIX_RX_OFFLOAD_RSS_F; > > if (dev->rx_offloads & (DEV_RX_OFFLOAD_TCP_CKSUM | > diff --git a/drivers/net/octeontx2/otx2_ethdev.h > b/drivers/net/octeontx2/otx2_ethdev.h > index 7b15d6bc8..0cca6746d 100644 > --- a/drivers/net/octeontx2/otx2_ethdev.h > +++ b/drivers/net/octeontx2/otx2_ethdev.h > @@ -122,8 +122,8 @@ > DEV_TX_OFFLOAD_MT_LOCKFREE | \ > DEV_TX_OFFLOAD_VLAN_INSERT | \ > DEV_TX_OFFLOAD_QINQ_INSERT | \ > - DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM | \ > - DEV_TX_OFFLOAD_OUTER_UDP_CKSUM | \ > + DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM | \ > + DEV_TX_OFFLOAD_OUTER_UDP_CKSUM | \ > DEV_TX_OFFLOAD_TCP_CKSUM | \ > DEV_TX_OFFLOAD_UDP_CKSUM | \ > DEV_TX_OFFLOAD_SCTP_CKSUM | \ > @@ -136,11 +136,12 @@ > DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | \ > DEV_RX_OFFLOAD_SCATTER | \ > DEV_RX_OFFLOAD_JUMBO_FRAME | \ > - DEV_RX_OFFLOAD_OUTER_UDP_CKSUM | \ > - DEV_RX_OFFLOAD_VLAN_STRIP | \ > - DEV_RX_OFFLOAD_VLAN_FILTER | \ > - DEV_RX_OFFLOAD_QINQ_STRIP | \ > - DEV_RX_OFFLOAD_TIMESTAMP) > + DEV_RX_OFFLOAD_OUTER_UDP_CKSUM | \ > + DEV_RX_OFFLOAD_VLAN_STRIP | \ > + DEV_RX_OFFLOAD_VLAN_FILTER | \ > + DEV_RX_OFFLOAD_QINQ_STRIP | \ > + DEV_RX_OFFLOAD_TIMESTAMP | \ > + DEV_RX_OFFLOAD_RSS_HASH) > > #define NIX_DEFAULT_RSS_CTX_GROUP 0 > #define NIX_DEFAULT_RSS_MCAM_IDX -1 > diff --git a/drivers/net/qede/qede_ethdev.c > b/drivers/net/qede/qede_ethdev.c > index 528b33e8c..da25b26df 100644 > --- a/drivers/net/qede/qede_ethdev.c > +++ b/drivers/net/qede/qede_ethdev.c > @@ -1291,7 +1291,8 @@ qede_dev_info_get(struct rte_eth_dev *eth_dev, > DEV_RX_OFFLOAD_SCATTER | > DEV_RX_OFFLOAD_JUMBO_FRAME | > DEV_RX_OFFLOAD_VLAN_FILTER | > - DEV_RX_OFFLOAD_VLAN_STRIP); > + DEV_RX_OFFLOAD_VLAN_STRIP | > + DEV_RX_OFFLOAD_RSS_HASH); > dev_info->rx_queue_offload_capa = 0; > > /* TX offloads are on a per-packet basis, so it is applicable > diff --git a/drivers/net/sfc/sfc_ef10_essb_rx.c > b/drivers/net/sfc/sfc_ef10_essb_rx.c > index 63da807ea..220ef0e47 100644 > --- a/drivers/net/sfc/sfc_ef10_essb_rx.c > +++ b/drivers/net/sfc/sfc_ef10_essb_rx.c > @@ -716,7 +716,7 @@ struct sfc_dp_rx sfc_ef10_essb_rx = { > .features = SFC_DP_RX_FEAT_FLOW_FLAG | > SFC_DP_RX_FEAT_FLOW_MARK, > .dev_offload_capa = DEV_RX_OFFLOAD_CHECKSUM, > - .queue_offload_capa = 0, > + .queue_offload_capa = DEV_RX_OFFLOAD_RSS_HASH, > .get_dev_info = sfc_ef10_essb_rx_get_dev_info, > .pool_ops_supported = sfc_ef10_essb_rx_pool_ops_supported, > .qsize_up_rings = sfc_ef10_essb_rx_qsize_up_rings, > diff --git a/drivers/net/sfc/sfc_ef10_rx.c b/drivers/net/sfc/sfc_ef10_rx.c > index f2fc6e70a..85b5df466 100644 > --- a/drivers/net/sfc/sfc_ef10_rx.c > +++ b/drivers/net/sfc/sfc_ef10_rx.c > @@ -797,7 +797,8 @@ struct sfc_dp_rx sfc_ef10_rx = { > SFC_DP_RX_FEAT_INTR, > .dev_offload_capa = DEV_RX_OFFLOAD_CHECKSUM | > DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM, > - .queue_offload_capa = DEV_RX_OFFLOAD_SCATTER, > + .queue_offload_capa = DEV_RX_OFFLOAD_SCATTER | > + DEV_RX_OFFLOAD_RSS_HASH, > .get_dev_info = sfc_ef10_rx_get_dev_info, > .qsize_up_rings = sfc_ef10_rx_qsize_up_rings, > .qcreate = sfc_ef10_rx_qcreate, > diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c > index e6809bb64..695580b22 100644 > --- a/drivers/net/sfc/sfc_rx.c > +++ b/drivers/net/sfc/sfc_rx.c > @@ -618,7 +618,8 @@ struct sfc_dp_rx sfc_efx_rx = { > }, > .features = SFC_DP_RX_FEAT_INTR, > .dev_offload_capa = DEV_RX_OFFLOAD_CHECKSUM, > - .queue_offload_capa = DEV_RX_OFFLOAD_SCATTER, > + .queue_offload_capa = DEV_RX_OFFLOAD_SCATTER | > + DEV_RX_OFFLOAD_RSS_HASH, > .qsize_up_rings = sfc_efx_rx_qsize_up_rings, > .qcreate = sfc_efx_rx_qcreate, > .qdestroy = sfc_efx_rx_qdestroy, > diff --git a/drivers/net/thunderx/nicvf_ethdev.h > b/drivers/net/thunderx/nicvf_ethdev.h > index c0bfbf848..391411799 100644 > --- a/drivers/net/thunderx/nicvf_ethdev.h > +++ b/drivers/net/thunderx/nicvf_ethdev.h > @@ -41,7 +41,8 @@ > DEV_RX_OFFLOAD_CHECKSUM | \ > DEV_RX_OFFLOAD_VLAN_STRIP | \ > DEV_RX_OFFLOAD_JUMBO_FRAME | \ > - DEV_RX_OFFLOAD_SCATTER) > + DEV_RX_OFFLOAD_SCATTER | \ > + DEV_RX_OFFLOAD_RSS_HASH) > > #define NICVF_DEFAULT_RX_FREE_THRESH 224 > #define NICVF_DEFAULT_TX_FREE_THRESH 224 > diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c > b/drivers/net/vmxnet3/vmxnet3_ethdev.c > index 57feb3773..a1bdf3482 100644 > --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c > +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c > @@ -58,7 +58,8 @@ > DEV_RX_OFFLOAD_UDP_CKSUM | \ > DEV_RX_OFFLOAD_TCP_CKSUM | \ > DEV_RX_OFFLOAD_TCP_LRO | \ > - DEV_RX_OFFLOAD_JUMBO_FRAME) > + DEV_RX_OFFLOAD_JUMBO_FRAME | \ > + DEV_RX_OFFLOAD_RSS_HASH) > > static int eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev); > static int eth_vmxnet3_dev_uninit(struct rte_eth_dev *eth_dev); > -- > 2.22.0 > >