| 127 | } |
| 128 | |
| 129 | int |
| 130 | ff_ipc_send(const struct ff_msg *msg) |
| 131 | { |
| 132 | int ret; |
| 133 | |
| 134 | if (inited == 0) { |
| 135 | printf("ff ipc not inited\n"); |
| 136 | return -1; |
| 137 | } |
| 138 | |
| 139 | char name[RTE_RING_NAMESIZE]; |
| 140 | snprintf(name, RTE_RING_NAMESIZE, "%s%u", |
| 141 | FF_MSG_RING_IN, ff_proc_id); |
| 142 | struct rte_ring *ring = rte_ring_lookup(name); |
| 143 | if (ring == NULL) { |
| 144 | printf("lookup message ring:%s failed!\n", name); |
| 145 | return -1; |
| 146 | } |
| 147 | |
| 148 | ret = rte_ring_enqueue(ring, (void *)msg); |
| 149 | if (ret < 0) { |
| 150 | printf("ff_ipc_send failed\n"); |
| 151 | return ret; |
| 152 | } |
| 153 | |
| 154 | return 0; |
| 155 | } |
| 156 | |
| 157 | int |
| 158 | ff_ipc_recv(struct ff_msg **msg, enum FF_MSG_TYPE msg_type) |
no test coverage detected