X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fl2fwd-event%2Fl2fwd_event_internal_port.c;h=717a7bceb88037290b7fb1076800e9caeb5fc400;hb=70c60cfd93e75f91325c4f2b648df3a0200e7014;hp=c9a8430d0011a036c4112eddac34f2f0eec95c66;hpb=cb056611a8ed9ab9024f3b91bf26e97255194514;p=dpdk.git diff --git a/examples/l2fwd-event/l2fwd_event_internal_port.c b/examples/l2fwd-event/l2fwd_event_internal_port.c index c9a8430d00..717a7bceb8 100644 --- a/examples/l2fwd-event/l2fwd_event_internal_port.c +++ b/examples/l2fwd-event/l2fwd_event_internal_port.c @@ -40,7 +40,7 @@ l2fwd_event_device_setup_internal_port(struct l2fwd_resources *rsrc) ethdev_count++; } - /* Event device configurtion */ + /* Event device configuration */ rte_event_dev_info_get(event_d_id, &dev_info); /* Enable implicit release */ @@ -226,10 +226,32 @@ l2fwd_rx_tx_adapter_setup_internal_port(struct l2fwd_resources *rsrc) rte_panic("Failed to allocate memery for Rx adapter\n"); } - + /* Assigned ethernet port. 8< */ RTE_ETH_FOREACH_DEV(port_id) { if ((rsrc->enabled_port_mask & (1 << port_id)) == 0) continue; + + if (rsrc->evt_vec.enabled) { + uint32_t cap; + + if (rte_event_eth_rx_adapter_caps_get(event_d_id, + port_id, &cap)) + rte_panic( + "Failed to get event rx adapter capability"); + + if (cap & RTE_EVENT_ETH_RX_ADAPTER_CAP_EVENT_VECTOR) { + eth_q_conf.vector_sz = rsrc->evt_vec.size; + eth_q_conf.vector_timeout_ns = + rsrc->evt_vec.timeout_ns; + eth_q_conf.vector_mp = rsrc->evt_vec_pool; + eth_q_conf.rx_queue_flags |= + RTE_EVENT_ETH_RX_ADAPTER_QUEUE_EVENT_VECTOR; + } else { + rte_panic( + "Rx adapter doesn't support event vector"); + } + } + ret = rte_event_eth_rx_adapter_create(adapter_id, event_d_id, &evt_rsrc->def_p_conf); if (ret) @@ -286,6 +308,7 @@ l2fwd_rx_tx_adapter_setup_internal_port(struct l2fwd_resources *rsrc) evt_rsrc->tx_adptr.tx_adptr[adapter_id] = adapter_id; adapter_id++; } + /* >8 End of assigned ethernet port. */ } void