| 881 | } |
| 882 | |
| 883 | static int |
| 884 | tap_dev_start(struct rte_eth_dev *dev) |
| 885 | { |
| 886 | int err, i; |
| 887 | |
| 888 | if (rte_eal_process_type() == RTE_PROC_PRIMARY) |
| 889 | tap_mp_req_on_rxtx(dev); |
| 890 | |
| 891 | err = tap_intr_handle_set(dev, 1); |
| 892 | if (err) |
| 893 | return err; |
| 894 | |
| 895 | err = tap_link_set_up(dev); |
| 896 | if (err) |
| 897 | return err; |
| 898 | |
| 899 | for (i = 0; i < dev->data->nb_tx_queues; i++) |
| 900 | dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STARTED; |
| 901 | for (i = 0; i < dev->data->nb_rx_queues; i++) |
| 902 | dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STARTED; |
| 903 | |
| 904 | return err; |
| 905 | } |
| 906 | |
| 907 | static int |
| 908 | tap_mp_req_start_rxtx(const struct rte_mp_msg *request, __rte_unused const void *peer) |
nothing calls this directly
no test coverage detected