net/txgbe: support ntuple filter add and delete
[dpdk.git] / drivers / net / ice / ice_rxtx.c
index 5fbd68e..d052bd0 100644 (file)
@@ -1451,6 +1451,11 @@ ice_rxd_error_to_pkt_flags(uint16_t stat_err0)
        if (unlikely(stat_err0 & (1 << ICE_RX_FLEX_DESC_STATUS0_XSUM_EIPE_S)))
                flags |= PKT_RX_EIP_CKSUM_BAD;
 
+       if (unlikely(stat_err0 & (1 << ICE_RX_FLEX_DESC_STATUS0_XSUM_EUDPE_S)))
+               flags |= PKT_RX_OUTER_L4_CKSUM_BAD;
+       else
+               flags |= PKT_RX_OUTER_L4_CKSUM_GOOD;
+
        return flags;
 }
 
@@ -2319,8 +2324,11 @@ ice_parse_tunneling_params(uint64_t ol_flags,
        *cd_tunneling |= (tx_offload.l2_len >> 1) <<
                ICE_TXD_CTX_QW0_NATLEN_S;
 
-       if ((ol_flags & PKT_TX_OUTER_UDP_CKSUM) &&
-           (ol_flags & PKT_TX_OUTER_IP_CKSUM) &&
+       /**
+        * Calculate the tunneling UDP checksum.
+        * Shall be set only if L4TUNT = 01b and EIPT is not zero
+        */
+       if (!(*cd_tunneling & ICE_TX_CTX_EIPT_NONE) &&
            (*cd_tunneling & ICE_TXD_CTX_UDP_TUNNELING))
                *cd_tunneling |= ICE_TXD_CTX_QW0_L4T_CS_M;
 }