Enable l4 checksum offload for ThunderX PMD 66/15966/3
authorFederico Claramonte <fede.claramonte@caviumnetworks.com>
Thu, 15 Nov 2018 12:19:29 +0000 (13:19 +0100)
committerDamjan Marion <dmarion@me.com>
Sun, 18 Nov 2018 19:48:10 +0000 (19:48 +0000)
Change-Id: I6a6ab6d8d9aeca9df3ba8a3ac519be25aaa796e8
Signed-off-by: Federico Claramonte <fede.claramonte@caviumnetworks.com>
src/plugins/dpdk/device/init.c

index d67540c..e8718f7 100644 (file)
@@ -506,6 +506,19 @@ dpdk_lib_init (dpdk_main_t * dm)
 #elif RTE_VERSION < RTE_VERSION_NUM(18, 11, 0, 0)
              xd->port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_CRC_STRIP;
 #endif
+
+             if (dm->conf->no_tx_checksum_offload == 0)
+               {
+#if RTE_VERSION < RTE_VERSION_NUM(18, 8, 0, 0)
+                 xd->tx_conf.txq_flags &= ~(ETH_TXQ_FLAGS_NOXSUMUDP |
+                                                    ETH_TXQ_FLAGS_NOXSUMTCP);
+#else
+                 xd->port_conf.txmode.offloads |= DEV_TX_OFFLOAD_TCP_CKSUM;
+                 xd->port_conf.txmode.offloads |= DEV_TX_OFFLOAD_UDP_CKSUM;
+#endif
+                 xd->flags |=
+                   DPDK_DEVICE_FLAG_TX_OFFLOAD;
+               }
              break;
 
            case VNET_DPDK_PMD_ENA: