pcap: convert to use of PMD_REGISTER_DRIVER and fix linking
[dpdk.git] / lib / librte_pmd_pcap / rte_eth_pcap.c
index fbafd19..c987940 100644 (file)
 #include <rte_string_fns.h>
 #include <rte_cycles.h>
 #include <rte_kvargs.h>
+#include <rte_vdev.h>
 
 #include <net/if.h>
 
-#include "rte_eth_pcap.h"
+#include <pcap.h>
 
 #define RTE_ETH_PCAP_SNAPSHOT_LEN 65535
 #define RTE_ETH_PCAP_SNAPLEN 4096
@@ -217,7 +218,6 @@ eth_pcap_tx_dumper(void *queue,
        return num_tx;
 }
 
-#ifdef PCAP_CAN_SEND
 /*
  * Callback to handle sending packets through a real NIC.
  */
@@ -248,17 +248,6 @@ eth_pcap_tx(void *queue,
        tx_queue->err_pkts += nb_pkts - num_tx;
        return num_tx;
 }
-#else
-static uint16_t
-eth_pcap_tx(__rte_unused void *queue,
-               __rte_unused struct rte_mbuf **bufs,
-               __rte_unused uint16_t nb_pkts)
-{
-       RTE_LOG(ERR, PMD, "pcap library cannot send packets, please rebuild "
-                         "with a more up to date libpcap\n");
-       return -1;
-}
-#endif
 
 static int
 eth_dev_start(struct rte_eth_dev *dev)
@@ -697,8 +686,8 @@ rte_eth_from_pcaps(pcap_t * const rx_queues[],
 }
 
 
-int
-rte_pmd_pcap_init(const char *name, const char *params)
+static int
+rte_pmd_pcap_devinit(const char *name, const char *params)
 {
        unsigned numa_node, using_dumpers = 0;
        int ret;
@@ -778,3 +767,9 @@ rte_pmd_pcap_init(const char *name, const char *params)
 
 }
 
+static struct rte_vdev_driver pmd_pcap_drv = {
+       .name = "eth_pcap",
+       .init = rte_pmd_pcap_devinit,
+};
+
+PMD_REGISTER_DRIVER(pmd_pcap_drv, PMD_VDEV);