From: Anand B Jyoti Date: Fri, 2 Jun 2017 05:07:48 +0000 (+0530) Subject: vCGNAPT: correcting to use default rte_ring_dequeue X-Git-Tag: opnfv-5.0.RC1~73^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F23%2F35723%2F4;p=samplevnf.git vCGNAPT: correcting to use default rte_ring_dequeue JIRA: SAMPLEVNF-19 The rte_ring_sc_dequeue returns ENOENT in DPDK16.04 while ENOBUFS in DPDK17.05. This leads to error in return value checking and mis behaviour. Using of rte_ring_sc_dequeue() to be avoided to use the default configuration as set during the creation of the queue as per the DPDK API documentation. Similarly corrected for mp_dequeue as well. Change-Id: Iacee1349b26d6ab432be891fad12313a6d68ca4d Signed-off-by: Anand B Jyoti --- diff --git a/VNFs/vCGNAPT/pipeline/pipeline_timer_be.c b/VNFs/vCGNAPT/pipeline/pipeline_timer_be.c index bfe8f5c4..7ba4964a 100644 --- a/VNFs/vCGNAPT/pipeline/pipeline_timer_be.c +++ b/VNFs/vCGNAPT/pipeline/pipeline_timer_be.c @@ -113,7 +113,7 @@ void timer_thread_enqueue(struct pipeline_cgnapt_entry_key *egress_key, sizeof(struct cgnapt_table_entry)); } - if (rte_ring_mp_enqueue(timer_ring, (void *)tk_ptr) == -ENOBUFS) + if (rte_ring_enqueue(timer_ring, (void *)tk_ptr) == -ENOBUFS) printf("Ring enqueue failed: trying to enqueue\n"); } @@ -126,7 +126,7 @@ void timer_thread_dequeue(void) struct timer_key *tk_ptr; int ret; - ret = rte_ring_sc_dequeue(timer_ring, (void *)&tk_ptr); + ret = rte_ring_dequeue(timer_ring, (void *)&tk_ptr); if (ret == -ENOENT) return; @@ -444,8 +444,8 @@ static void *pipeline_timer_init(struct pipeline_params *params, void *arg) if (timer_key_mempool == NULL) rte_panic("timer_key_mempool create error\n"); - timer_ring = rte_ring_create("TIMER_RING", - timer_ring_alloc_cnt, rte_socket_id(), 0); + timer_ring = rte_ring_create("TIMER_RING", timer_ring_alloc_cnt, + rte_socket_id(), RING_F_SC_DEQ); if (timer_ring == NULL) rte_panic("timer_ring creation failed");