| 1479 | |
| 1480 | #ifdef RTE_LIB_EVENTDEV |
| 1481 | static void |
| 1482 | l3fwd_event_service_setup(void) |
| 1483 | { |
| 1484 | struct l3fwd_event_resources *evt_rsrc = l3fwd_get_eventdev_rsrc(); |
| 1485 | struct rte_event_dev_info evdev_info; |
| 1486 | uint32_t service_id, caps; |
| 1487 | int ret, i; |
| 1488 | |
| 1489 | rte_event_dev_info_get(evt_rsrc->event_d_id, &evdev_info); |
| 1490 | if (!(evdev_info.event_dev_cap & RTE_EVENT_DEV_CAP_DISTRIBUTED_SCHED)) { |
| 1491 | ret = rte_event_dev_service_id_get(evt_rsrc->event_d_id, |
| 1492 | &service_id); |
| 1493 | if (ret != -ESRCH && ret != 0) |
| 1494 | rte_exit(EXIT_FAILURE, |
| 1495 | "Error in starting eventdev service\n"); |
| 1496 | l3fwd_service_enable(service_id); |
| 1497 | } |
| 1498 | |
| 1499 | for (i = 0; i < evt_rsrc->rx_adptr.nb_rx_adptr; i++) { |
| 1500 | ret = rte_event_eth_rx_adapter_caps_get(evt_rsrc->event_d_id, |
| 1501 | evt_rsrc->rx_adptr.rx_adptr[i], &caps); |
| 1502 | if (ret < 0) |
| 1503 | rte_exit(EXIT_FAILURE, |
| 1504 | "Failed to get Rx adapter[%d] caps\n", |
| 1505 | evt_rsrc->rx_adptr.rx_adptr[i]); |
| 1506 | ret = rte_event_eth_rx_adapter_service_id_get( |
| 1507 | evt_rsrc->event_d_id, |
| 1508 | &service_id); |
| 1509 | if (ret != -ESRCH && ret != 0) |
| 1510 | rte_exit(EXIT_FAILURE, |
| 1511 | "Error in starting Rx adapter[%d] service\n", |
| 1512 | evt_rsrc->rx_adptr.rx_adptr[i]); |
| 1513 | l3fwd_service_enable(service_id); |
| 1514 | } |
| 1515 | |
| 1516 | for (i = 0; i < evt_rsrc->tx_adptr.nb_tx_adptr; i++) { |
| 1517 | ret = rte_event_eth_tx_adapter_caps_get(evt_rsrc->event_d_id, |
| 1518 | evt_rsrc->tx_adptr.tx_adptr[i], &caps); |
| 1519 | if (ret < 0) |
| 1520 | rte_exit(EXIT_FAILURE, |
| 1521 | "Failed to get Rx adapter[%d] caps\n", |
| 1522 | evt_rsrc->tx_adptr.tx_adptr[i]); |
| 1523 | ret = rte_event_eth_tx_adapter_service_id_get( |
| 1524 | evt_rsrc->event_d_id, |
| 1525 | &service_id); |
| 1526 | if (ret != -ESRCH && ret != 0) |
| 1527 | rte_exit(EXIT_FAILURE, |
| 1528 | "Error in starting Rx adapter[%d] service\n", |
| 1529 | evt_rsrc->tx_adptr.tx_adptr[i]); |
| 1530 | l3fwd_service_enable(service_id); |
| 1531 | } |
| 1532 | } |
| 1533 | #endif |
| 1534 | |
| 1535 | int |
no test coverage detected