[v3,4/4] net/nfp: vector Rx function supports parsing ptype
Checks
Commit Message
From: Long Wu <long.wu@corigine.com>
Vector AVX2 Rx function supports parsing packet type and set it to mbuf.
Signed-off-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
---
drivers/net/nfp/nfp_net_common.c | 2 +-
drivers/net/nfp/nfp_rxtx.c | 2 +-
drivers/net/nfp/nfp_rxtx.h | 3 +++
drivers/net/nfp/nfp_rxtx_vec_avx2.c | 2 ++
4 files changed, 7 insertions(+), 2 deletions(-)
@@ -1455,7 +1455,7 @@ nfp_net_supported_ptypes_get(struct rte_eth_dev *dev, size_t *no_of_elements)
RTE_PTYPE_INNER_L4_SCTP,
};
- if (dev->rx_pkt_burst != nfp_net_recv_pkts)
+ if (dev->rx_pkt_burst == NULL)
return NULL;
net_hw = dev->data->dev_private;
@@ -350,7 +350,7 @@ nfp_net_set_ptype(const struct nfp_ptype_parsed *nfp_ptype,
* @param mb
* Mbuf to set the packet type.
*/
-static void
+void
nfp_net_parse_ptype(struct nfp_net_rxq *rxq,
struct nfp_net_rx_desc *rxds,
struct rte_mbuf *mb)
@@ -245,5 +245,8 @@ void nfp_net_tx_queue_info_get(struct rte_eth_dev *dev,
uint16_t queue_id,
struct rte_eth_txq_info *qinfo);
void nfp_net_recv_pkts_set(struct rte_eth_dev *eth_dev);
+void nfp_net_parse_ptype(struct nfp_net_rxq *rxq,
+ struct nfp_net_rx_desc *rxds,
+ struct rte_mbuf *mb);
#endif /* __NFP_RXTX_H__ */
@@ -111,6 +111,8 @@ nfp_vec_avx2_recv_set_rxpkt1(struct nfp_net_rxq *rxq,
nfp_net_meta_parse(rxds, rxq, hw, rx_pkt, &meta);
+ nfp_net_parse_ptype(rxq, rxds, rx_pkt);
+
/* Checking the checksum flag */
nfp_net_rx_cksum(rxq, rxds, rx_pkt);
}