MCPcopy Create free account
hub / github.com/F-Stack/f-stack / l3fwd_event_service_setup

Function l3fwd_event_service_setup

dpdk/examples/l3fwd/main.c:1481–1532  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1479
1480#ifdef RTE_LIB_EVENTDEV
1481static void
1482l3fwd_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
1535int

Callers 1

mainFunction · 0.85

Tested by

no test coverage detected