ethdev: introduce flow engine configuration
[dpdk.git] / lib / ethdev / ethdev_driver.h
index 41a7dea..69d9dc2 100644 (file)
@@ -5,6 +5,10 @@
 #ifndef _RTE_ETHDEV_DRIVER_H_
 #define _RTE_ETHDEV_DRIVER_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * @file
  *
@@ -138,7 +142,12 @@ struct rte_eth_dev_data {
                 * Indicates whether the device is configured:
                 * CONFIGURED(1) / NOT CONFIGURED(0)
                 */
-               dev_configured : 1;
+               dev_configured : 1,
+               /**
+                * Indicates whether the flow engine is configured:
+                * CONFIGURED(1) / NOT CONFIGURED(0)
+                */
+               flow_configured : 1;
 
        /** Queues state: HAIRPIN(2) / STARTED(1) / STOPPED(0) */
        uint8_t rx_queue_state[RTE_MAX_QUEUES_PER_PORT];
@@ -1509,6 +1518,23 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev,
        *dst = __atomic_load_n(src, __ATOMIC_SEQ_CST);
 }
 
+/**
+ * @internal
+ * Dummy DPDK callback for Rx/Tx packet burst.
+ *
+ * @param queue
+ *  Pointer to Rx/Tx queue
+ * @param pkts
+ *  Packet array
+ * @param nb_pkts
+ *  Number of packets in packet array
+ */
+__rte_internal
+uint16_t
+rte_eth_pkt_burst_dummy(void *queue __rte_unused,
+               struct rte_mbuf **pkts __rte_unused,
+               uint16_t nb_pkts __rte_unused);
+
 /**
  * Allocate an unique switch domain identifier.
  *
@@ -1864,4 +1890,8 @@ struct rte_eth_tunnel_filter_conf {
        uint16_t queue_id;      /**< Queue assigned to if match */
 };
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _RTE_ETHDEV_DRIVER_H_ */