This test suite and the supporting testpmd shell changes originate from an old dts test plan called "vxlan_gpe_support_in_i40e", and the necessary testpmd commands to run the suite are only fully supported on the i40e NICs I have tested on (bnxt and mlx5 NICs don't support.) However, VXLAN-GPE tunnelling is technically supported in the ethdev API, so I decided to write it anyways.
The suite consists originally consists of two test cases, but I compressed them into one where the udp_tunnel_port command is used to add VXLAN-GPE port 4790 to the filter list on testpmd. To my understanding, A UDP / VXLAN packet with dport 4790 is sent and captured to verify the VXLAN layer is still in the received packet. Then, the port 4790 tunnel is removed from the session and the same packet is sent, but when received should not have the VXLAN layer. I am unsure based on the test plan description whether the VXLAN layer is fully removed, or if the verbose output on testpmd just prints the VXLAN layer in stdout in the first case and not the second, but I decided to implement the former for now. Dean Marx (3): dts: add UDP tunnel command to testpmd shell dts: VXLAN gpe support test suite dts: conf schema VXLAN gpe support dts/framework/config/conf_yaml_schema.json | 3 +- dts/framework/remote_session/testpmd_shell.py | 51 +++++++++++- dts/tests/TestSuite_vxlan_gpe_support.py | 77 +++++++++++++++++++ 3 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 dts/tests/TestSuite_vxlan_gpe_support.py -- 2.44.0