X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_pmd_ixgbe%2Fixgbe_rxtx.h;h=fd0023ea1e6af94ea5ce8735045671281409a412;hb=08b563ffb19d8baf59dd84200f25bc85031d18a7;hp=26de64be2550fd86a232340653ceba314cf2fa1e;hpb=3031749c2df04a63cdcef186dcce3781e61436e8;p=dpdk.git diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.h b/lib/librte_pmd_ixgbe/ixgbe_rxtx.h index 26de64be25..fd0023ea1e 100644 --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.h +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.h @@ -40,13 +40,14 @@ #ifdef RTE_LIBRTE_IXGBE_RX_ALLOW_BULK_ALLOC #define RTE_PMD_IXGBE_RX_MAX_BURST 32 #define RTE_IXGBE_DESCS_PER_LOOP 4 +#elif defined(RTE_IXGBE_INC_VECTOR) +#define RTE_IXGBE_DESCS_PER_LOOP 4 #else #define RTE_IXGBE_DESCS_PER_LOOP 1 #endif #define RTE_MBUF_DATA_DMA_ADDR(mb) \ - (uint64_t) ((mb)->buf_physaddr + (uint64_t)((char *)((mb)->pkt.data) - \ - (char *)(mb)->buf_addr)) + (uint64_t) ((mb)->buf_physaddr + (mb)->data_off) #define RTE_MBUF_DATA_DMA_ADDR_DEFAULT(mb) \ (uint64_t) ((mb)->buf_physaddr + RTE_PKTMBUF_HEADROOM) @@ -151,6 +152,26 @@ enum ixgbe_advctx_num { IXGBE_CTX_NUM = 2, /**< CTX NUMBER */ }; +/** Offload features */ +union ixgbe_vlan_macip { + uint32_t data; + struct { + uint16_t l2_l3_len; /**< combined 9-bit l3, 7-bit l2 lengths */ + uint16_t vlan_tci; + /**< VLAN Tag Control Identifier (CPU order). */ + } f; +}; + +/* + * Compare mask for vlan_macip_len.data, + * should be in sync with ixgbe_vlan_macip.f layout. + * */ +#define TX_VLAN_CMP_MASK 0xFFFF0000 /**< VLAN length - 16-bits. */ +#define TX_MAC_LEN_CMP_MASK 0x0000FE00 /**< MAC length - 7-bits. */ +#define TX_IP_LEN_CMP_MASK 0x000001FF /**< IP length - 9-bits. */ +/** MAC+IP length. */ +#define TX_MACIP_LEN_CMP_MASK (TX_MAC_LEN_CMP_MASK | TX_IP_LEN_CMP_MASK) + /** * Structure to check if new context need be built */ @@ -158,7 +179,7 @@ enum ixgbe_advctx_num { struct ixgbe_advctx_info { uint16_t flags; /**< ol_flags for context build. */ uint32_t cmp_mask; /**< compare mask for vlan_macip_lens */ - union rte_vlan_macip vlan_macip_lens; /**< vlan, mac ip length. */ + union ixgbe_vlan_macip vlan_macip_lens; /**< vlan, mac ip length. */ }; /**