const u_char *packet;
struct rte_mbuf *mbuf;
struct pcap_rx_queue *pcap_q = queue;
- struct rte_pktmbuf_pool_private *mbp_priv;
uint16_t num_rx = 0;
uint16_t buf_size;
break;
/* Now get the space available for data in the mbuf */
- mbp_priv = rte_mempool_get_priv(pcap_q->mb_pool);
- buf_size = (uint16_t) (mbp_priv->mbuf_data_room_size -
+ buf_size = (uint16_t)(rte_pktmbuf_data_room_size(pcap_q->mb_pool) -
RTE_PKTMBUF_HEADROOM);
if (header.len <= buf_size) {
return 0;
}
-static struct eth_dev_ops ops = {
- .dev_start = eth_dev_start,
- .dev_stop = eth_dev_stop,
- .dev_close = eth_dev_close,
- .dev_configure = eth_dev_configure,
- .dev_infos_get = eth_dev_info,
- .rx_queue_setup = eth_rx_queue_setup,
- .tx_queue_setup = eth_tx_queue_setup,
- .rx_queue_release = eth_queue_release,
- .tx_queue_release = eth_queue_release,
- .link_update = eth_link_update,
- .stats_get = eth_stats_get,
- .stats_reset = eth_stats_reset,
+static const struct eth_dev_ops ops = {
+ .dev_start = eth_dev_start,
+ .dev_stop = eth_dev_stop,
+ .dev_close = eth_dev_close,
+ .dev_configure = eth_dev_configure,
+ .dev_infos_get = eth_dev_info,
+ .rx_queue_setup = eth_rx_queue_setup,
+ .tx_queue_setup = eth_tx_queue_setup,
+ .rx_queue_release = eth_queue_release,
+ .tx_queue_release = eth_queue_release,
+ .link_update = eth_link_update,
+ .stats_get = eth_stats_get,
+ .stats_reset = eth_stats_reset,
};
static struct eth_driver rte_pcap_pmd = {
return 0;
- error: if (data)
- rte_free(data);
- if (pci_dev)
- rte_free(pci_dev);
- if (*internals)
- rte_free(*internals);
+error:
+ rte_free(data);
+ rte_free(pci_dev);
+ rte_free(*internals);
+
return -1;
}
ret = rte_kvargs_process(kvlist, ETH_PCAP_IFACE_ARG,
&open_rx_tx_iface, &pcaps);
if (ret < 0)
- return -1;
+ goto free_kvlist;
dumpers.pcaps[0] = pcaps.pcaps[0];
dumpers.names[0] = pcaps.names[0];
dumpers.types[0] = pcaps.types[0];
- return rte_eth_from_pcaps(name, &pcaps, 1, &dumpers, 1,
+ ret = rte_eth_from_pcaps(name, &pcaps, 1, &dumpers, 1,
numa_node, kvlist, 1);
+ goto free_kvlist;
}
/*
}
if (ret < 0)
- return -1;
+ goto free_kvlist;
/*
* We check whether we want to open a TX stream to a real NIC or a
}
if (ret < 0)
- return -1;
+ goto free_kvlist;
if (using_dumpers)
- return rte_eth_from_pcaps_n_dumpers(name, &pcaps, pcaps.num_of_rx,
+ ret = rte_eth_from_pcaps_n_dumpers(name, &pcaps, pcaps.num_of_rx,
&dumpers, dumpers.num_of_tx, numa_node, kvlist);
-
- return rte_eth_from_pcaps(name, &pcaps, pcaps.num_of_rx, &dumpers,
+ else
+ ret = rte_eth_from_pcaps(name, &pcaps, pcaps.num_of_rx, &dumpers,
dumpers.num_of_tx, numa_node, kvlist, 0);
+free_kvlist:
+ rte_kvargs_free(kvlist);
+ return ret;
}
static int