| 744 | } |
| 745 | |
| 746 | static struct pipeline_msg_rsp * |
| 747 | pipeline_msg_send_recv(struct pipeline *p, |
| 748 | struct pipeline_msg_req *req) |
| 749 | { |
| 750 | struct rte_ring *msgq_req = p->msgq_req; |
| 751 | struct rte_ring *msgq_rsp = p->msgq_rsp; |
| 752 | struct pipeline_msg_rsp *rsp; |
| 753 | int status; |
| 754 | |
| 755 | /* send */ |
| 756 | do { |
| 757 | status = rte_ring_sp_enqueue(msgq_req, req); |
| 758 | } while (status == -ENOBUFS); |
| 759 | |
| 760 | /* recv */ |
| 761 | do { |
| 762 | status = rte_ring_sc_dequeue(msgq_rsp, (void **) &rsp); |
| 763 | } while (status != 0); |
| 764 | |
| 765 | return rsp; |
| 766 | } |
| 767 | |
| 768 | int |
| 769 | pipeline_port_in_stats_read(const char *pipeline_name, |
no test coverage detected