| 131 | |
| 132 | } |
| 133 | void |
| 134 | cmd_quit_parsed(__rte_unused void *parsed_result, |
| 135 | struct cmdline *cl, |
| 136 | __rte_unused void *data) |
| 137 | { |
| 138 | struct ntb_fwd_lcore_conf *conf; |
| 139 | uint32_t lcore_id; |
| 140 | |
| 141 | /* Stop transmission first. */ |
| 142 | RTE_LCORE_FOREACH_WORKER(lcore_id) { |
| 143 | conf = &fwd_lcore_conf[lcore_id]; |
| 144 | |
| 145 | if (!conf->nb_stream) |
| 146 | continue; |
| 147 | |
| 148 | if (conf->stopped) |
| 149 | continue; |
| 150 | |
| 151 | conf->stopped = 1; |
| 152 | } |
| 153 | printf("\nWaiting for lcores to finish...\n"); |
| 154 | rte_eal_mp_wait_lcore(); |
| 155 | in_test = 0; |
| 156 | |
| 157 | /* Stop traffic and Close port. */ |
| 158 | rte_rawdev_stop(dev_id); |
| 159 | rte_rawdev_close(dev_id); |
| 160 | if (eth_port_id < RTE_MAX_ETHPORTS && fwd_mode == IOFWD) { |
| 161 | rte_eth_dev_stop(eth_port_id); |
| 162 | rte_eth_dev_close(eth_port_id); |
| 163 | } |
| 164 | |
| 165 | cmdline_quit(cl); |
| 166 | } |
| 167 | |
| 168 | void |
| 169 | cmd_send_parsed(void *parsed_result, |
nothing calls this directly
no test coverage detected