mbuf: replace data pointer by an offset
[dpdk.git] / lib / librte_pmd_pcap / rte_eth_pcap.c
index 12b7e0c..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++;
@@ -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);
        }