[dpdk-dev] [PATCH 3/5] net/hns3: fix preparing sending packets less than 60 bytes

Wei Hu (Xavier) xavier.huwei at huawei.com
Fri May 22 11:21:16 CEST 2020


Currently, when running testpmd application based on hns3 network engine
with csum fwd mode by "set fwd csum" command in the prompt line, sending
42 consecutive bytes of arp packets to network port with packets generator,
But in fact hardware can't send the arp packets and the related logs as
below:
"Preparing packet burst to failed: Invalid argument"

The hardware doesn't support transmit packets less than 60 bytes, and in
the '.tx_pkt_burst' ops implementation function named hns3_xmit_pkts
appending operation has been added for less than 60 bytes packets. So the
interception needs to be removed in the '.tx_pkt_prepare' ops
implementation function named hns3_prep_pkts.

Fixes: de620754a109 ("net/hns3: fix sending packets less than 60 bytes")
Fixes: bba636698316 ("net/hns3: support Rx/Tx and related operations")
Cc: stable at dpdk.org

Signed-off-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
Signed-off-by: Hao Chen <chenhao164 at huawei.com>
Signed-off-by: Chengchang Tang <tangchengchang at huawei.com>
---
 drivers/net/hns3/hns3_rxtx.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c
index 8b3ced1..25ba3b8 100644
--- a/drivers/net/hns3/hns3_rxtx.c
+++ b/drivers/net/hns3/hns3_rxtx.c
@@ -2313,12 +2313,6 @@ hns3_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
 	for (i = 0; i < nb_pkts; i++) {
 		m = tx_pkts[i];
 
-		/* check the size of packet */
-		if (m->pkt_len < RTE_ETHER_MIN_LEN) {
-			rte_errno = EINVAL;
-			return i;
-		}
-
 		if (hns3_pkt_is_tso(m) &&
 		    (hns3_pkt_need_linearized(m, m->nb_segs) ||
 		     hns3_check_tso_pkt_valid(m))) {
-- 
2.7.4



More information about the dev mailing list