fm10k: replace some offload flags with packet type
To unify packet types among all PMDs, bit masks of packet type for 'ol_flags' are replaced by unified packet type. To avoid breaking ABI compatibility, all the changes would be enabled by RTE_NEXT_ABI. Signed-off-by: Helin Zhang <helin.zhang@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
This commit is contained in:
parent
9571ea0284
commit
7578327b9d
@ -68,12 +68,37 @@ static inline void dump_rxd(union fm10k_rx_desc *rxd)
|
||||
static inline void
|
||||
rx_desc_to_ol_flags(struct rte_mbuf *m, const union fm10k_rx_desc *d)
|
||||
{
|
||||
#ifdef RTE_NEXT_ABI
|
||||
static const uint32_t
|
||||
ptype_table[FM10K_RXD_PKTTYPE_MASK >> FM10K_RXD_PKTTYPE_SHIFT]
|
||||
__rte_cache_aligned = {
|
||||
[FM10K_PKTTYPE_OTHER] = RTE_PTYPE_L2_ETHER,
|
||||
[FM10K_PKTTYPE_IPV4] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4,
|
||||
[FM10K_PKTTYPE_IPV4_EX] = RTE_PTYPE_L2_ETHER |
|
||||
RTE_PTYPE_L3_IPV4_EXT,
|
||||
[FM10K_PKTTYPE_IPV6] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6,
|
||||
[FM10K_PKTTYPE_IPV6_EX] = RTE_PTYPE_L2_ETHER |
|
||||
RTE_PTYPE_L3_IPV6_EXT,
|
||||
[FM10K_PKTTYPE_IPV4 | FM10K_PKTTYPE_TCP] = RTE_PTYPE_L2_ETHER |
|
||||
RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_TCP,
|
||||
[FM10K_PKTTYPE_IPV6 | FM10K_PKTTYPE_TCP] = RTE_PTYPE_L2_ETHER |
|
||||
RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_TCP,
|
||||
[FM10K_PKTTYPE_IPV4 | FM10K_PKTTYPE_UDP] = RTE_PTYPE_L2_ETHER |
|
||||
RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_UDP,
|
||||
[FM10K_PKTTYPE_IPV6 | FM10K_PKTTYPE_UDP] = RTE_PTYPE_L2_ETHER |
|
||||
RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP,
|
||||
};
|
||||
|
||||
m->packet_type = ptype_table[(d->w.pkt_info & FM10K_RXD_PKTTYPE_MASK)
|
||||
>> FM10K_RXD_PKTTYPE_SHIFT];
|
||||
#else /* RTE_NEXT_ABI */
|
||||
uint16_t ptype;
|
||||
static const uint16_t pt_lut[] = { 0,
|
||||
PKT_RX_IPV4_HDR, PKT_RX_IPV4_HDR_EXT,
|
||||
PKT_RX_IPV6_HDR, PKT_RX_IPV6_HDR_EXT,
|
||||
0, 0, 0
|
||||
};
|
||||
#endif /* RTE_NEXT_ABI */
|
||||
|
||||
if (d->w.pkt_info & FM10K_RXD_RSSTYPE_MASK)
|
||||
m->ol_flags |= PKT_RX_RSS_HASH;
|
||||
@ -97,9 +122,11 @@ rx_desc_to_ol_flags(struct rte_mbuf *m, const union fm10k_rx_desc *d)
|
||||
if (unlikely(d->d.staterr & FM10K_RXD_STATUS_RXE))
|
||||
m->ol_flags |= PKT_RX_RECIP_ERR;
|
||||
|
||||
#ifndef RTE_NEXT_ABI
|
||||
ptype = (d->d.data & FM10K_RXD_PKTTYPE_MASK_L3) >>
|
||||
FM10K_RXD_PKTTYPE_SHIFT;
|
||||
m->ol_flags |= pt_lut[(uint8_t)ptype];
|
||||
#endif
|
||||
}
|
||||
|
||||
uint16_t
|
||||
|
Loading…
x
Reference in New Issue
Block a user