aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2024-05-30 10:51:57 +0200
committerVratko Polak <vrpolak@cisco.com>2024-05-30 12:55:37 +0000
commit6ed8c39ecfacd595c2d848d719608138353899bd (patch)
tree56276a351d2468406bc0d0e574617f9adb708128
parent8f804a1b0c66f5ac017d566ef24b2b687c602d8c (diff)
feat(hoststack): Enable L4 checksum RX offload
Change-Id: I169b06433ae962811aafa91ce90fe169b0bc4c71 Signed-off-by: Vratko Polak <vrpolak@cisco.com> (cherry picked from commit 5cd3594cc9b411479796d53d86214323e4c00714)
-rw-r--r--resources/libraries/python/ContainerUtils.py1
-rw-r--r--resources/libraries/python/KubernetesUtils.py3
-rw-r--r--resources/libraries/python/QemuUtils.py3
-rw-r--r--resources/libraries/python/VppConfigGenerator.py5
-rw-r--r--resources/libraries/robot/shared/interfaces.robot5
-rw-r--r--tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpbase-ldpreload-iperf3-bps.robot1
-rw-r--r--tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpbase-nsim-ldpreload-iperf3-bps.robot1
-rw-r--r--tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpscale1cl10s-ldpreload-iperf3-bps.robot1
-rw-r--r--tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpscale1cl10s-nsim-ldpreload-iperf3-bps.robot1
-rw-r--r--tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpbase-ldpreload-iperf3-bps.robot1
-rw-r--r--tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicbase-vppecho-bps.robot1
-rw-r--r--tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale10cl10s-vppecho-bps.robot1
-rw-r--r--tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale10cl1s-vppecho-bps.robot1
-rw-r--r--tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale1cl10s-vppecho-bps.robot1
-rw-r--r--tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpscale1cl10s-ldpreload-iperf3-bps.robot1
-rw-r--r--tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-dma-ldpreload-nginx-1_21_5-cps.robot1
-rw-r--r--tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-dma-ldpreload-nginx-1_21_5-rps.robot1
-rw-r--r--tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-ldpreload-nginx-1_21_5-cps.robot1
-rw-r--r--tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-ldpreload-nginx-1_21_5-rps.robot1
19 files changed, 29 insertions, 2 deletions
diff --git a/resources/libraries/python/ContainerUtils.py b/resources/libraries/python/ContainerUtils.py
index fc32248f6b..c0a282f775 100644
--- a/resources/libraries/python/ContainerUtils.py
+++ b/resources/libraries/python/ContainerUtils.py
@@ -763,6 +763,7 @@ class ContainerEngine:
vpp_config = self.create_base_vpp_startup_config(cpuset_cpus)
vpp_config.add_dpdk_dev(*devices)
vpp_config.add_dpdk_log_level(u"debug")
+ vpp_config.add_dpdk_enable_tcp_udp_checksum()
vpp_config.add_dpdk_no_tx_checksum_offload()
vpp_config.add_dpdk_dev_default_rxq(rxq)
vpp_config.add_plugin(u"enable", u"dpdk_plugin.so")
diff --git a/resources/libraries/python/KubernetesUtils.py b/resources/libraries/python/KubernetesUtils.py
index 9ded0e8b9e..6da5ba017d 100644
--- a/resources/libraries/python/KubernetesUtils.py
+++ b/resources/libraries/python/KubernetesUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2024 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
@@ -492,6 +492,7 @@ class KubernetesUtils:
vpp_config.add_ip6_hash_buckets(u"2000000")
if not kwargs[u"jumbo"]:
vpp_config.add_dpdk_no_multi_seg()
+ vpp_config.add_dpdk_enable_tcp_udp_checksum()
vpp_config.add_dpdk_no_tx_checksum_offload()
vpp_config.add_dpdk_dev_default_rxq(kwargs[u"rxq_count_int"])
vpp_config.add_dpdk_dev(kwargs[u"if1"], kwargs[u"if2"])
diff --git a/resources/libraries/python/QemuUtils.py b/resources/libraries/python/QemuUtils.py
index 2df89ee87c..c9bbed4e81 100644
--- a/resources/libraries/python/QemuUtils.py
+++ b/resources/libraries/python/QemuUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2022-2023 Cisco and/or its affiliates.
+# Copyright (c) 2024 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
@@ -344,6 +344,7 @@ class QemuUtils:
vpp_config.add_dpdk_log_level(u"debug")
if not kwargs[u"jumbo_frames"]:
vpp_config.add_dpdk_no_multi_seg()
+ vpp_config.add_dpdk_no_enable_tcp_udp_checksum()
vpp_config.add_dpdk_no_tx_checksum_offload()
if "ipsec" in self._opt.get(u'vnf'):
vpp_config.add_plugin(u"enable", u"crypto_native_plugin.so")
diff --git a/resources/libraries/python/VppConfigGenerator.py b/resources/libraries/python/VppConfigGenerator.py
index 73eff44066..fb3df2fc16 100644
--- a/resources/libraries/python/VppConfigGenerator.py
+++ b/resources/libraries/python/VppConfigGenerator.py
@@ -551,6 +551,11 @@ class VppConfigGenerator:
path = ["dpdk", "no-multi-seg"]
self.add_config_item(self._nodeconfig, "", path)
+ def add_dpdk_enable_tcp_udp_checksum(self):
+ """Add DPDK enable-tcp-udp-checksum configuration."""
+ path = ["dpdk", "enable-tcp-udp-checksum"]
+ self.add_config_item(self._nodeconfig, "", path)
+
def add_dpdk_no_tx_checksum_offload(self):
"""Add DPDK no-tx-checksum-offload configuration."""
path = ["dpdk", "no-tx-checksum-offload"]
diff --git a/resources/libraries/robot/shared/interfaces.robot b/resources/libraries/robot/shared/interfaces.robot
index 091a09eeaf..b4d6959d01 100644
--- a/resources/libraries/robot/shared/interfaces.robot
+++ b/resources/libraries/robot/shared/interfaces.robot
@@ -16,6 +16,7 @@
| Library | resources.libraries.python.VhostUser
*** Variables ***
+| ${dpdk_enable_tcp_udp_checksum}= | ${False}
| ${dpdk_no_tx_checksum_offload}= | ${True}
*** Keywords ***
@@ -136,6 +137,8 @@
| | | Unbind PCI Devices From Other Driver | ${nodes['${dut}']} | vfio-pci |
| | | ... | @{${dut}_pf_pci}
| | | Run keyword | ${dut}.Add DPDK Dev | @{${dut}_pf_pci}
+| | | Run Keyword If | ${dpdk_enable_tcp_udp_checksum}
+| | | ... | ${dut}.Add DPDK Enable TCP UDP Checksum
| | | Run Keyword If | ${dpdk_no_tx_checksum_offload}
| | | ... | ${dut}.Add DPDK No Tx Checksum Offload
| | | Run Keyword | ${dut}.Add DPDK Log Level | debug
@@ -201,6 +204,8 @@
| | Run Keyword If | ${index} >= 0 | Return From Keyword
| | FOR | ${dut} | IN | @{duts}
| | | Run keyword | ${dut}.Add DPDK Dev | @{${dut}_pf_pci}
+| | | Run Keyword If | ${dpdk_enable_tcp_udp_checksum}
+| | | ... | ${dut}.Add DPDK Enable TCP UDP Checksum
| | | Run Keyword If | ${dpdk_no_tx_checksum_offload}
| | | ... | ${dut}.Add DPDK No Tx Checksum Offload
| | | Run Keyword | ${dut}.Add DPDK Log Level | debug
diff --git a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpbase-ldpreload-iperf3-bps.robot b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpbase-ldpreload-iperf3-bps.robot
index 2f8232e4c2..654562f38d 100644
--- a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpbase-ldpreload-iperf3-bps.robot
+++ b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpbase-ldpreload-iperf3-bps.robot
@@ -50,6 +50,7 @@
| ${nic_vfs}= | 0
| ${smt_used}= | ${False}
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${frame_size}= | ${1518}
| ${crypto_type}= | ${None}
diff --git a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpbase-nsim-ldpreload-iperf3-bps.robot b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpbase-nsim-ldpreload-iperf3-bps.robot
index 39dd77f684..c7ed27e2d1 100644
--- a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpbase-nsim-ldpreload-iperf3-bps.robot
+++ b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpbase-nsim-ldpreload-iperf3-bps.robot
@@ -50,6 +50,7 @@
| ${nic_vfs}= | 0
| ${smt_used}= | ${False}
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${frame_size}= | ${1518}
| ${crypto_type}= | ${None}
diff --git a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpscale1cl10s-ldpreload-iperf3-bps.robot b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpscale1cl10s-ldpreload-iperf3-bps.robot
index 17ac73b8e0..20a4049c50 100644
--- a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpscale1cl10s-ldpreload-iperf3-bps.robot
+++ b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpscale1cl10s-ldpreload-iperf3-bps.robot
@@ -49,6 +49,7 @@
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${frame_size}= | ${1518}
| ${crypto_type}= | ${None}
diff --git a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpscale1cl10s-nsim-ldpreload-iperf3-bps.robot b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpscale1cl10s-nsim-ldpreload-iperf3-bps.robot
index 30ac61def0..5c13ca0e9b 100644
--- a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpscale1cl10s-nsim-ldpreload-iperf3-bps.robot
+++ b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4tcpscale1cl10s-nsim-ldpreload-iperf3-bps.robot
@@ -49,6 +49,7 @@
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${frame_size}= | ${1518}
| ${crypto_type}= | ${None}
diff --git a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpbase-ldpreload-iperf3-bps.robot b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpbase-ldpreload-iperf3-bps.robot
index 491e20b170..87f3c09896 100644
--- a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpbase-ldpreload-iperf3-bps.robot
+++ b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpbase-ldpreload-iperf3-bps.robot
@@ -50,6 +50,7 @@
| ${nic_vfs}= | 0
| ${smt_used}= | ${False}
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${frame_size}= | ${1518}
| ${crypto_type}= | ${None}
diff --git a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicbase-vppecho-bps.robot b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicbase-vppecho-bps.robot
index 5f2eafb2f5..911af4c170 100644
--- a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicbase-vppecho-bps.robot
+++ b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicbase-vppecho-bps.robot
@@ -49,6 +49,7 @@
| ${nic_vfs}= | 0
| ${smt_used}= | ${False}
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${frame_size}= | ${1518}
| ${crypto_type}= | ${None}
diff --git a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale10cl10s-vppecho-bps.robot b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale10cl10s-vppecho-bps.robot
index 5806905b4f..e068186700 100644
--- a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale10cl10s-vppecho-bps.robot
+++ b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale10cl10s-vppecho-bps.robot
@@ -49,6 +49,7 @@
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${frame_size}= | ${1518}
| ${crypto_type}= | ${None}
diff --git a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale10cl1s-vppecho-bps.robot b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale10cl1s-vppecho-bps.robot
index a31273681e..1203173398 100644
--- a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale10cl1s-vppecho-bps.robot
+++ b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale10cl1s-vppecho-bps.robot
@@ -49,6 +49,7 @@
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${frame_size}= | ${1518}
| ${crypto_type}= | ${None}
diff --git a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale1cl10s-vppecho-bps.robot b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale1cl10s-vppecho-bps.robot
index 59951aa5db..6c28e2f3e7 100644
--- a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale1cl10s-vppecho-bps.robot
+++ b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpquicscale1cl10s-vppecho-bps.robot
@@ -49,6 +49,7 @@
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${frame_size}= | ${1518}
| ${crypto_type}= | ${None}
diff --git a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpscale1cl10s-ldpreload-iperf3-bps.robot b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpscale1cl10s-ldpreload-iperf3-bps.robot
index 0368f9d15b..c942f2bea6 100644
--- a/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpscale1cl10s-ldpreload-iperf3-bps.robot
+++ b/tests/vpp/perf/hoststack/10ge2p1x710-eth-ip4udpscale1cl10s-ldpreload-iperf3-bps.robot
@@ -49,6 +49,7 @@
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${frame_size}= | ${1518}
| ${crypto_type}= | ${None}
diff --git a/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-dma-ldpreload-nginx-1_21_5-cps.robot b/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-dma-ldpreload-nginx-1_21_5-cps.robot
index cd6cb673c5..667b83382f 100644
--- a/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-dma-ldpreload-nginx-1_21_5-cps.robot
+++ b/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-dma-ldpreload-nginx-1_21_5-cps.robot
@@ -51,6 +51,7 @@
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
#| ${page_size}= | 1G
| ${ciphers}= | 0
diff --git a/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-dma-ldpreload-nginx-1_21_5-rps.robot b/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-dma-ldpreload-nginx-1_21_5-rps.robot
index e1680b4779..3cf4cf378c 100644
--- a/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-dma-ldpreload-nginx-1_21_5-rps.robot
+++ b/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-dma-ldpreload-nginx-1_21_5-rps.robot
@@ -51,6 +51,7 @@
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
#| ${page_size}= | 1G
| ${ciphers}= | 0
diff --git a/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-ldpreload-nginx-1_21_5-cps.robot b/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-ldpreload-nginx-1_21_5-cps.robot
index 7f1e4ba189..75c9a4f003 100644
--- a/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-ldpreload-nginx-1_21_5-cps.robot
+++ b/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-ldpreload-nginx-1_21_5-cps.robot
@@ -49,6 +49,7 @@
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${ciphers}= | 0
| ${rps_cps}= | cps
diff --git a/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-ldpreload-nginx-1_21_5-rps.robot b/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-ldpreload-nginx-1_21_5-rps.robot
index 0db8a72a16..9020c6cd6f 100644
--- a/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-ldpreload-nginx-1_21_5-rps.robot
+++ b/tests/vpp/perf/hoststack/2n1l-10ge2p1x710-eth-ip4tcphttp-ldpreload-nginx-1_21_5-rps.robot
@@ -49,6 +49,7 @@
| ${nic_pfs}= | 2
| ${nic_vfs}= | 0
| ${overhead}= | ${0}
+| ${dpdk_enable_tcp_udp_checksum}= | ${True}
| ${dpdk_no_tx_checksum_offload}= | ${False}
| ${ciphers}= | 0
| ${rps_cps}= | rps