patches for DPDK stable branches
 help / color / mirror / Atom feed
* [PATCH v2] net/nfp: fix mtu settings
@ 2022-03-18 11:21 Peng Zhang
  0 siblings, 0 replies; 2+ messages in thread
From: Peng Zhang @ 2022-03-18 11:21 UTC (permalink / raw)
  To: dev; +Cc: heinrich.kuhn, Peng Zhang, stable, Chaoyong He, Louis Peens

1.When the setting mtu is higher than flbufsz, the mtu doesn't work.
But it doesn't have any notice about this restrict.
2.add the min_mtu and max_mtu in the nfp_net_infos_get() to avoid
the setting mtu isn't in the range

This patch will add these restrict of nfp mtu.

Fixes: d4a27a3 ("nfp: add basic features")
Cc: stable@dpdk.org

Signed-off-by: Peng Zhang <peng.zhang@corigine.com>
Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Signed-off-by: Louis Peens <louis.peens@corigine.com>
---
v2:
* add the min_mtu and max_mtu in the nfp_net_infos_get()
---

 drivers/net/nfp/nfp_common.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/nfp/nfp_common.c b/drivers/net/nfp/nfp_common.c
index f8978e803a..4e48e33a63 100644
--- a/drivers/net/nfp/nfp_common.c
+++ b/drivers/net/nfp/nfp_common.c
@@ -693,6 +693,8 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 
 	hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
+	dev_info->max_mtu = (uint16_t)hw->max_mtu;
+	dev_info->min_mtu = RTE_ETHER_MIN_MTU;
 	dev_info->max_rx_queues = (uint16_t)hw->max_rx_queues;
 	dev_info->max_tx_queues = (uint16_t)hw->max_tx_queues;
 	dev_info->min_rx_bufsize = RTE_ETHER_MIN_MTU;
@@ -956,6 +958,13 @@ nfp_net_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 		return -EBUSY;
 	}
 
+	/* the setting mtu is lower than flbufsz */
+	if (mtu > hw->flbufsz) {
+		PMD_DRV_LOG(ERR, "the setting mtu must be lower than current mbufsize of %d",
+			    hw->flbufsz);
+		return -ERANGE;
+	}
+
 	/* writing to configuration space */
 	nn_cfg_writel(hw, NFP_NET_CFG_MTU, mtu);
 
-- 
2.27.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH v2] net/nfp: fix mtu settings
       [not found] <20220317143917.499138-1-peng.zhang@corigine.com>
@ 2022-03-18 11:38 ` Peng Zhang
  0 siblings, 0 replies; 2+ messages in thread
From: Peng Zhang @ 2022-03-18 11:38 UTC (permalink / raw)
  To: dev; +Cc: heinrich.kuhn, Peng Zhang, stable, Chaoyong He, Louis Peens

1.When the setting mtu is higher than flbufsz, the mtu doesn't work.
But it doesn't have any notice about this restrict.
2.add the min_mtu and max_mtu in the nfp_net_infos_get() to avoid
the setting mtu isn't in the range

This patch will add these restrict of nfp mtu.

Fixes: d4a27a3 ("nfp: add basic features")
Cc: stable@dpdk.org

Signed-off-by: Peng Zhang <peng.zhang@corigine.com>
Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Signed-off-by: Louis Peens <louis.peens@corigine.com>
---
v2:
* add the min_mtu and max_mtu in the nfp_net_infos_get()
---

 drivers/net/nfp/nfp_common.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/nfp/nfp_common.c b/drivers/net/nfp/nfp_common.c
index f8978e803a..4e48e33a63 100644
--- a/drivers/net/nfp/nfp_common.c
+++ b/drivers/net/nfp/nfp_common.c
@@ -693,6 +693,8 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 
 	hw = NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
+	dev_info->max_mtu = (uint16_t)hw->max_mtu;
+	dev_info->min_mtu = RTE_ETHER_MIN_MTU;
 	dev_info->max_rx_queues = (uint16_t)hw->max_rx_queues;
 	dev_info->max_tx_queues = (uint16_t)hw->max_tx_queues;
 	dev_info->min_rx_bufsize = RTE_ETHER_MIN_MTU;
@@ -956,6 +958,13 @@ nfp_net_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 		return -EBUSY;
 	}
 
+	/* the setting mtu is lower than flbufsz */
+	if (mtu > hw->flbufsz) {
+		PMD_DRV_LOG(ERR, "the setting mtu must be lower than current mbufsize of %d",
+			    hw->flbufsz);
+		return -ERANGE;
+	}
+
 	/* writing to configuration space */
 	nn_cfg_writel(hw, NFP_NET_CFG_MTU, mtu);
 
-- 
2.27.0


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-03-18 11:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-18 11:21 [PATCH v2] net/nfp: fix mtu settings Peng Zhang
     [not found] <20220317143917.499138-1-peng.zhang@corigine.com>
2022-03-18 11:38 ` Peng Zhang

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ http://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git