summaryrefslogtreecommitdiff
path: root/lib/librte_mbuf
diff options
context:
space:
mode:
authorNikhil Rao <nikhil.rao@intel.com>2018-09-20 23:11:12 +0530
committerJerin Jacob <jerin.jacob@caviumnetworks.com>2018-10-01 16:49:41 +0200
commitc9bf83947e2e411cf8976519b393d9f878920606 (patch)
tree463f5ac8f3c6ad9b30477008bee98555c718ffb5 /lib/librte_mbuf
parent6fe63a3d7ccc2e2376182f663251f42add77ec40 (diff)
downloaddpdk-c9bf83947e2e411cf8976519b393d9f878920606.zip
dpdk-c9bf83947e2e411cf8976519b393d9f878920606.tar.gz
dpdk-c9bf83947e2e411cf8976519b393d9f878920606.tar.xz
eventdev: add eth Tx adapter APIs
The ethernet Tx adapter abstracts the transmit stage of an event driven packet processing application. The transmit stage may be implemented with eventdev PMD support or use a rte_service function implemented in the adapter. These APIs provide a common configuration and control interface and an transmit API for the eventdev PMD implementation. The transmit port is specified using mbuf::port. The transmit queue is specified using the rte_event_eth_tx_adapter_txq_set() function. Signed-off-by: Nikhil Rao <nikhil.rao@intel.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Diffstat (limited to 'lib/librte_mbuf')
-rw-r--r--lib/librte_mbuf/rte_mbuf.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index a50b05c..a09377a 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -464,7 +464,9 @@ struct rte_mbuf {
};
uint16_t nb_segs; /**< Number of segments. */
- /** Input port (16 bits to support more than 256 virtual ports). */
+ /** Input port (16 bits to support more than 256 virtual ports).
+ * The event eth Tx adapter uses this field to specify the output port.
+ */
uint16_t port;
uint64_t ol_flags; /**< Offload features. */
@@ -530,6 +532,9 @@ struct rte_mbuf {
struct {
uint32_t lo;
uint32_t hi;
+ /**< The event eth Tx adapter uses this field to store
+ * Tx queue id. @see rte_event_eth_tx_adapter_txq_set()
+ */
} sched; /**< Hierarchical scheduler */
uint32_t usr; /**< User defined tags. See rte_distributor_process() */
} hash; /**< hash information */