From patchwork Mon May 10 16:45:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Heinrich Kuhn X-Patchwork-Id: 93112 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 150D9A0A0E; Mon, 10 May 2021 18:46:32 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C7F604014E; Mon, 10 May 2021 18:46:31 +0200 (CEST) Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mails.dpdk.org (Postfix) with ESMTP id D71AC40140 for ; Mon, 10 May 2021 18:46:29 +0200 (CEST) Received: by mail-wm1-f42.google.com with SMTP id l24-20020a7bc4580000b029014ac3b80020so11555858wmi.1 for ; Mon, 10 May 2021 09:46:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ow5Xw/hP0+FYx0jhS7bTgLvMt7svrsQzZAsy1id29Xg=; b=YI8a7uWQrh8U/msDfAdwbGQABXfXXPIsJlZZUCG3EaoHPGsUtyFOW92CkyHBZL/+5G SijRsWw65Ro7TJn/HwwWtR16NHU58N6q+gH0bSsMHIMVAuHSY0/PiiVgdgOxndhZs4TP 755psamQrzvaZ9jK/jC2W22lboG6em2aqrAob+aZLsLwRX9mBRnvIn+71UgE/8xc00SJ a2FE4eCpQge7e9/JvIKxlrCJf0KydvFbc2Dz/TulBRBZROr9wEbWXLXBQOw1DOolRq5B jDs8Ta85mFkYaQxfqYQZxOnKrnJkXdV+XfuGVaenCyTHKYEcdHKHxxUnX2SiCkFW7JZn LgKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ow5Xw/hP0+FYx0jhS7bTgLvMt7svrsQzZAsy1id29Xg=; b=C1WfQzHbUNxMcx5o7U8oZzfV3KOuCsbSDDXyhTM6aRIaDisceT6PyKRhMJ2k9s+lsL Z3JF5zYuxW9JIlbAY4IT2LDuLTl0SZnoOpzWzIAc6QVDjSJPYGWsGG3MsACKbDJ0nEtB SDHRvBGjGZmUx5IUqTP+zK+oOTHpMSiY4TC5Nmiadckkw7AMUJeI9SiOlejb3/bPGYot H1QG3iVx0Zk3wIS7X5qyzu9cJaqyvxNxREYjCkY/6EMJqJwXG8E+VOSazgZpLdY8GTv9 GRTzHg8pZ54sogTBta+hwcagvq6qn5mAHqq5FbldvL5WlVq8uzrFpPzykiNX8obCCkUX hbLw== X-Gm-Message-State: AOAM531CLJrMqMuCbisb4zfnG5kKIlAdTX4whnaRDRs6miyFOp81VC+1 BZdCnc1ellHhSeHPAacqLm4vXQid9vbkzyF8piCDGXG7/FcbbE0V9Q0UJZBDxEIbVVdZ9FVMNg3 Vd2QRMP43iPzJyHQDCusrm5Ne0coQv/SJOHwYm7iVrfg3Hek2Jxu0JoN/UtdsdQzx X-Google-Smtp-Source: ABdhPJw6pslwWh7C+bjjYmielMEBNsEa+sVx38HyPOrcl+AbmsYD+XmebGxN+4ZpVIPus9fozM/Wyg== X-Received: by 2002:a05:600c:22c9:: with SMTP id 9mr27670483wmg.85.1620665189479; Mon, 10 May 2021 09:46:29 -0700 (PDT) Received: from localhost.localdomain ([102.132.224.154]) by smtp.gmail.com with ESMTPSA id b7sm23577728wri.83.2021.05.10.09.46.27 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 10 May 2021 09:46:29 -0700 (PDT) From: Heinrich Kuhn To: dev@dpdk.org Cc: Heinrich Kuhn , stable@dpdk.org, Simon Horman Date: Mon, 10 May 2021 18:45:50 +0200 Message-Id: <20210510164550.8888-1-heinrich.kuhn@netronome.com> X-Mailer: git-send-email 2.30.1 (Apple Git-130) MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH] net/nfp: fix reporting of RSS capabilities 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 Sender: "dev" Before this change the dev_infos callback always reported RSS capabilities regardless of whether the capability is supported by the device or not. First check the capabilities field in the BAR of the device and advertise RSS functionality accordingly. Fixes: 8b945a7f7d ("drivers/net: update Rx RSS hash offload capabilities") Cc: stable@dpdk.org Signed-off-by: Heinrich Kuhn Signed-off-by: Simon Horman --- drivers/net/nfp/nfp_net.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index 888324cd2..887807dbd 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -1257,9 +1257,6 @@ 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_RX_OFFLOAD_RSS_HASH; - if (hw->cap & NFP_NET_CFG_CTRL_TXVLAN) dev_info->tx_offload_capa = DEV_TX_OFFLOAD_VLAN_INSERT; @@ -1308,15 +1305,22 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) .nb_mtu_seg_max = NFP_TX_MAX_MTU_SEG, }; - dev_info->flow_type_rss_offloads = ETH_RSS_IPV4 | - ETH_RSS_NONFRAG_IPV4_TCP | - ETH_RSS_NONFRAG_IPV4_UDP | - ETH_RSS_IPV6 | - ETH_RSS_NONFRAG_IPV6_TCP | - ETH_RSS_NONFRAG_IPV6_UDP; + /* All NFP devices support jumbo frames */ + dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME; + + if (hw->cap & NFP_NET_CFG_CTRL_RSS) { + dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_RSS_HASH; - dev_info->reta_size = NFP_NET_CFG_RSS_ITBL_SZ; - dev_info->hash_key_size = NFP_NET_CFG_RSS_KEY_SZ; + dev_info->flow_type_rss_offloads = ETH_RSS_IPV4 | + ETH_RSS_NONFRAG_IPV4_TCP | + ETH_RSS_NONFRAG_IPV4_UDP | + ETH_RSS_IPV6 | + ETH_RSS_NONFRAG_IPV6_TCP | + ETH_RSS_NONFRAG_IPV6_UDP; + + dev_info->reta_size = NFP_NET_CFG_RSS_ITBL_SZ; + dev_info->hash_key_size = NFP_NET_CFG_RSS_KEY_SZ; + } dev_info->speed_capa = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G | ETH_LINK_SPEED_25G | ETH_LINK_SPEED_40G |