Merge branch 'upstream-16.11-stable' into 16.11.x
[deb_dpdk.git] / drivers / net / bnxt / bnxt_rxr.c
index 980f3ec..ccf8196 100644 (file)
@@ -71,8 +71,9 @@ static inline int bnxt_alloc_rx_data(struct bnxt_rx_queue *rxq,
                return -ENOMEM;
 
        rx_buf->mbuf = data;
+       data->data_off = RTE_PKTMBUF_HEADROOM;
 
-       rxbd->addr = rte_cpu_to_le_64(RTE_MBUF_DATA_DMA_ADDR(rx_buf->mbuf));
+       rxbd->addr = rte_cpu_to_le_64(rte_mbuf_data_dma_addr_default(data));
 
        return 0;
 }
@@ -126,6 +127,7 @@ static uint16_t bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
        mbuf = rx_buf->mbuf;
        rte_prefetch0(mbuf);
 
+       mbuf->data_off = RTE_PKTMBUF_HEADROOM;
        mbuf->nb_segs = 1;
        mbuf->next = NULL;
        mbuf->pkt_len = rxcmp->len;
@@ -151,13 +153,17 @@ static uint16_t bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
 
        if (likely(RX_CMP_IP_CS_OK(rxcmp1)))
                mbuf->ol_flags |= PKT_RX_IP_CKSUM_GOOD;
+       else if (likely(RX_CMP_IP_CS_UNKNOWN(rxcmp1)))
+               mbuf->ol_flags |= PKT_RX_IP_CKSUM_UNKNOWN;
        else
-               mbuf->ol_flags |= PKT_RX_IP_CKSUM_NONE;
+               mbuf->ol_flags |= PKT_RX_IP_CKSUM_BAD;
 
        if (likely(RX_CMP_L4_CS_OK(rxcmp1)))
                mbuf->ol_flags |= PKT_RX_L4_CKSUM_GOOD;
+       else if (likely(RX_CMP_L4_CS_UNKNOWN(rxcmp1)))
+               mbuf->ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN;
        else
-               mbuf->ol_flags |= PKT_RX_L4_CKSUM_NONE;
+               mbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD;
 
        if (rxcmp1->errors_v2 & RX_CMP_L2_ERRORS) {
                /* Re-install the mbuf back to the rx ring */