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