mbuf: add raw allocation function
[dpdk.git] / drivers / net / enic / enic_main.c
index e3da51d..bbbe660 100644 (file)
 #include "vnic_nic.h"
 #include "enic_vnic_wq.h"
 
-static inline struct rte_mbuf *
-rte_rxmbuf_alloc(struct rte_mempool *mp)
-{
-       struct rte_mbuf *m;
-
-       m = __rte_mbuf_raw_alloc(mp);
-       __rte_mbuf_sanity_check_raw(m, 0);
-       return m;
-}
-
-
 static inline int enic_is_sriov_vf(struct enic *enic)
 {
        return enic->pdev->id.device_id == PCI_DEVICE_ID_CISCO_VIC_ENET_VF;
@@ -248,7 +237,6 @@ void enic_dev_stats_get(struct enic *enic, struct rte_eth_stats *r_stats)
 
        r_stats->imissed = stats->rx.rx_drop;
 
-       r_stats->imcasts = stats->rx.rx_multicast_frames_ok;
        r_stats->rx_nombuf = stats->rx.rx_no_bufs;
 }
 
@@ -348,17 +336,18 @@ enic_alloc_rx_queue_mbufs(struct enic *enic, struct vnic_rq *rq)
                  rq->ring.desc_count);
 
        for (i = 0; i < rq->ring.desc_count; i++, rqd++) {
-               mb = rte_rxmbuf_alloc(rq->mp);
+               mb = rte_mbuf_raw_alloc(rq->mp);
                if (mb == NULL) {
                        dev_err(enic, "RX mbuf alloc failed queue_id=%u\n",
                        (unsigned)rq->index);
                        return -ENOMEM;
                }
 
-               dma_addr = (dma_addr_t)(mb->buf_physaddr + mb->data_off);
+               dma_addr = (dma_addr_t)(mb->buf_physaddr
+                          + RTE_PKTMBUF_HEADROOM);
 
                rq_enet_desc_enc(rqd, dma_addr, RQ_ENET_TYPE_ONLY_SOP,
-                                mb->buf_len);
+                                mb->buf_len - RTE_PKTMBUF_HEADROOM);
                rq->mbuf_ring[i] = mb;
        }