[dpdk-dev] [PATCH 3/3] i40e: use crc checksum disable flag

Paul Emmerich emmericp at net.in.tum.de
Mon Feb 15 17:55:25 CET 2016


Signed-off-by: Paul Emmerich <emmericp at net.in.tum.de>
---
 drivers/net/i40e/i40e_rxtx.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 40cffc1..52f7955 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -799,6 +799,11 @@ i40e_txd_enable_checksum(uint64_t ol_flags,
 		*td_offset |= (tx_offload.l2_len >> 1)
 			<< I40E_TX_DESC_LENGTH_MACLEN_SHIFT;
 
+	/* Enable L2 checksum offload */
+	if (!(ol_flags & PKT_TX_NO_CRC_CSUM))
+		*td_cmd |= I40E_TX_DESC_CMD_ICRC;
+
+
 	/* Enable L3 checksum offloads */
 	if (ol_flags & PKT_TX_IP_CKSUM) {
 		*td_cmd |= I40E_TX_DESC_CMD_IIPT_IPV4_CSUM;
@@ -1613,9 +1618,6 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 						I40E_TX_FLAG_L2TAG1_SHIFT;
 		}
 
-		/* Always enable CRC offload insertion */
-		td_cmd |= I40E_TX_DESC_CMD_ICRC;
-
 		/* Enable checksum offloading */
 		cd_tunneling_params = 0;
 		if (ol_flags & I40E_TX_CKSUM_OFFLOAD_MASK) {
-- 
1.9.1



More information about the dev mailing list