ethdev: move egress metadata to dynamic field
[dpdk.git] / lib / librte_mbuf / rte_mbuf_core.h
index 3398c12..9a8557d 100644 (file)
@@ -184,14 +184,12 @@ extern "C" {
 #define PKT_RX_OUTER_L4_CKSUM_GOOD     (1ULL << 22)
 #define PKT_RX_OUTER_L4_CKSUM_INVALID  ((1ULL << 21) | (1ULL << 22))
 
-/* add new RX flags here */
+/* add new RX flags here, don't forget to update PKT_FIRST_FREE */
 
-/* add new TX flags here */
+#define PKT_FIRST_FREE (1ULL << 23)
+#define PKT_LAST_FREE (1ULL << 40)
 
-/**
- * Indicate that the metadata field in the mbuf is in use.
- */
-#define PKT_TX_METADATA        (1ULL << 40)
+/* add new TX flags here, don't forget to update PKT_LAST_FREE  */
 
 /**
  * Outer UDP checksum offload flag. This flag is used for enabling
@@ -386,8 +384,7 @@ extern "C" {
                PKT_TX_MACSEC |          \
                PKT_TX_SEC_OFFLOAD |     \
                PKT_TX_UDP_SEG |         \
-               PKT_TX_OUTER_UDP_CKSUM | \
-               PKT_TX_METADATA)
+               PKT_TX_OUTER_UDP_CKSUM)
 
 /**
  * Mbuf having an external buffer attached. shinfo in mbuf must be filled.
@@ -598,17 +595,6 @@ struct rte_mbuf {
                        /**< User defined tags. See rte_distributor_process() */
                        uint32_t usr;
                } hash;                   /**< hash information */
-               struct {
-                       /**
-                        * Application specific metadata value
-                        * for egress flow rule match.
-                        * Valid if PKT_TX_METADATA is set.
-                        * Located here to allow conjunct use
-                        * with hash.sched.hi.
-                        */
-                       uint32_t tx_metadata;
-                       uint32_t reserved;
-               };
        };
 
        /** Outer VLAN TCI (CPU order), valid if PKT_RX_QINQ is set. */
@@ -689,6 +675,7 @@ struct rte_mbuf {
         */
        struct rte_mbuf_ext_shared_info *shinfo;
 
+       uint64_t dynfield1[2]; /**< Reserved for dynamic fields. */
 } __rte_cache_aligned;
 
 /**