test/crypto: add copy and set DSCP cases
[dpdk.git] / examples / l2fwd-event / l2fwd_event_internal_port.c
index 16a52d6..717a7bc 100644 (file)
@@ -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 */
@@ -230,6 +230,28 @@ l2fwd_rx_tx_adapter_setup_internal_port(struct l2fwd_resources *rsrc)
        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)