mbuf: replace data pointer by an offset
[dpdk.git] / lib / librte_pmd_pcap / rte_eth_pcap.c
index b3dbbda..2ff1e77 100644 (file)
@@ -151,10 +151,11 @@ eth_pcap_rx(void *queue,
 
                if (header.len <= buf_size) {
                        /* pcap packet will fit in the mbuf, go ahead and copy */
-                       rte_memcpy(mbuf->pkt.data, packet, header.len);
-                       mbuf->pkt.data_len = (uint16_t)header.len;
-                       mbuf->pkt.pkt_len = mbuf->pkt.data_len;
-                       bufs[i] = mbuf;
+                       rte_memcpy(rte_pktmbuf_mtod(mbuf, void *), packet,
+                                       header.len);
+                       mbuf->data_len = (uint16_t)header.len;
+                       mbuf->pkt_len = mbuf->data_len;
+                       bufs[num_rx] = mbuf;
                        num_rx++;
                } else {
                        /* pcap packet will not fit in the mbuf, so drop packet */
@@ -200,9 +201,10 @@ eth_pcap_tx_dumper(void *queue,
        for (i = 0; i < nb_pkts; i++) {
                mbuf = bufs[i];
                calculate_timestamp(&header.ts);
-               header.len = mbuf->pkt.data_len;
+               header.len = mbuf->data_len;
                header.caplen = header.len;
-               pcap_dump((u_char*) dumper_q->dumper, &header, mbuf->pkt.data);
+               pcap_dump((u_char *)dumper_q->dumper, &header,
+                               rte_pktmbuf_mtod(mbuf, void*));
                rte_pktmbuf_free(mbuf);
                num_tx++;
        }
@@ -237,8 +239,9 @@ eth_pcap_tx(void *queue,
 
        for (i = 0; i < nb_pkts; i++) {
                mbuf = bufs[i];
-               ret = pcap_sendpacket(tx_queue->pcap, (u_char*) mbuf->pkt.data,
-                               mbuf->pkt.data_len);
+               ret = pcap_sendpacket(tx_queue->pcap,
+                               rte_pktmbuf_mtod(mbuf, u_char *),
+                               mbuf->data_len);
                if (unlikely(ret != 0))
                        break;
                num_tx++;
@@ -534,7 +537,7 @@ open_tx_iface(const char *key __rte_unused, const char *value, void *extra_args)
 
 
 static int
-rte_pmd_init_internals(const unsigned nb_rx_queues,
+rte_pmd_init_internals(const char *name, const unsigned nb_rx_queues,
                const unsigned nb_tx_queues,
                const unsigned numa_node,
                struct pmd_internals **internals,
@@ -558,20 +561,20 @@ rte_pmd_init_internals(const unsigned nb_rx_queues,
        /* now do all data allocation - for eth_dev structure, dummy pci driver
         * and internal (private) data
         */
-       data = rte_zmalloc_socket(NULL, sizeof(*data), 0, numa_node);
+       data = rte_zmalloc_socket(name, sizeof(*data), 0, numa_node);
        if (data == NULL)
                goto error;
 
-       pci_dev = rte_zmalloc_socket(NULL, sizeof(*pci_dev), 0, numa_node);
+       pci_dev = rte_zmalloc_socket(name, sizeof(*pci_dev), 0, numa_node);
        if (pci_dev == NULL)
                goto error;
 
-       *internals = rte_zmalloc_socket(NULL, sizeof(**internals), 0, numa_node);
+       *internals = rte_zmalloc_socket(name, sizeof(**internals), 0, numa_node);
        if (*internals == NULL)
                goto error;
 
        /* reserve an ethdev entry */
-       *eth_dev = rte_eth_dev_allocate();
+       *eth_dev = rte_eth_dev_allocate(name);
        if (*eth_dev == NULL)
                goto error;
 
@@ -617,7 +620,7 @@ rte_pmd_init_internals(const unsigned nb_rx_queues,
 }
 
 static int
-rte_eth_from_pcaps_n_dumpers(pcap_t * const rx_queues[],
+rte_eth_from_pcaps_n_dumpers(const char *name, pcap_t * const rx_queues[],
                const unsigned nb_rx_queues,
                pcap_dumper_t * const tx_queues[],
                const unsigned nb_tx_queues,
@@ -634,7 +637,7 @@ rte_eth_from_pcaps_n_dumpers(pcap_t * const rx_queues[],
        if (tx_queues == NULL && nb_tx_queues > 0)
                return -1;
 
-       if (rte_pmd_init_internals(nb_rx_queues, nb_tx_queues, numa_node,
+       if (rte_pmd_init_internals(name, nb_rx_queues, nb_tx_queues, numa_node,
                        &internals, &eth_dev, kvlist) < 0)
                return -1;
 
@@ -652,7 +655,7 @@ rte_eth_from_pcaps_n_dumpers(pcap_t * const rx_queues[],
 }
 
 static int
-rte_eth_from_pcaps(pcap_t * const rx_queues[],
+rte_eth_from_pcaps(const char *name, pcap_t * const rx_queues[],
                const unsigned nb_rx_queues,
                pcap_t * const tx_queues[],
                const unsigned nb_tx_queues,
@@ -669,7 +672,7 @@ rte_eth_from_pcaps(pcap_t * const rx_queues[],
        if (tx_queues == NULL && nb_tx_queues > 0)
                return -1;
 
-       if (rte_pmd_init_internals(nb_rx_queues, nb_tx_queues, numa_node,
+       if (rte_pmd_init_internals(name, nb_rx_queues, nb_tx_queues, numa_node,
                        &internals, &eth_dev, kvlist) < 0)
                return -1;
 
@@ -719,7 +722,7 @@ rte_pmd_pcap_devinit(const char *name, const char *params)
                if (ret < 0)
                        return -1;
 
-               return rte_eth_from_pcaps(pcaps.pcaps, 1, pcaps.pcaps, 1,
+               return rte_eth_from_pcaps(name, pcaps.pcaps, 1, pcaps.pcaps, 1,
                                numa_node, kvlist);
        }
 
@@ -760,10 +763,10 @@ rte_pmd_pcap_devinit(const char *name, const char *params)
                return -1;
 
        if (using_dumpers)
-               return rte_eth_from_pcaps_n_dumpers(pcaps.pcaps, pcaps.num_of_rx,
+               return rte_eth_from_pcaps_n_dumpers(name, pcaps.pcaps, pcaps.num_of_rx,
                                dumpers.dumpers, dumpers.num_of_tx, numa_node, kvlist);
 
-       return rte_eth_from_pcaps(pcaps.pcaps, pcaps.num_of_rx, dumpers.pcaps,
+       return rte_eth_from_pcaps(name, pcaps.pcaps, pcaps.num_of_rx, dumpers.pcaps,
                        dumpers.num_of_tx, numa_node, kvlist);
 
 }