git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
eal: new function to create control threads
[dpdk.git]
/
lib
/
librte_pdump
/
rte_pdump.c
diff --git
a/lib/librte_pdump/rte_pdump.c
b/lib/librte_pdump/rte_pdump.c
index
e6182d3
..
70de0c4
100644
(file)
--- a/
lib/librte_pdump/rte_pdump.c
+++ b/
lib/librte_pdump/rte_pdump.c
@@
-139,7
+139,7
@@
pdump_pktmbuf_copy(struct rte_mbuf *m, struct rte_mempool *mp)
{
struct rte_mbuf *m_dup, *seg, **prev;
uint32_t pktlen;
{
struct rte_mbuf *m_dup, *seg, **prev;
uint32_t pktlen;
- uint
8
_t nseg;
+ uint
16
_t nseg;
m_dup = rte_pktmbuf_alloc(mp);
if (unlikely(m_dup == NULL))
m_dup = rte_pktmbuf_alloc(mp);
if (unlikely(m_dup == NULL))
@@
-153,6
+153,8
@@
pdump_pktmbuf_copy(struct rte_mbuf *m, struct rte_mempool *mp)
do {
nseg++;
if (pdump_pktmbuf_copy_data(seg, m) < 0) {
do {
nseg++;
if (pdump_pktmbuf_copy_data(seg, m) < 0) {
+ if (seg != m_dup)
+ rte_pktmbuf_free_seg(seg);
rte_pktmbuf_free(m_dup);
return NULL;
}
rte_pktmbuf_free(m_dup);
return NULL;
}
@@
-225,7
+227,7
@@
pdump_tx(uint16_t port __rte_unused, uint16_t qidx __rte_unused,
}
static int
}
static int
-pdump_regi
ts
er_rx_callbacks(uint16_t end_q, uint16_t port, uint16_t queue,
+pdump_regi
st
er_rx_callbacks(uint16_t end_q, uint16_t port, uint16_t queue,
struct rte_ring *ring, struct rte_mempool *mp,
uint16_t operation)
{
struct rte_ring *ring, struct rte_mempool *mp,
uint16_t operation)
{
@@
-279,7
+281,7
@@
pdump_regitser_rx_callbacks(uint16_t end_q, uint16_t port, uint16_t queue,
}
static int
}
static int
-pdump_regi
ts
er_tx_callbacks(uint16_t end_q, uint16_t port, uint16_t queue,
+pdump_regi
st
er_tx_callbacks(uint16_t end_q, uint16_t port, uint16_t queue,
struct rte_ring *ring, struct rte_mempool *mp,
uint16_t operation)
{
struct rte_ring *ring, struct rte_mempool *mp,
uint16_t operation)
{
@@
-351,7
+353,7
@@
set_pdump_rxtx_cbs(struct pdump_request *p)
&port);
if (ret < 0) {
RTE_LOG(ERR, PDUMP,
&port);
if (ret < 0) {
RTE_LOG(ERR, PDUMP,
- "failed to get po
t
id for device id=%s\n",
+ "failed to get po
rt
id for device id=%s\n",
p->data.en_v1.device);
return -EINVAL;
}
p->data.en_v1.device);
return -EINVAL;
}
@@
-363,7
+365,7
@@
set_pdump_rxtx_cbs(struct pdump_request *p)
&port);
if (ret < 0) {
RTE_LOG(ERR, PDUMP,
&port);
if (ret < 0) {
RTE_LOG(ERR, PDUMP,
- "failed to get po
t
id for device id=%s\n",
+ "failed to get po
rt
id for device id=%s\n",
p->data.dis_v1.device);
return -EINVAL;
}
p->data.dis_v1.device);
return -EINVAL;
}
@@
-400,7
+402,7
@@
set_pdump_rxtx_cbs(struct pdump_request *p)
/* register RX callback */
if (flags & RTE_PDUMP_FLAG_RX) {
end_q = (queue == RTE_PDUMP_ALL_QUEUES) ? nb_rx_q : queue + 1;
/* register RX callback */
if (flags & RTE_PDUMP_FLAG_RX) {
end_q = (queue == RTE_PDUMP_ALL_QUEUES) ? nb_rx_q : queue + 1;
- ret = pdump_regi
ts
er_rx_callbacks(end_q, port, queue, ring, mp,
+ ret = pdump_regi
st
er_rx_callbacks(end_q, port, queue, ring, mp,
operation);
if (ret < 0)
return ret;
operation);
if (ret < 0)
return ret;
@@
-409,7
+411,7
@@
set_pdump_rxtx_cbs(struct pdump_request *p)
/* register TX callback */
if (flags & RTE_PDUMP_FLAG_TX) {
end_q = (queue == RTE_PDUMP_ALL_QUEUES) ? nb_tx_q : queue + 1;
/* register TX callback */
if (flags & RTE_PDUMP_FLAG_TX) {
end_q = (queue == RTE_PDUMP_ALL_QUEUES) ? nb_tx_q : queue + 1;
- ret = pdump_regi
ts
er_tx_callbacks(end_q, port, queue, ring, mp,
+ ret = pdump_regi
st
er_tx_callbacks(end_q, port, queue, ring, mp,
operation);
if (ret < 0)
return ret;
operation);
if (ret < 0)
return ret;
@@
-575,11
+577,12
@@
rte_pdump_init(const char *path)
}
/* create the host thread to wait/handle pdump requests */
}
/* create the host thread to wait/handle pdump requests */
- ret = pthread_create(&pdump_thread, NULL, pdump_thread_main, NULL);
+ ret = rte_ctrl_thread_create(&pdump_thread, NULL,
+ pdump_thread_main, NULL);
if (ret != 0) {
RTE_LOG(ERR, PDUMP,
"Failed to create the pdump thread:%s, %s:%d\n",
if (ret != 0) {
RTE_LOG(ERR, PDUMP,
"Failed to create the pdump thread:%s, %s:%d\n",
- strerror(
errno
), __func__, __LINE__);
+ strerror(
-ret
), __func__, __LINE__);
return -1;
}
/* Set thread_name for aid in debugging. */
return -1;
}
/* Set thread_name for aid in debugging. */
@@
-602,7
+605,7
@@
rte_pdump_uninit(void)
if (ret != 0) {
RTE_LOG(ERR, PDUMP,
"Failed to cancel the pdump thread:%s, %s:%d\n",
if (ret != 0) {
RTE_LOG(ERR, PDUMP,
"Failed to cancel the pdump thread:%s, %s:%d\n",
- strerror(
errno
), __func__, __LINE__);
+ strerror(
ret
), __func__, __LINE__);
return -1;
}
return -1;
}