[PATCH v2 2/2] net/null: revise info_get
Stephen Hemminger
stephen at networkplumber.org
Tue Jan 6 17:47:15 CET 2026
The dev_info_get callback does not need to check for invalid arguments
since that is already done at ethdev layer.
Make the min/max MTU values reflect the most an Ethernet type
PMD would allow.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
app/test/test_pmd_null.c | 13 +++++++++++--
drivers/net/null/rte_eth_null.c | 11 ++++-------
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/app/test/test_pmd_null.c b/app/test/test_pmd_null.c
index c6a8bba701..ee62d7ecb5 100644
--- a/app/test/test_pmd_null.c
+++ b/app/test/test_pmd_null.c
@@ -430,6 +430,10 @@ static int
test_null_dev_info(void)
{
struct rte_eth_dev_info dev_info;
+ const uint16_t jumbo_mtu = RTE_ETHER_MAX_JUMBO_FRAME_LEN
+ - RTE_ETHER_HDR_LEN - RTE_ETHER_CRC_LEN;
+ const uint16_t min_mtu = RTE_ETHER_MIN_LEN - RTE_ETHER_HDR_LEN -
+ RTE_ETHER_CRC_LEN;
int ret;
ret = rte_eth_dev_info_get(port_id, &dev_info);
@@ -438,8 +442,13 @@ test_null_dev_info(void)
/* Verify expected device info values */
TEST_ASSERT(dev_info.max_mac_addrs == 1,
"Expected max_mac_addrs=1, got %u", dev_info.max_mac_addrs);
- TEST_ASSERT(dev_info.max_rx_pktlen == UINT32_MAX,
- "Unexpected max_rx_pktlen");
+
+ TEST_ASSERT(dev_info.max_mtu == jumbo_mtu,
+ "Unexpected max_mtu: %u", dev_info.max_mtu);
+ TEST_ASSERT(dev_info.min_mtu == min_mtu,
+ "Unexpected min_mtu: %u", dev_info.max_mtu);
+ TEST_ASSERT(dev_info.max_rx_pktlen == RTE_ETHER_MAX_JUMBO_FRAME_LEN,
+ "Unexpected max_rx_pktlen: %u", dev_info.max_rx_pktlen);
TEST_ASSERT(dev_info.min_rx_bufsize == 0,
"Expected min_rx_bufsize=0, got %u", dev_info.min_rx_bufsize);
diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 46e7e7bd8c..2928f0d2d5 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -298,19 +298,16 @@ static int
eth_dev_info(struct rte_eth_dev *dev,
struct rte_eth_dev_info *dev_info)
{
- struct pmd_internals *internals;
-
- if ((dev == NULL) || (dev_info == NULL))
- return -EINVAL;
+ struct pmd_internals *internals = dev->data->dev_private;
- internals = dev->data->dev_private;
dev_info->max_mac_addrs = 1;
- dev_info->max_rx_pktlen = (uint32_t)-1;
dev_info->max_rx_queues = RTE_DIM(internals->rx_null_queues);
dev_info->max_tx_queues = RTE_DIM(internals->tx_null_queues);
- dev_info->min_rx_bufsize = 0;
dev_info->tx_offload_capa = RTE_ETH_TX_OFFLOAD_MULTI_SEGS | RTE_ETH_TX_OFFLOAD_MT_LOCKFREE;
+ dev_info->max_rx_pktlen = RTE_ETHER_MAX_JUMBO_FRAME_LEN;
+ dev_info->max_mtu = RTE_ETHER_MAX_JUMBO_FRAME_LEN
+ - RTE_ETHER_HDR_LEN - RTE_ETHER_CRC_LEN;
dev_info->reta_size = internals->reta_size;
dev_info->flow_type_rss_offloads = internals->flow_type_rss_offloads;
dev_info->hash_key_size = sizeof(internals->rss_key);
--
2.51.0
More information about the dev
mailing list