/*-
* BSD LICENSE
*
- * Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
+ * Copyright(c) 2010-2016 Intel Corporation. All rights reserved.
* Copyright(c) 2014 6WIND S.A.
* All rights reserved.
*
#include <rte_string_fns.h>
#include <rte_cycles.h>
#include <rte_kvargs.h>
-#include <rte_dev.h>
+#include <rte_vdev.h>
#include <net/if.h>
#define ETH_PCAP_ARG_MAXLEN 64
+#define RTE_PMD_PCAP_MAX_QUEUES 16
+
static char errbuf[PCAP_ERRBUF_SIZE];
static unsigned char tx_pcap_data[RTE_ETH_PCAP_SNAPLEN];
static struct timeval start_time;
struct rx_pcaps {
unsigned num_of_rx;
- pcap_t *pcaps[RTE_PMD_RING_MAX_RX_RINGS];
- const char *names[RTE_PMD_RING_MAX_RX_RINGS];
- const char *types[RTE_PMD_RING_MAX_RX_RINGS];
+ pcap_t *pcaps[RTE_PMD_PCAP_MAX_QUEUES];
+ const char *names[RTE_PMD_PCAP_MAX_QUEUES];
+ const char *types[RTE_PMD_PCAP_MAX_QUEUES];
};
struct tx_pcaps {
unsigned num_of_tx;
- pcap_dumper_t *dumpers[RTE_PMD_RING_MAX_TX_RINGS];
- pcap_t *pcaps[RTE_PMD_RING_MAX_RX_RINGS];
- const char *names[RTE_PMD_RING_MAX_RX_RINGS];
- const char *types[RTE_PMD_RING_MAX_RX_RINGS];
+ pcap_dumper_t *dumpers[RTE_PMD_PCAP_MAX_QUEUES];
+ pcap_t *pcaps[RTE_PMD_PCAP_MAX_QUEUES];
+ const char *names[RTE_PMD_PCAP_MAX_QUEUES];
+ const char *types[RTE_PMD_PCAP_MAX_QUEUES];
};
struct pmd_internals {
- struct pcap_rx_queue rx_queue[RTE_PMD_RING_MAX_RX_RINGS];
- struct pcap_tx_queue tx_queue[RTE_PMD_RING_MAX_TX_RINGS];
+ struct pcap_rx_queue rx_queue[RTE_PMD_PCAP_MAX_QUEUES];
+ struct pcap_tx_queue tx_queue[RTE_PMD_PCAP_MAX_QUEUES];
int if_index;
int single_iface;
};
return 0;
}
-static struct rte_driver pmd_pcap_drv = {
- .type = PMD_VDEV,
+static struct rte_vdev_driver pmd_pcap_drv = {
.init = rte_pmd_pcap_devinit,
.uninit = rte_pmd_pcap_devuninit,
};
-PMD_REGISTER_DRIVER(pmd_pcap_drv, net_pcap);
+DRIVER_REGISTER_VDEV(net_pcap, pmd_pcap_drv);
DRIVER_REGISTER_PARAM_STRING(net_pcap,
- "rx_pcap=<string> "
- "tx_pcap=<string> "
- "rx_iface=<ifc> "
- "tx_iface=<ifc> "
- "iface=<ifc>");
+ ETH_PCAP_RX_PCAP_ARG "=<string> "
+ ETH_PCAP_TX_PCAP_ARG "=<string> "
+ ETH_PCAP_RX_IFACE_ARG "=<ifc> "
+ ETH_PCAP_TX_IFACE_ARG "=<ifc> "
+ ETH_PCAP_IFACE_ARG "=<ifc>");