net/pcap: update function to allow reuse
rte_eth_from_pcaps and rte_eth_from_pcaps_n_dumpers functions are very close, updated rte_eth_from_pcaps function and reused. No functional update. Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
parent
6fa06c6901
commit
01f800bccb
@ -910,43 +910,11 @@ rte_eth_from_pcaps_common(const char *name, struct pmd_devargs *rx_queues,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
rte_eth_from_pcaps_n_dumpers(const char *name,
|
rte_eth_from_pcaps(const char *name, struct pmd_devargs *rx_queues,
|
||||||
struct pmd_devargs *rx_queues,
|
const unsigned nb_rx_queues, struct pmd_devargs *tx_queues,
|
||||||
const unsigned nb_rx_queues,
|
const unsigned nb_tx_queues, const unsigned numa_node,
|
||||||
struct pmd_devargs *tx_queues,
|
struct rte_kvargs *kvlist, int single_iface,
|
||||||
const unsigned nb_tx_queues,
|
unsigned int using_dumpers)
|
||||||
const unsigned numa_node,
|
|
||||||
struct rte_kvargs *kvlist)
|
|
||||||
{
|
|
||||||
struct pmd_internals *internals = NULL;
|
|
||||||
struct rte_eth_dev *eth_dev = NULL;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = rte_eth_from_pcaps_common(name, rx_queues, nb_rx_queues,
|
|
||||||
tx_queues, nb_tx_queues, numa_node, kvlist,
|
|
||||||
&internals, ð_dev);
|
|
||||||
|
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
/* using multiple pcaps/interfaces */
|
|
||||||
internals->single_iface = 0;
|
|
||||||
|
|
||||||
eth_dev->rx_pkt_burst = eth_pcap_rx;
|
|
||||||
eth_dev->tx_pkt_burst = eth_pcap_tx_dumper;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
rte_eth_from_pcaps(const char *name,
|
|
||||||
struct pmd_devargs *rx_queues,
|
|
||||||
const unsigned nb_rx_queues,
|
|
||||||
struct pmd_devargs *tx_queues,
|
|
||||||
const unsigned nb_tx_queues,
|
|
||||||
const unsigned numa_node,
|
|
||||||
struct rte_kvargs *kvlist,
|
|
||||||
int single_iface)
|
|
||||||
{
|
{
|
||||||
struct pmd_internals *internals = NULL;
|
struct pmd_internals *internals = NULL;
|
||||||
struct rte_eth_dev *eth_dev = NULL;
|
struct rte_eth_dev *eth_dev = NULL;
|
||||||
@ -963,7 +931,11 @@ rte_eth_from_pcaps(const char *name,
|
|||||||
internals->single_iface = single_iface;
|
internals->single_iface = single_iface;
|
||||||
|
|
||||||
eth_dev->rx_pkt_burst = eth_pcap_rx;
|
eth_dev->rx_pkt_burst = eth_pcap_rx;
|
||||||
eth_dev->tx_pkt_burst = eth_pcap_tx;
|
|
||||||
|
if (using_dumpers)
|
||||||
|
eth_dev->tx_pkt_burst = eth_pcap_tx_dumper;
|
||||||
|
else
|
||||||
|
eth_dev->tx_pkt_burst = eth_pcap_tx;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1004,7 +976,7 @@ rte_pmd_pcap_devinit(const char *name, const char *params)
|
|||||||
dumpers.queue[0].name = pcaps.queue[0].name;
|
dumpers.queue[0].name = pcaps.queue[0].name;
|
||||||
dumpers.queue[0].type = pcaps.queue[0].type;
|
dumpers.queue[0].type = pcaps.queue[0].type;
|
||||||
ret = rte_eth_from_pcaps(name, &pcaps, 1, &dumpers, 1,
|
ret = rte_eth_from_pcaps(name, &pcaps, 1, &dumpers, 1,
|
||||||
numa_node, kvlist, 1);
|
numa_node, kvlist, 1, using_dumpers);
|
||||||
goto free_kvlist;
|
goto free_kvlist;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1061,12 +1033,8 @@ rte_pmd_pcap_devinit(const char *name, const char *params)
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto free_kvlist;
|
goto free_kvlist;
|
||||||
|
|
||||||
if (using_dumpers)
|
ret = rte_eth_from_pcaps(name, &pcaps, pcaps.num_of_queue, &dumpers,
|
||||||
ret = rte_eth_from_pcaps_n_dumpers(name, &pcaps, pcaps.num_of_queue,
|
dumpers.num_of_queue, numa_node, kvlist, 0, using_dumpers);
|
||||||
&dumpers, dumpers.num_of_queue, numa_node, kvlist);
|
|
||||||
else
|
|
||||||
ret = rte_eth_from_pcaps(name, &pcaps, pcaps.num_of_queue, &dumpers,
|
|
||||||
dumpers.num_of_queue, numa_node, kvlist, 0);
|
|
||||||
|
|
||||||
free_kvlist:
|
free_kvlist:
|
||||||
rte_kvargs_free(kvlist);
|
rte_kvargs_free(kvlist);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user