dpdk: rx checksum offload 86/25286/2
authorFlorin Coras <fcoras@cisco.com>
Wed, 19 Feb 2020 21:38:15 +0000 (21:38 +0000)
committerDave Wallace <dwallacelf@gmail.com>
Thu, 20 Feb 2020 15:55:22 +0000 (15:55 +0000)
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I5a3e3a41dcc60c0d9b291e51bb112e7701f73050

src/plugins/dpdk/device/init.c

index 6d327cb..ac79ac4 100644 (file)
@@ -349,6 +349,14 @@ dpdk_lib_init (dpdk_main_t * dm)
          xd->flags |= DPDK_DEVICE_FLAG_RX_IP4_CKSUM;
        }
 
+      if (dm->conf->enable_tcp_udp_checksum)
+       {
+         if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_UDP_CKSUM)
+           xd->port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_UDP_CKSUM;
+         if (dev_info.rx_offload_capa & DEV_RX_OFFLOAD_TCP_CKSUM)
+           xd->port_conf.rxmode.offloads |= DEV_RX_OFFLOAD_TCP_CKSUM;
+       }
+
       if (dm->conf->no_multi_seg)
        {
          xd->port_conf.txmode.offloads &= ~DEV_TX_OFFLOAD_MULTI_SEGS;