[PATCH v9 3/5] net/null: remove redundant argument validation
Stephen Hemminger
stephen at networkplumber.org
Thu Jan 29 21:25:29 CET 2026
The dev_ops callbacks for stop, rx_queue_setup, and tx_queue_setup
are only called from the ethdev layer which already validates the
device pointer and queue index arguments.
Remove the redundant checks for:
- dev == NULL in eth_dev_stop, eth_rx_queue_setup, eth_tx_queue_setup
- queue_id >= nb_queues in eth_rx_queue_setup, eth_tx_queue_setup
Also consolidate variable declarations with their initializations
and remove unnecessary NULL initialization in rte_pmd_null_remove.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
drivers/net/null/rte_eth_null.c | 44 ++++++++-------------------------
1 file changed, 10 insertions(+), 34 deletions(-)
diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index cd7a29bce9..d5c419ec15 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -207,9 +207,6 @@ eth_dev_stop(struct rte_eth_dev *dev)
{
uint16_t i;
- if (dev == NULL)
- return 0;
-
dev->data->dev_link.link_status = RTE_ETH_LINK_DOWN;
for (i = 0; i < dev->data->nb_rx_queues; i++)
@@ -227,25 +224,16 @@ eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
const struct rte_eth_rxconf *rx_conf __rte_unused,
struct rte_mempool *mb_pool)
{
+ struct pmd_internals *internals = dev->data->dev_private;
+ unsigned int packet_size = internals->packet_size;
struct rte_mbuf *dummy_packet;
- struct pmd_internals *internals;
- unsigned int packet_size;
- if ((dev == NULL) || (mb_pool == NULL))
+ if (mb_pool == NULL)
return -EINVAL;
- internals = dev->data->dev_private;
-
- if (rx_queue_id >= dev->data->nb_rx_queues)
- return -ENODEV;
-
- packet_size = internals->packet_size;
-
internals->rx_null_queues[rx_queue_id].mb_pool = mb_pool;
- dev->data->rx_queues[rx_queue_id] =
- &internals->rx_null_queues[rx_queue_id];
- dummy_packet = rte_zmalloc_socket(NULL,
- packet_size, 0, dev->data->numa_node);
+ dev->data->rx_queues[rx_queue_id] = &internals->rx_null_queues[rx_queue_id];
+ dummy_packet = rte_zmalloc_socket(NULL, packet_size, 0, dev->data->numa_node);
if (dummy_packet == NULL)
return -ENOMEM;
@@ -261,24 +249,12 @@ eth_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id,
unsigned int socket_id __rte_unused,
const struct rte_eth_txconf *tx_conf __rte_unused)
{
+ struct pmd_internals *internals = dev->data->dev_private;
+ unsigned int packet_size = internals->packet_size;
struct rte_mbuf *dummy_packet;
- struct pmd_internals *internals;
- unsigned int packet_size;
-
- if (dev == NULL)
- return -EINVAL;
- internals = dev->data->dev_private;
-
- if (tx_queue_id >= dev->data->nb_tx_queues)
- return -ENODEV;
-
- packet_size = internals->packet_size;
-
- dev->data->tx_queues[tx_queue_id] =
- &internals->tx_null_queues[tx_queue_id];
- dummy_packet = rte_zmalloc_socket(NULL,
- packet_size, 0, dev->data->numa_node);
+ dev->data->tx_queues[tx_queue_id] = &internals->tx_null_queues[tx_queue_id];
+ dummy_packet = rte_zmalloc_socket(NULL, packet_size, 0, dev->data->numa_node);
if (dummy_packet == NULL)
return -ENOMEM;
@@ -739,7 +715,7 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)
static int
rte_pmd_null_remove(struct rte_vdev_device *dev)
{
- struct rte_eth_dev *eth_dev = NULL;
+ struct rte_eth_dev *eth_dev;
if (!dev)
return -EINVAL;
--
2.51.0
More information about the dev
mailing list