This patch adds extra 32bits to rte_mbuf::hash - so 'uint32_t usr' will move to 
the second cache line?

Regards,
Andrey

-----Original Message-----
From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Jingjing Wu
Sent: Friday, November 21, 2014 12:47 AM
To: dev at dpdk.org
Subject: [dpdk-dev] [PATCH v6 09/22] mbuf: extend fdir field

fdir field in rte_mbuf is extened to support flex bytes reported when fdir 
match.
8 flex bytes can be reported in maximum.
The reported flex bytes are part of flexible payload.

Signed-off-by: jingjing.wu <jingjing.wu at intel.com>
---
 lib/librte_mbuf/rte_mbuf.h | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 
f5f8658..5899e5c 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -77,7 +77,7 @@ extern "C" {
  */
 #define PKT_RX_VLAN_PKT      (1ULL << 0)  /**< RX packet is a 802.1q VLAN 
packet. */
 #define PKT_RX_RSS_HASH      (1ULL << 1)  /**< RX packet with RSS hash result. 
*/
-#define PKT_RX_FDIR          (1ULL << 2)  /**< RX packet with FDIR infos. */
+#define PKT_RX_FDIR          (1ULL << 2)  /**< RX packet with FDIR match 
indicate. */
 #define PKT_RX_L4_CKSUM_BAD  (1ULL << 3)  /**< L4 cksum of RX pkt. is not OK. 
*/  #define PKT_RX_IP_CKSUM_BAD  (1ULL << 4)  /**< IP cksum of RX pkt. is not 
OK. */  #define PKT_RX_EIP_CKSUM_BAD (0ULL << 0)  /**< External IP header 
checksum error. */ @@ -93,6 +93,8 @@ extern "C" {  #define PKT_RX_IEEE1588_TMST 
(1ULL << 10) /**< RX IEEE1588 L2/L4 timestamped packet.*/  #define 
PKT_RX_TUNNEL_IPV4_HDR (1ULL << 11) /**< RX tunnel packet with IPv4 header.*/  
#define PKT_RX_TUNNEL_IPV6_HDR (1ULL << 12) /**< RX tunnel packet with IPv6 
header. */
+#define PKT_RX_FDIR_ID       (1ULL << 13) /**< FD id reported if FDIR match. */
+#define PKT_RX_FDIR_FLX      (1ULL << 14) /**< Flexible bytes reported if FDIR 
match. */

 #define PKT_TX_VLAN_PKT      (1ULL << 55) /**< TX packet is a 802.1q VLAN 
packet. */
 #define PKT_TX_IP_CKSUM      (1ULL << 54) /**< IP cksum of TX pkt. computed by 
NIC. */
@@ -181,8 +183,17 @@ struct rte_mbuf {
        union {
                uint32_t rss;     /**< RSS hash result if RSS enabled */
                struct {
-                       uint16_t hash;
-                       uint16_t id;
+                       union {
+                               struct {
+                                       uint16_t hash;
+                                       uint16_t id;
+                               };
+                               uint32_t lo;
+                               /**< Second 4 flexible bytes */
+                       };
+                       uint32_t hi;
+                       /**< First 4 flexible bytes or FD ID, dependent on
+                            PKT_RX_FDIR_* flag in ol_flags. */
                } fdir;           /**< Filter identifier if FDIR enabled */
                uint32_t sched;   /**< Hierarchical scheduler */
                uint32_t usr;     /**< User defined tags. See 
@rte_distributor_process */
--
1.8.1.4

Reply via email to