Imported Upstream version 16.11.2
[deb_dpdk.git] / drivers / net / nfp / nfp_net.c
index c6b1587..49c5293 100644 (file)
@@ -1027,8 +1027,8 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 
        if (hw->cap & NFP_NET_CFG_CTRL_TXCSUM)
                dev_info->tx_offload_capa |= DEV_TX_OFFLOAD_IPV4_CKSUM |
-                                            DEV_RX_OFFLOAD_UDP_CKSUM |
-                                            DEV_RX_OFFLOAD_TCP_CKSUM;
+                                            DEV_TX_OFFLOAD_UDP_CKSUM |
+                                            DEV_TX_OFFLOAD_TCP_CKSUM;
 
        dev_info->default_rxconf = (struct rte_eth_rxconf) {
                .rx_thresh = {
@@ -1916,7 +1916,7 @@ nfp_net_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
        struct nfp_net_tx_desc *txds;
        struct rte_mbuf *pkt;
        uint64_t dma_addr;
-       int pkt_size, dma_size;
+       int pkt_size, pkt_len, dma_size;
        uint16_t free_descs, issued_descs;
        struct rte_mbuf **lmbuf;
        int i;
@@ -1964,6 +1964,8 @@ nfp_net_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
                 * Checksum and VLAN flags just in the first descriptor for a
                 * multisegment packet
                 */
+
+               txds->data_len = pkt->pkt_len;
                nfp_net_tx_cksum(txq, txds, pkt);
 
                if ((pkt->ol_flags & PKT_TX_VLAN_PKT) &&
@@ -1981,6 +1983,7 @@ nfp_net_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
                 * then data_len = pkt_len
                 */
                pkt_size = pkt->pkt_len;
+               pkt_len = pkt->pkt_len;
 
                /* Releasing mbuf which was prefetched above */
                if (*lmbuf)
@@ -1999,7 +2002,7 @@ nfp_net_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
                        /* Filling descriptors fields */
                        txds->dma_len = dma_size;
-                       txds->data_len = pkt->pkt_len;
+                       txds->data_len = pkt_len;
                        txds->dma_addr_hi = (dma_addr >> 32) & 0xff;
                        txds->dma_addr_lo = (dma_addr & 0xffffffff);
                        ASSERT(free_descs > 0);
@@ -2043,9 +2046,9 @@ nfp_net_vlan_offload_set(struct rte_eth_dev *dev, int mask)
        new_ctrl = 0;
 
        if ((mask & ETH_VLAN_FILTER_OFFLOAD) ||
-           (mask & ETH_VLAN_FILTER_OFFLOAD))
-               RTE_LOG(INFO, PMD, "Not support for ETH_VLAN_FILTER_OFFLOAD or"
-                       " ETH_VLAN_FILTER_EXTEND");
+           (mask & ETH_VLAN_EXTEND_OFFLOAD))
+               RTE_LOG(INFO, PMD, "No support for ETH_VLAN_FILTER_OFFLOAD or"
+                       " ETH_VLAN_EXTEND_OFFLOAD");
 
        /* Enable vlan strip if it is not configured yet */
        if ((mask & ETH_VLAN_STRIP_OFFLOAD) &&