net/null: group device arguments

Group device argument to the struct, to increase code readability.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
Ferruh Yigit 2020-03-02 17:36:44 +00:00
parent 4df90194f2
commit 276bb4cec1

View File

@ -36,6 +36,11 @@ struct null_queue {
rte_atomic64_t tx_pkts; rte_atomic64_t tx_pkts;
}; };
struct pmd_options {
unsigned int packet_copy;
unsigned int packet_size;
};
struct pmd_internals { struct pmd_internals {
unsigned int packet_size; unsigned int packet_size;
unsigned int packet_copy; unsigned int packet_copy;
@ -462,9 +467,7 @@ static const struct eth_dev_ops ops = {
}; };
static int static int
eth_dev_null_create(struct rte_vdev_device *dev, eth_dev_null_create(struct rte_vdev_device *dev, struct pmd_options *args)
unsigned int packet_size,
unsigned int packet_copy)
{ {
const unsigned int nb_rx_queues = 1; const unsigned int nb_rx_queues = 1;
const unsigned int nb_tx_queues = 1; const unsigned int nb_tx_queues = 1;
@ -499,8 +502,8 @@ eth_dev_null_create(struct rte_vdev_device *dev,
* so the nulls are local per-process */ * so the nulls are local per-process */
internals = eth_dev->data->dev_private; internals = eth_dev->data->dev_private;
internals->packet_size = packet_size; internals->packet_size = args->packet_size;
internals->packet_copy = packet_copy; internals->packet_copy = args->packet_copy;
internals->port_id = eth_dev->data->port_id; internals->port_id = eth_dev->data->port_id;
rte_eth_random_addr(internals->eth_addr.addr_bytes); rte_eth_random_addr(internals->eth_addr.addr_bytes);
@ -520,7 +523,7 @@ eth_dev_null_create(struct rte_vdev_device *dev,
eth_dev->dev_ops = &ops; eth_dev->dev_ops = &ops;
/* finally assign rx and tx ops */ /* finally assign rx and tx ops */
if (packet_copy) { if (internals->packet_copy) {
eth_dev->rx_pkt_burst = eth_null_copy_rx; eth_dev->rx_pkt_burst = eth_null_copy_rx;
eth_dev->tx_pkt_burst = eth_null_copy_tx; eth_dev->tx_pkt_burst = eth_null_copy_tx;
} else { } else {
@ -570,8 +573,10 @@ static int
rte_pmd_null_probe(struct rte_vdev_device *dev) rte_pmd_null_probe(struct rte_vdev_device *dev)
{ {
const char *name, *params; const char *name, *params;
unsigned int packet_size = default_packet_size; struct pmd_options args = {
unsigned int packet_copy = default_packet_copy; .packet_copy = default_packet_copy,
.packet_size = default_packet_size,
};
struct rte_kvargs *kvlist = NULL; struct rte_kvargs *kvlist = NULL;
struct rte_eth_dev *eth_dev; struct rte_eth_dev *eth_dev;
int ret; int ret;
@ -612,23 +617,23 @@ rte_pmd_null_probe(struct rte_vdev_device *dev)
ret = rte_kvargs_process(kvlist, ret = rte_kvargs_process(kvlist,
ETH_NULL_PACKET_SIZE_ARG, ETH_NULL_PACKET_SIZE_ARG,
&get_packet_size_arg, &packet_size); &get_packet_size_arg, &args.packet_size);
if (ret < 0) if (ret < 0)
goto free_kvlist; goto free_kvlist;
ret = rte_kvargs_process(kvlist, ret = rte_kvargs_process(kvlist,
ETH_NULL_PACKET_COPY_ARG, ETH_NULL_PACKET_COPY_ARG,
&get_packet_copy_arg, &packet_copy); &get_packet_copy_arg, &args.packet_copy);
if (ret < 0) if (ret < 0)
goto free_kvlist; goto free_kvlist;
} }
PMD_LOG(INFO, "Configure pmd_null: packet size is %d, " PMD_LOG(INFO, "Configure pmd_null: packet size is %d, "
"packet copy is %s", packet_size, "packet copy is %s", args.packet_size,
packet_copy ? "enabled" : "disabled"); args.packet_copy ? "enabled" : "disabled");
ret = eth_dev_null_create(dev, packet_size, packet_copy); ret = eth_dev_null_create(dev, &args);
free_kvlist: free_kvlist:
if (kvlist) if (kvlist)