get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/62840/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 62840,
    "url": "http://patches.dpdk.org/api/patches/62840/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20191111131914.16559-5-pbhagavatula@marvell.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20191111131914.16559-5-pbhagavatula@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20191111131914.16559-5-pbhagavatula@marvell.com",
    "date": "2019-11-11T13:19:08",
    "name": "[v17,04/10] drivers/net: update Rx RSS hash offload capabilities",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "9b546823cbc71e31305ee500c3b83a90b2fa3032",
    "submitter": {
        "id": 1183,
        "url": "http://patches.dpdk.org/api/people/1183/?format=api",
        "name": "Pavan Nikhilesh Bhagavatula",
        "email": "pbhagavatula@marvell.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20191111131914.16559-5-pbhagavatula@marvell.com/mbox/",
    "series": [
        {
            "id": 7386,
            "url": "http://patches.dpdk.org/api/series/7386/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=7386",
            "date": "2019-11-11T13:19:04",
            "name": "ethdev: add new Rx offload flags",
            "version": 17,
            "mbox": "http://patches.dpdk.org/series/7386/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/62840/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/62840/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 7A765A04B9;\n\tMon, 11 Nov 2019 14:20:33 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id CB66E2C15;\n\tMon, 11 Nov 2019 14:20:02 +0100 (CET)",
            "from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com\n [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 03FF92BA2\n for <dev@dpdk.org>; Mon, 11 Nov 2019 14:19:57 +0100 (CET)",
            "from pps.filterd (m0045851.ppops.net [127.0.0.1])\n by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id\n xABDHTmX026232; Mon, 11 Nov 2019 05:19:45 -0800",
            "from sc-exch04.marvell.com ([199.233.58.184])\n by mx0b-0016f401.pphosted.com with ESMTP id 2w5wurp8yj-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);\n Mon, 11 Nov 2019 05:19:44 -0800",
            "from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH04.marvell.com\n (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Mon, 11 Nov\n 2019 05:19:42 -0800",
            "from maili.marvell.com (10.93.176.43) by SC-EXCH01.marvell.com\n (10.93.176.81) with Microsoft SMTP Server id 15.0.1367.3 via Frontend\n Transport; Mon, 11 Nov 2019 05:19:42 -0800",
            "from BG-LT7430.marvell.com (unknown [10.28.17.38])\n by maili.marvell.com (Postfix) with ESMTP id CB24B3F703F;\n Mon, 11 Nov 2019 05:19:30 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;\n h=from : to : cc :\n subject : date : message-id : in-reply-to : references : mime-version :\n content-transfer-encoding : content-type; s=pfpt0818;\n bh=25TNBGpGPAcM4M6sMVlCjQtcDmlLjAz97CckMvYZxZg=;\n b=u/6L6Pjy8l2nhds1XQQYPhdqzwEEoKgSnrauAvMVlhAAWm/nwhrAa+i9X1hhkUe6wgrg\n z9jqpFxRC5QHpsx/kd5owUTkLDPIEwONglgieGq6rpYwyUCFg9vF0x+qbxfZ0TW36wG2\n vChFSQOkaM+fnGdoY3stayLJlF5amVK0ctndeZK/cyrkmnMU+ZWKO9gU7sEWCgIIyUzy\n x48dvTfGkftaIOdMY2wGkgUBUPY0DEpkFrqGGssGhLI1PgRmTH9TFSeTRp3XGBWA4p1K\n FuFICcTETk+hFEPs1iudvzhHOpGXzwCvdNgJ7k7q84b51gELsnWaaj0eBWolZuo2AciV nQ==",
        "From": "<pbhagavatula@marvell.com>",
        "To": "<ferruh.yigit@intel.com>, <arybchenko@solarflare.com>,\n <jerinj@marvell.com>, <thomas@monjalon.net>, Ajit Khaparde\n <ajit.khaparde@broadcom.com>, Somnath Kotur <somnath.kotur@broadcom.com>,\n Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>, Hemant Agrawal\n <hemant.agrawal@nxp.com>, Sachin Saxena <sachin.saxena@nxp.com>, Wenzhuo Lu\n <wenzhuo.lu@intel.com>, John Daley <johndale@cisco.com>, Hyong Youb Kim\n <hyonkim@cisco.com>, Qi Zhang <qi.z.zhang@intel.com>, Xiao Wang\n <xiao.w.wang@intel.com>, Ziyang Xuan <xuanziyang2@huawei.com>, Xiaoyun Wang\n <cloud.wangxiaoyun@huawei.com>, Guoyang Zhou <zhouguoyang@huawei.com>,\n \"Beilei Xing\" <beilei.xing@intel.com>, Jingjing Wu <jingjing.wu@intel.com>,\n \"Qiming Yang\" <qiming.yang@intel.com>, Konstantin Ananyev\n <konstantin.ananyev@intel.com>, Shijith Thotton <sthotton@marvell.com>,\n Srisivasubramanian Srinivasan <srinivasan@marvell.com>, Matan Azrad\n <matan@mellanox.com>, Shahaf Shuler <shahafs@mellanox.com>, \"Viacheslav\n Ovsiienko\" <viacheslavo@mellanox.com>, Stephen Hemminger\n <sthemmin@microsoft.com>, \"K. Y. Srinivasan\" <kys@microsoft.com>, \"Haiyang\n Zhang\" <haiyangz@microsoft.com>, Alejandro Lucero\n <alejandro.lucero@netronome.com>, Nithin Dabilpuram\n <ndabilpuram@marvell.com>, Kiran Kumar K <kirankumark@marvell.com>, \"Rasesh\n Mody\" <rmody@marvell.com>, Shahed Shaikh <shshaikh@marvell.com>, Maciej\n Czekaj <mczekaj@marvell.com>, Yong Wang <yongwang@vmware.com>",
        "CC": "<dev@dpdk.org>, Pavan Nikhilesh <pbhagavatula@marvell.com>",
        "Date": "Mon, 11 Nov 2019 18:49:08 +0530",
        "Message-ID": "<20191111131914.16559-5-pbhagavatula@marvell.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20191111131914.16559-1-pbhagavatula@marvell.com>",
        "References": "<20191106191803.15098-1-pbhagavatula@marvell.com>\n <20191111131914.16559-1-pbhagavatula@marvell.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-Virus-Version": "vendor=fsecure engine=2.50.10434:6.0.95,18.0.572\n definitions=2019-11-11_04:2019-11-11,2019-11-11 signatures=0",
        "Subject": "[dpdk-dev] [PATCH v17 04/10] drivers/net: update Rx RSS hash\n\toffload capabilities",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Pavan Nikhilesh <pbhagavatula@marvell.com>\n\nAdd DEV_RX_OFFLOAD_RSS_HASH flag for all PMDs that support RSS hash\ndelivery.\n\nSigned-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>\nReviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>\nReviewed-by: Hemant Agrawal <hemant.agrawal@nxp.com>\nAcked-by: Jerin Jacob <jerinj@marvell.com>\nAcked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/bnxt_ethdev.c       |  6 +++++-\n drivers/net/cxgbe/cxgbe.h            |  3 ++-\n drivers/net/cxgbe/cxgbe_ethdev.c     |  2 ++\n drivers/net/dpaa/dpaa_ethdev.c       |  3 ++-\n drivers/net/dpaa2/dpaa2_ethdev.c     |  1 +\n drivers/net/e1000/igb_ethdev.c       |  4 ++++\n drivers/net/e1000/igb_rxtx.c         |  3 ++-\n drivers/net/enic/enic_ethdev.c       |  2 ++\n drivers/net/enic/enic_res.c          |  3 ++-\n drivers/net/fm10k/fm10k_ethdev.c     |  5 ++++-\n drivers/net/hinic/hinic_pmd_ethdev.c |  5 ++++-\n drivers/net/i40e/i40e_ethdev.c       |  5 ++++-\n drivers/net/iavf/iavf_ethdev.c       |  5 ++++-\n drivers/net/ice/ice_ethdev.c         |  5 ++++-\n drivers/net/ixgbe/ixgbe_ethdev.c     |  5 +++++\n drivers/net/ixgbe/ixgbe_rxtx.c       |  3 ++-\n drivers/net/liquidio/lio_ethdev.c    |  5 ++++-\n drivers/net/mlx4/mlx4.c              |  2 ++\n drivers/net/mlx4/mlx4_rxq.c          |  3 ++-\n drivers/net/mlx5/mlx5_ethdev.c       |  3 +++\n drivers/net/mlx5/mlx5_rxq.c          |  3 ++-\n drivers/net/netvsc/hn_ethdev.c       |  2 ++\n drivers/net/netvsc/hn_rndis.c        |  3 ++-\n drivers/net/nfp/nfp_net.c            |  5 ++++-\n drivers/net/octeontx2/otx2_ethdev.c  |  3 ++-\n drivers/net/octeontx2/otx2_ethdev.h  | 15 ++++++++-------\n drivers/net/qede/qede_ethdev.c       |  5 ++++-\n drivers/net/sfc/sfc_ef10_essb_rx.c   |  3 ++-\n drivers/net/sfc/sfc_ef10_rx.c        |  3 ++-\n drivers/net/sfc/sfc_rx.c             |  7 ++++++-\n drivers/net/thunderx/nicvf_ethdev.c  |  2 ++\n drivers/net/thunderx/nicvf_ethdev.h  |  3 ++-\n drivers/net/vmxnet3/vmxnet3_ethdev.c |  5 ++++-\n 33 files changed, 102 insertions(+), 30 deletions(-)",
    "diff": "diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c\nindex 74388f2c8..e39b87365 100644\n--- a/drivers/net/bnxt/bnxt_ethdev.c\n+++ b/drivers/net/bnxt/bnxt_ethdev.c\n@@ -123,7 +123,8 @@ static const struct rte_pci_id bnxt_pci_id_map[] = {\n \t\t\t\t     DEV_RX_OFFLOAD_KEEP_CRC | \\\n \t\t\t\t     DEV_RX_OFFLOAD_VLAN_EXTEND | \\\n \t\t\t\t     DEV_RX_OFFLOAD_TCP_LRO | \\\n-\t\t\t\t     DEV_RX_OFFLOAD_SCATTER)\n+\t\t\t\t     DEV_RX_OFFLOAD_SCATTER | \\\n+\t\t\t\t     DEV_RX_OFFLOAD_RSS_HASH)\n \n static int bnxt_vlan_offload_set_op(struct rte_eth_dev *dev, int mask);\n static void bnxt_print_link_info(struct rte_eth_dev *eth_dev);\n@@ -673,6 +674,9 @@ static int bnxt_dev_configure_op(struct rte_eth_dev *eth_dev)\n \tbp->rx_cp_nr_rings = bp->rx_nr_rings;\n \tbp->tx_cp_nr_rings = bp->tx_nr_rings;\n \n+\trx_offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\teth_dev->data->dev_conf.rxmode.offloads = rx_offloads;\n+\n \tif (rx_offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) {\n \t\teth_dev->data->mtu =\n \t\t\teth_dev->data->dev_conf.rxmode.max_rx_pkt_len -\ndiff --git a/drivers/net/cxgbe/cxgbe.h b/drivers/net/cxgbe/cxgbe.h\nindex ed1be3559..6c1f73ac4 100644\n--- a/drivers/net/cxgbe/cxgbe.h\n+++ b/drivers/net/cxgbe/cxgbe.h\n@@ -47,7 +47,8 @@\n \t\t\t   DEV_RX_OFFLOAD_UDP_CKSUM | \\\n \t\t\t   DEV_RX_OFFLOAD_TCP_CKSUM | \\\n \t\t\t   DEV_RX_OFFLOAD_JUMBO_FRAME | \\\n-\t\t\t   DEV_RX_OFFLOAD_SCATTER)\n+\t\t\t   DEV_RX_OFFLOAD_SCATTER | \\\n+\t\t\t   DEV_RX_OFFLOAD_RSS_HASH)\n \n \n /* Common PF and VF devargs */\ndiff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c\nindex 615dda607..3dc9351a1 100644\n--- a/drivers/net/cxgbe/cxgbe_ethdev.c\n+++ b/drivers/net/cxgbe/cxgbe_ethdev.c\n@@ -426,6 +426,8 @@ int cxgbe_dev_configure(struct rte_eth_dev *eth_dev)\n \n \tCXGBE_FUNC_TRACE();\n \n+\teth_dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \tif (!(adapter->flags & FW_QUEUE_BOUND)) {\n \t\terr = cxgbe_setup_sge_fwevtq(adapter);\n \t\tif (err)\ndiff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c\nindex 16b52b5e1..26805f17b 100644\n--- a/drivers/net/dpaa/dpaa_ethdev.c\n+++ b/drivers/net/dpaa/dpaa_ethdev.c\n@@ -56,7 +56,8 @@ static uint64_t dev_rx_offloads_nodis =\n \t\tDEV_RX_OFFLOAD_IPV4_CKSUM |\n \t\tDEV_RX_OFFLOAD_UDP_CKSUM |\n \t\tDEV_RX_OFFLOAD_TCP_CKSUM |\n-\t\tDEV_RX_OFFLOAD_OUTER_IPV4_CKSUM;\n+\t\tDEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |\n+\t\tDEV_RX_OFFLOAD_RSS_HASH;\n \n /* Supported Tx offloads */\n static uint64_t dev_tx_offloads_sup =\ndiff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c\nindex 03131b903..eea31f254 100644\n--- a/drivers/net/dpaa2/dpaa2_ethdev.c\n+++ b/drivers/net/dpaa2/dpaa2_ethdev.c\n@@ -45,6 +45,7 @@ static uint64_t dev_rx_offloads_sup =\n \n /* Rx offloads which cannot be disabled */\n static uint64_t dev_rx_offloads_nodis =\n+\t\tDEV_RX_OFFLOAD_RSS_HASH |\n \t\tDEV_RX_OFFLOAD_SCATTER;\n \n /* Supported Tx offloads */\ndiff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c\nindex 53e83d5ec..369a978ad 100644\n--- a/drivers/net/e1000/igb_ethdev.c\n+++ b/drivers/net/e1000/igb_ethdev.c\n@@ -1182,6 +1182,8 @@ eth_igb_configure(struct rte_eth_dev *dev)\n \n \tPMD_INIT_FUNC_TRACE();\n \n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/* multipe queue mode checking */\n \tret  = igb_check_mq_mode(dev);\n \tif (ret != 0) {\n@@ -3257,6 +3259,8 @@ igbvf_dev_configure(struct rte_eth_dev *dev)\n \tPMD_INIT_LOG(DEBUG, \"Configured Virtual Function port id: %d\",\n \t\t     dev->data->port_id);\n \n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/*\n \t * VF has no ability to enable/disable HW CRC\n \t * Keep the persistent behavior the same as Host PF\ndiff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c\nindex c5606de5d..684fa4ad8 100644\n--- a/drivers/net/e1000/igb_rxtx.c\n+++ b/drivers/net/e1000/igb_rxtx.c\n@@ -1646,7 +1646,8 @@ igb_get_rx_port_offloads_capa(struct rte_eth_dev *dev)\n \t\t\t  DEV_RX_OFFLOAD_TCP_CKSUM   |\n \t\t\t  DEV_RX_OFFLOAD_JUMBO_FRAME |\n \t\t\t  DEV_RX_OFFLOAD_KEEP_CRC    |\n-\t\t\t  DEV_RX_OFFLOAD_SCATTER;\n+\t\t\t  DEV_RX_OFFLOAD_SCATTER     |\n+\t\t\t  DEV_RX_OFFLOAD_RSS_HASH;\n \n \treturn rx_offload_capa;\n }\ndiff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c\nindex 8ad976d3c..683fed28b 100644\n--- a/drivers/net/enic/enic_ethdev.c\n+++ b/drivers/net/enic/enic_ethdev.c\n@@ -405,6 +405,8 @@ static int enicpmd_dev_configure(struct rte_eth_dev *eth_dev)\n \t\treturn ret;\n \t}\n \n+\teth_dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \tenic->mc_count = 0;\n \tenic->hw_ip_checksum = !!(eth_dev->data->dev_conf.rxmode.offloads &\n \t\t\t\t  DEV_RX_OFFLOAD_CHECKSUM);\ndiff --git a/drivers/net/enic/enic_res.c b/drivers/net/enic/enic_res.c\nindex f403a0b66..7c3c270a2 100644\n--- a/drivers/net/enic/enic_res.c\n+++ b/drivers/net/enic/enic_res.c\n@@ -205,7 +205,8 @@ int enic_get_vnic_config(struct enic *enic)\n \t\tDEV_RX_OFFLOAD_VLAN_STRIP |\n \t\tDEV_RX_OFFLOAD_IPV4_CKSUM |\n \t\tDEV_RX_OFFLOAD_UDP_CKSUM |\n-\t\tDEV_RX_OFFLOAD_TCP_CKSUM;\n+\t\tDEV_RX_OFFLOAD_TCP_CKSUM |\n+\t\tDEV_RX_OFFLOAD_RSS_HASH;\n \tenic->tx_offload_mask =\n \t\tPKT_TX_IPV6 |\n \t\tPKT_TX_IPV4 |\ndiff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c\nindex 99c4366e4..311482522 100644\n--- a/drivers/net/fm10k/fm10k_ethdev.c\n+++ b/drivers/net/fm10k/fm10k_ethdev.c\n@@ -461,6 +461,8 @@ fm10k_dev_configure(struct rte_eth_dev *dev)\n \n \tPMD_INIT_FUNC_TRACE();\n \n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/* multipe queue mode checking */\n \tret  = fm10k_check_mq_mode(dev);\n \tif (ret != 0) {\n@@ -1805,7 +1807,8 @@ static uint64_t fm10k_get_rx_port_offloads_capa(struct rte_eth_dev *dev)\n \t\t\t   DEV_RX_OFFLOAD_UDP_CKSUM   |\n \t\t\t   DEV_RX_OFFLOAD_TCP_CKSUM   |\n \t\t\t   DEV_RX_OFFLOAD_JUMBO_FRAME |\n-\t\t\t   DEV_RX_OFFLOAD_HEADER_SPLIT);\n+\t\t\t   DEV_RX_OFFLOAD_HEADER_SPLIT |\n+\t\t\t   DEV_RX_OFFLOAD_RSS_HASH);\n }\n \n static int\ndiff --git a/drivers/net/hinic/hinic_pmd_ethdev.c b/drivers/net/hinic/hinic_pmd_ethdev.c\nindex 9f37a404b..072fec339 100644\n--- a/drivers/net/hinic/hinic_pmd_ethdev.c\n+++ b/drivers/net/hinic/hinic_pmd_ethdev.c\n@@ -318,6 +318,8 @@ static int hinic_dev_configure(struct rte_eth_dev *dev)\n \t\treturn -EINVAL;\n \t}\n \n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/* mtu size is 256~9600 */\n \tif (dev->data->dev_conf.rxmode.max_rx_pkt_len < HINIC_MIN_FRAME_SIZE ||\n \t    dev->data->dev_conf.rxmode.max_rx_pkt_len >\n@@ -740,7 +742,8 @@ hinic_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)\n \t\t\t\tDEV_RX_OFFLOAD_VLAN_FILTER |\n \t\t\t\tDEV_RX_OFFLOAD_SCATTER |\n \t\t\t\tDEV_RX_OFFLOAD_JUMBO_FRAME |\n-\t\t\t\tDEV_RX_OFFLOAD_TCP_LRO;\n+\t\t\t\tDEV_RX_OFFLOAD_TCP_LRO |\n+\t\t\t\tDEV_RX_OFFLOAD_RSS_HASH;\n \n \tinfo->tx_queue_offload_capa = 0;\n \tinfo->tx_offload_capa = DEV_TX_OFFLOAD_VLAN_INSERT |\ndiff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c\nindex 5abf60e36..27d2c0e6c 100644\n--- a/drivers/net/i40e/i40e_ethdev.c\n+++ b/drivers/net/i40e/i40e_ethdev.c\n@@ -1812,6 +1812,8 @@ i40e_dev_configure(struct rte_eth_dev *dev)\n \tad->tx_simple_allowed = true;\n \tad->tx_vec_allowed = true;\n \n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/* Only legacy filter API needs the following fdir config. So when the\n \t * legacy filter API is deprecated, the following codes should also be\n \t * removed.\n@@ -3613,7 +3615,8 @@ i40e_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)\n \t\tDEV_RX_OFFLOAD_SCATTER |\n \t\tDEV_RX_OFFLOAD_VLAN_EXTEND |\n \t\tDEV_RX_OFFLOAD_VLAN_FILTER |\n-\t\tDEV_RX_OFFLOAD_JUMBO_FRAME;\n+\t\tDEV_RX_OFFLOAD_JUMBO_FRAME |\n+\t\tDEV_RX_OFFLOAD_RSS_HASH;\n \n \tdev_info->tx_queue_offload_capa = DEV_TX_OFFLOAD_MBUF_FAST_FREE;\n \tdev_info->tx_offload_capa =\ndiff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c\nindex eebc49ade..c23a8fc67 100644\n--- a/drivers/net/iavf/iavf_ethdev.c\n+++ b/drivers/net/iavf/iavf_ethdev.c\n@@ -147,6 +147,8 @@ iavf_dev_configure(struct rte_eth_dev *dev)\n \tad->rx_vec_allowed = true;\n \tad->tx_vec_allowed = true;\n \n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/* Vlan stripping setting */\n \tif (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_VLAN) {\n \t\tif (dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_VLAN_STRIP)\n@@ -522,7 +524,8 @@ iavf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)\n \t\tDEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |\n \t\tDEV_RX_OFFLOAD_SCATTER |\n \t\tDEV_RX_OFFLOAD_JUMBO_FRAME |\n-\t\tDEV_RX_OFFLOAD_VLAN_FILTER;\n+\t\tDEV_RX_OFFLOAD_VLAN_FILTER |\n+\t\tDEV_RX_OFFLOAD_RSS_HASH;\n \tdev_info->tx_offload_capa =\n \t\tDEV_TX_OFFLOAD_VLAN_INSERT |\n \t\tDEV_TX_OFFLOAD_QINQ_INSERT |\ndiff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c\nindex 34d126342..711a5339c 100644\n--- a/drivers/net/ice/ice_ethdev.c\n+++ b/drivers/net/ice/ice_ethdev.c\n@@ -2357,6 +2357,8 @@ ice_dev_configure(struct rte_eth_dev *dev)\n \tad->rx_bulk_alloc_allowed = true;\n \tad->tx_simple_allowed = true;\n \n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \treturn 0;\n }\n \n@@ -2809,7 +2811,8 @@ ice_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)\n \t\t\tDEV_RX_OFFLOAD_TCP_CKSUM |\n \t\t\tDEV_RX_OFFLOAD_QINQ_STRIP |\n \t\t\tDEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |\n-\t\t\tDEV_RX_OFFLOAD_VLAN_EXTEND;\n+\t\t\tDEV_RX_OFFLOAD_VLAN_EXTEND |\n+\t\t\tDEV_RX_OFFLOAD_RSS_HASH;\n \t\tdev_info->tx_offload_capa |=\n \t\t\tDEV_TX_OFFLOAD_QINQ_INSERT |\n \t\t\tDEV_TX_OFFLOAD_IPV4_CKSUM |\ndiff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c\nindex 30c0379d4..8c1caac18 100644\n--- a/drivers/net/ixgbe/ixgbe_ethdev.c\n+++ b/drivers/net/ixgbe/ixgbe_ethdev.c\n@@ -2402,6 +2402,9 @@ ixgbe_dev_configure(struct rte_eth_dev *dev)\n \tint ret;\n \n \tPMD_INIT_FUNC_TRACE();\n+\n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/* multipe queue mode checking */\n \tret  = ixgbe_check_mq_mode(dev);\n \tif (ret != 0) {\n@@ -5155,6 +5158,8 @@ ixgbevf_dev_configure(struct rte_eth_dev *dev)\n \tPMD_INIT_LOG(DEBUG, \"Configured Virtual Function port id: %d\",\n \t\t     dev->data->port_id);\n \n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/*\n \t * VF has no ability to enable/disable HW CRC\n \t * Keep the persistent behavior the same as Host PF\ndiff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c\nindex edcfa60ce..fa572d184 100644\n--- a/drivers/net/ixgbe/ixgbe_rxtx.c\n+++ b/drivers/net/ixgbe/ixgbe_rxtx.c\n@@ -2872,7 +2872,8 @@ ixgbe_get_rx_port_offloads(struct rte_eth_dev *dev)\n \t\t   DEV_RX_OFFLOAD_KEEP_CRC    |\n \t\t   DEV_RX_OFFLOAD_JUMBO_FRAME |\n \t\t   DEV_RX_OFFLOAD_VLAN_FILTER |\n-\t\t   DEV_RX_OFFLOAD_SCATTER;\n+\t\t   DEV_RX_OFFLOAD_SCATTER |\n+\t\t   DEV_RX_OFFLOAD_RSS_HASH;\n \n \tif (hw->mac.type == ixgbe_mac_82598EB)\n \t\toffloads |= DEV_RX_OFFLOAD_VLAN_STRIP;\ndiff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c\nindex ec01343f1..cdf979edb 100644\n--- a/drivers/net/liquidio/lio_ethdev.c\n+++ b/drivers/net/liquidio/lio_ethdev.c\n@@ -412,7 +412,8 @@ lio_dev_info_get(struct rte_eth_dev *eth_dev,\n \tdevinfo->rx_offload_capa = (DEV_RX_OFFLOAD_IPV4_CKSUM\t\t|\n \t\t\t\t    DEV_RX_OFFLOAD_UDP_CKSUM\t\t|\n \t\t\t\t    DEV_RX_OFFLOAD_TCP_CKSUM\t\t|\n-\t\t\t\t    DEV_RX_OFFLOAD_VLAN_STRIP);\n+\t\t\t\t    DEV_RX_OFFLOAD_VLAN_STRIP\t\t|\n+\t\t\t\t    DEV_RX_OFFLOAD_RSS_HASH);\n \tdevinfo->tx_offload_capa = (DEV_TX_OFFLOAD_IPV4_CKSUM\t\t|\n \t\t\t\t    DEV_TX_OFFLOAD_UDP_CKSUM\t\t|\n \t\t\t\t    DEV_TX_OFFLOAD_TCP_CKSUM\t\t|\n@@ -1735,6 +1736,8 @@ lio_dev_configure(struct rte_eth_dev *eth_dev)\n \n \tPMD_INIT_FUNC_TRACE();\n \n+\teth_dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/* Inform firmware about change in number of queues to use.\n \t * Disable IO queues and reset registers for re-configuration.\n \t */\ndiff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c\nindex 931e4f4fe..6bc85a3d5 100644\n--- a/drivers/net/mlx4/mlx4.c\n+++ b/drivers/net/mlx4/mlx4.c\n@@ -248,6 +248,8 @@ mlx4_dev_configure(struct rte_eth_dev *dev)\n \tstruct rte_flow_error error;\n \tint ret;\n \n+\tdev->data->dev_conf.rxmode.offload |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/* Prepare internal flow rules. */\n \tret = mlx4_flow_sync(priv, &error);\n \tif (ret) {\ndiff --git a/drivers/net/mlx4/mlx4_rxq.c b/drivers/net/mlx4/mlx4_rxq.c\nindex f45c1ff85..4a6fbd922 100644\n--- a/drivers/net/mlx4/mlx4_rxq.c\n+++ b/drivers/net/mlx4/mlx4_rxq.c\n@@ -685,7 +685,8 @@ mlx4_get_rx_queue_offloads(struct mlx4_priv *priv)\n {\n \tuint64_t offloads = DEV_RX_OFFLOAD_SCATTER |\n \t\t\t    DEV_RX_OFFLOAD_KEEP_CRC |\n-\t\t\t    DEV_RX_OFFLOAD_JUMBO_FRAME;\n+\t\t\t    DEV_RX_OFFLOAD_JUMBO_FRAME |\n+\t\t\t    DEV_RX_OFFLOAD_RSS_HASH;\n \n \tif (priv->hw_csum)\n \t\toffloads |= DEV_RX_OFFLOAD_CHECKSUM;\ndiff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c\nindex 2b7c867e5..1c37980a4 100644\n--- a/drivers/net/mlx5/mlx5_ethdev.c\n+++ b/drivers/net/mlx5/mlx5_ethdev.c\n@@ -404,6 +404,9 @@ mlx5_dev_configure(struct rte_eth_dev *dev)\n \t\trte_errno = ENOMEM;\n \t\treturn -rte_errno;\n \t}\n+\n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \tmemcpy(priv->rss_conf.rss_key,\n \t       use_app_rss_key ?\n \t       dev->data->dev_conf.rx_adv_conf.rss_conf.rss_key :\ndiff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c\nindex 24d0eaac9..fd1b2d873 100644\n--- a/drivers/net/mlx5/mlx5_rxq.c\n+++ b/drivers/net/mlx5/mlx5_rxq.c\n@@ -372,7 +372,8 @@ mlx5_get_rx_queue_offloads(struct rte_eth_dev *dev)\n \tstruct mlx5_dev_config *config = &priv->config;\n \tuint64_t offloads = (DEV_RX_OFFLOAD_SCATTER |\n \t\t\t     DEV_RX_OFFLOAD_TIMESTAMP |\n-\t\t\t     DEV_RX_OFFLOAD_JUMBO_FRAME);\n+\t\t\t     DEV_RX_OFFLOAD_JUMBO_FRAME |\n+\t\t\t     DEV_RX_OFFLOAD_RSS_HASH);\n \n \tif (config->hw_fcs_strip)\n \t\toffloads |= DEV_RX_OFFLOAD_KEEP_CRC;\ndiff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c\nindex eed8dece9..658935509 100644\n--- a/drivers/net/netvsc/hn_ethdev.c\n+++ b/drivers/net/netvsc/hn_ethdev.c\n@@ -532,6 +532,8 @@ static int hn_dev_configure(struct rte_eth_dev *dev)\n \n \tPMD_INIT_FUNC_TRACE();\n \n+\tdev_conf->rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \tunsupported = txmode->offloads & ~HN_TX_OFFLOAD_CAPS;\n \tif (unsupported) {\n \t\tPMD_DRV_LOG(NOTICE,\ndiff --git a/drivers/net/netvsc/hn_rndis.c b/drivers/net/netvsc/hn_rndis.c\nindex a67bc7a79..2b4714042 100644\n--- a/drivers/net/netvsc/hn_rndis.c\n+++ b/drivers/net/netvsc/hn_rndis.c\n@@ -897,7 +897,8 @@ int hn_rndis_get_offload(struct hn_data *hv,\n \t    == HN_NDIS_LSOV2_CAP_IP6)\n \t\tdev_info->tx_offload_capa |= DEV_TX_OFFLOAD_TCP_TSO;\n \n-\tdev_info->rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP;\n+\tdev_info->rx_offload_capa = DEV_RX_OFFLOAD_VLAN_STRIP |\n+\t\t\t\t    DEV_RX_OFFLOAD_RSS_HASH;\n \n \tif (hwcaps.ndis_csum.ndis_ip4_rxcsum & NDIS_RXCSUM_CAP_IP4)\n \t\tdev_info->rx_offload_capa |= DEV_RX_OFFLOAD_IPV4_CKSUM;\ndiff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c\nindex 22a8b2d19..7941248c0 100644\n--- a/drivers/net/nfp/nfp_net.c\n+++ b/drivers/net/nfp/nfp_net.c\n@@ -407,6 +407,8 @@ nfp_net_configure(struct rte_eth_dev *dev)\n \trxmode = &dev_conf->rxmode;\n \ttxmode = &dev_conf->txmode;\n \n+\trxmode->offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/* Checking TX mode */\n \tif (txmode->mq_mode) {\n \t\tPMD_INIT_LOG(INFO, \"TX mq_mode DCB and VMDq not supported\");\n@@ -1236,7 +1238,8 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)\n \t\t\t\t\t     DEV_RX_OFFLOAD_UDP_CKSUM |\n \t\t\t\t\t     DEV_RX_OFFLOAD_TCP_CKSUM;\n \n-\tdev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME;\n+\tdev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME |\n+\t\t\t\t     DEV_RX_OFFLOAD_RSS_HASH;\n \n \tif (hw->cap & NFP_NET_CFG_CTRL_TXVLAN)\n \t\tdev_info->tx_offload_capa = DEV_TX_OFFLOAD_VLAN_INSERT;\ndiff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c\nindex aab34dbcf..be6ff71b3 100644\n--- a/drivers/net/octeontx2/otx2_ethdev.c\n+++ b/drivers/net/octeontx2/otx2_ethdev.c\n@@ -599,7 +599,8 @@ nix_rx_offload_flags(struct rte_eth_dev *eth_dev)\n \tstruct rte_eth_rxmode *rxmode = &conf->rxmode;\n \tuint16_t flags = 0;\n \n-\tif (rxmode->mq_mode == ETH_MQ_RX_RSS)\n+\tif (rxmode->mq_mode == ETH_MQ_RX_RSS &&\n+\t\t\t(dev->rx_offloads & DEV_RX_OFFLOAD_RSS_HASH))\n \t\tflags |= NIX_RX_OFFLOAD_RSS_F;\n \n \tif (dev->rx_offloads & (DEV_RX_OFFLOAD_TCP_CKSUM |\ndiff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h\nindex b49e309fd..ba66dbb74 100644\n--- a/drivers/net/octeontx2/otx2_ethdev.h\n+++ b/drivers/net/octeontx2/otx2_ethdev.h\n@@ -122,8 +122,8 @@\n \tDEV_TX_OFFLOAD_MT_LOCKFREE\t| \\\n \tDEV_TX_OFFLOAD_VLAN_INSERT\t| \\\n \tDEV_TX_OFFLOAD_QINQ_INSERT\t| \\\n-\tDEV_TX_OFFLOAD_OUTER_IPV4_CKSUM | \\\n-\tDEV_TX_OFFLOAD_OUTER_UDP_CKSUM  | \\\n+\tDEV_TX_OFFLOAD_OUTER_IPV4_CKSUM\t| \\\n+\tDEV_TX_OFFLOAD_OUTER_UDP_CKSUM\t| \\\n \tDEV_TX_OFFLOAD_TCP_CKSUM\t| \\\n \tDEV_TX_OFFLOAD_UDP_CKSUM\t| \\\n \tDEV_TX_OFFLOAD_SCTP_CKSUM\t| \\\n@@ -140,11 +140,12 @@\n \tDEV_RX_OFFLOAD_OUTER_IPV4_CKSUM | \\\n \tDEV_RX_OFFLOAD_SCATTER\t\t| \\\n \tDEV_RX_OFFLOAD_JUMBO_FRAME\t| \\\n-\tDEV_RX_OFFLOAD_OUTER_UDP_CKSUM | \\\n-\tDEV_RX_OFFLOAD_VLAN_STRIP | \\\n-\tDEV_RX_OFFLOAD_VLAN_FILTER | \\\n-\tDEV_RX_OFFLOAD_QINQ_STRIP | \\\n-\tDEV_RX_OFFLOAD_TIMESTAMP)\n+\tDEV_RX_OFFLOAD_OUTER_UDP_CKSUM\t| \\\n+\tDEV_RX_OFFLOAD_VLAN_STRIP\t| \\\n+\tDEV_RX_OFFLOAD_VLAN_FILTER\t| \\\n+\tDEV_RX_OFFLOAD_QINQ_STRIP\t| \\\n+\tDEV_RX_OFFLOAD_TIMESTAMP\t| \\\n+\tDEV_RX_OFFLOAD_RSS_HASH)\n \n #define NIX_DEFAULT_RSS_CTX_GROUP  0\n #define NIX_DEFAULT_RSS_MCAM_IDX  -1\ndiff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c\nindex 575982fd0..853748afe 100644\n--- a/drivers/net/qede/qede_ethdev.c\n+++ b/drivers/net/qede/qede_ethdev.c\n@@ -1186,6 +1186,8 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev)\n \n \tPMD_INIT_FUNC_TRACE(edev);\n \n+\trxmode->offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \t/* We need to have min 1 RX queue.There is no min check in\n \t * rte_eth_dev_configure(), so we are checking it here.\n \t */\n@@ -1306,7 +1308,8 @@ qede_dev_info_get(struct rte_eth_dev *eth_dev,\n \t\t\t\t     DEV_RX_OFFLOAD_SCATTER\t|\n \t\t\t\t     DEV_RX_OFFLOAD_JUMBO_FRAME |\n \t\t\t\t     DEV_RX_OFFLOAD_VLAN_FILTER |\n-\t\t\t\t     DEV_RX_OFFLOAD_VLAN_STRIP);\n+\t\t\t\t     DEV_RX_OFFLOAD_VLAN_STRIP  |\n+\t\t\t\t     DEV_RX_OFFLOAD_RSS_HASH);\n \tdev_info->rx_queue_offload_capa = 0;\n \n \t/* TX offloads are on a per-packet basis, so it is applicable\ndiff --git a/drivers/net/sfc/sfc_ef10_essb_rx.c b/drivers/net/sfc/sfc_ef10_essb_rx.c\nindex 63da807ea..d9d2ce6bd 100644\n--- a/drivers/net/sfc/sfc_ef10_essb_rx.c\n+++ b/drivers/net/sfc/sfc_ef10_essb_rx.c\n@@ -715,7 +715,8 @@ struct sfc_dp_rx sfc_ef10_essb_rx = {\n \t},\n \t.features\t\t= SFC_DP_RX_FEAT_FLOW_FLAG |\n \t\t\t\t  SFC_DP_RX_FEAT_FLOW_MARK,\n-\t.dev_offload_capa\t= DEV_RX_OFFLOAD_CHECKSUM,\n+\t.dev_offload_capa\t= DEV_RX_OFFLOAD_CHECKSUM |\n+\t\t\t\t  DEV_RX_OFFLOAD_RSS_HASH,\n \t.queue_offload_capa\t= 0,\n \t.get_dev_info\t\t= sfc_ef10_essb_rx_get_dev_info,\n \t.pool_ops_supported\t= sfc_ef10_essb_rx_pool_ops_supported,\ndiff --git a/drivers/net/sfc/sfc_ef10_rx.c b/drivers/net/sfc/sfc_ef10_rx.c\nindex f2fc6e70a..9e527b7fb 100644\n--- a/drivers/net/sfc/sfc_ef10_rx.c\n+++ b/drivers/net/sfc/sfc_ef10_rx.c\n@@ -796,7 +796,8 @@ struct sfc_dp_rx sfc_ef10_rx = {\n \t.features\t\t= SFC_DP_RX_FEAT_MULTI_PROCESS |\n \t\t\t\t  SFC_DP_RX_FEAT_INTR,\n \t.dev_offload_capa\t= DEV_RX_OFFLOAD_CHECKSUM |\n-\t\t\t\t  DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM,\n+\t\t\t\t  DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM |\n+\t\t\t\t  DEV_RX_OFFLOAD_RSS_HASH,\n \t.queue_offload_capa\t= DEV_RX_OFFLOAD_SCATTER,\n \t.get_dev_info\t\t= sfc_ef10_rx_get_dev_info,\n \t.qsize_up_rings\t\t= sfc_ef10_rx_qsize_up_rings,\ndiff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c\nindex e6809bb64..10fa1e5ff 100644\n--- a/drivers/net/sfc/sfc_rx.c\n+++ b/drivers/net/sfc/sfc_rx.c\n@@ -617,7 +617,8 @@ struct sfc_dp_rx sfc_efx_rx = {\n \t\t.hw_fw_caps\t= 0,\n \t},\n \t.features\t\t= SFC_DP_RX_FEAT_INTR,\n-\t.dev_offload_capa\t= DEV_RX_OFFLOAD_CHECKSUM,\n+\t.dev_offload_capa\t= DEV_RX_OFFLOAD_CHECKSUM |\n+\t\t\t\t  DEV_RX_OFFLOAD_RSS_HASH,\n \t.queue_offload_capa\t= DEV_RX_OFFLOAD_SCATTER,\n \t.qsize_up_rings\t\t= sfc_efx_rx_qsize_up_rings,\n \t.qcreate\t\t= sfc_efx_rx_qcreate,\n@@ -1556,6 +1557,10 @@ sfc_rx_check_mode(struct sfc_adapter *sa, struct rte_eth_rxmode *rxmode)\n \t\trxmode->offloads |= DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM;\n \t}\n \n+\tif ((offloads_supported & DEV_RX_OFFLOAD_RSS_HASH) &&\n+\t    (~rxmode->offloads & DEV_RX_OFFLOAD_RSS_HASH))\n+\t\trxmode->offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \treturn rc;\n }\n \ndiff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c\nindex b93d45712..062eec3f2 100644\n--- a/drivers/net/thunderx/nicvf_ethdev.c\n+++ b/drivers/net/thunderx/nicvf_ethdev.c\n@@ -1920,6 +1920,8 @@ nicvf_dev_configure(struct rte_eth_dev *dev)\n \n \tPMD_INIT_FUNC_TRACE();\n \n+\trxmode->offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \tif (!rte_eal_has_hugepages()) {\n \t\tPMD_INIT_LOG(INFO, \"Huge page is not configured\");\n \t\treturn -EINVAL;\ndiff --git a/drivers/net/thunderx/nicvf_ethdev.h b/drivers/net/thunderx/nicvf_ethdev.h\nindex c0bfbf848..391411799 100644\n--- a/drivers/net/thunderx/nicvf_ethdev.h\n+++ b/drivers/net/thunderx/nicvf_ethdev.h\n@@ -41,7 +41,8 @@\n \tDEV_RX_OFFLOAD_CHECKSUM    | \\\n \tDEV_RX_OFFLOAD_VLAN_STRIP  | \\\n \tDEV_RX_OFFLOAD_JUMBO_FRAME | \\\n-\tDEV_RX_OFFLOAD_SCATTER)\n+\tDEV_RX_OFFLOAD_SCATTER     | \\\n+\tDEV_RX_OFFLOAD_RSS_HASH)\n \n #define NICVF_DEFAULT_RX_FREE_THRESH    224\n #define NICVF_DEFAULT_TX_FREE_THRESH    224\ndiff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c\nindex d1faeaa81..53fbd2bd0 100644\n--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c\n+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c\n@@ -56,7 +56,8 @@\n \t DEV_RX_OFFLOAD_UDP_CKSUM |\t\\\n \t DEV_RX_OFFLOAD_TCP_CKSUM |\t\\\n \t DEV_RX_OFFLOAD_TCP_LRO |\t\\\n-\t DEV_RX_OFFLOAD_JUMBO_FRAME)\n+\t DEV_RX_OFFLOAD_JUMBO_FRAME |   \\\n+\t DEV_RX_OFFLOAD_RSS_HASH)\n \n static int eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev);\n static int eth_vmxnet3_dev_uninit(struct rte_eth_dev *eth_dev);\n@@ -407,6 +408,8 @@ vmxnet3_dev_configure(struct rte_eth_dev *dev)\n \n \tPMD_INIT_FUNC_TRACE();\n \n+\tdev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;\n+\n \tif (dev->data->nb_tx_queues > VMXNET3_MAX_TX_QUEUES ||\n \t    dev->data->nb_rx_queues > VMXNET3_MAX_RX_QUEUES) {\n \t\tPMD_INIT_LOG(ERR, \"ERROR: Number of queues not supported\");\n",
    "prefixes": [
        "v17",
        "04/10"
    ]
}