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

Function l2fwd_event_resource_setup

dpdk/examples/l2fwd-event/l2fwd_event.c:527–586  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

525}
526
527void
528l2fwd_event_resource_setup(struct l2fwd_resources *rsrc)
529{
530 /* [MAC_UPDT][TX_MODE][BURST] */
531 const event_loop_cb event_loop[2][2][2][2] = {
532 [0][0][0][0] = l2fwd_event_main_loop_tx_d,
533 [0][0][0][1] = l2fwd_event_main_loop_tx_d_brst,
534 [0][0][1][0] = l2fwd_event_main_loop_tx_q,
535 [0][0][1][1] = l2fwd_event_main_loop_tx_q_brst,
536 [0][1][0][0] = l2fwd_event_main_loop_tx_d_mac,
537 [0][1][0][1] = l2fwd_event_main_loop_tx_d_brst_mac,
538 [0][1][1][0] = l2fwd_event_main_loop_tx_q_mac,
539 [0][1][1][1] = l2fwd_event_main_loop_tx_q_brst_mac,
540 [1][0][0][0] = l2fwd_event_main_loop_tx_d_vec,
541 [1][0][0][1] = l2fwd_event_main_loop_tx_d_brst_vec,
542 [1][0][1][0] = l2fwd_event_main_loop_tx_q_vec,
543 [1][0][1][1] = l2fwd_event_main_loop_tx_q_brst_vec,
544 [1][1][0][0] = l2fwd_event_main_loop_tx_d_mac_vec,
545 [1][1][0][1] = l2fwd_event_main_loop_tx_d_brst_mac_vec,
546 [1][1][1][0] = l2fwd_event_main_loop_tx_q_mac_vec,
547 [1][1][1][1] = l2fwd_event_main_loop_tx_q_brst_mac_vec,
548 };
549 struct l2fwd_event_resources *evt_rsrc;
550 uint32_t event_queue_cfg;
551 int ret;
552
553 if (!rte_event_dev_count())
554 rte_panic("No Eventdev found\n");
555
556 evt_rsrc = rte_zmalloc("l2fwd_event",
557 sizeof(struct l2fwd_event_resources), 0);
558 if (evt_rsrc == NULL)
559 rte_panic("Failed to allocate memory\n");
560
561 rsrc->evt_rsrc = evt_rsrc;
562
563 /* Setup eventdev capability callbacks */
564 l2fwd_event_capability_setup(evt_rsrc);
565
566 /* Event device configuration */
567 event_queue_cfg = evt_rsrc->ops.event_device_setup(rsrc);
568
569 /* Event queue configuration */
570 evt_rsrc->ops.event_queue_setup(rsrc, event_queue_cfg);
571
572 /* Event port configuration */
573 evt_rsrc->ops.event_port_setup(rsrc);
574
575 /* Rx/Tx adapters configuration */
576 evt_rsrc->ops.adapter_setup(rsrc);
577
578 /* Start event device */
579 ret = rte_event_dev_start(evt_rsrc->event_d_id);
580 if (ret < 0)
581 rte_panic("Error in starting eventdev\n");
582
583 evt_rsrc->ops.l2fwd_event_loop =
584 event_loop[rsrc->evt_vec.enabled][rsrc->mac_updating]

Callers 1

mainFunction · 0.85

Calls 4

rte_event_dev_countFunction · 0.85
rte_zmallocFunction · 0.85
rte_event_dev_startFunction · 0.85

Tested by

no test coverage detected