pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/upf-benchmark/+/39467?usp=email )
Change subject: Move new TRex based setup to its own gtplan-sysmo2025 dir ......................................................................
Move new TRex based setup to its own gtplan-sysmo2025 dir
Some documentation regardins the setups is added/improved.
Change-Id: Ia5adb2826c30a0a4c02b091e9907e48c309ebf05 --- A testsuites/gtplab-sysmo2017/README.md A testsuites/gtplab-sysmo2017/setup.dot D testsuites/gtplab-sysmo2017/trex-tunmap/README.md A testsuites/gtplab-sysmo2025/README.md A testsuites/gtplab-sysmo2025/setup.dot A testsuites/gtplab-sysmo2025/tunmap/README.md R testsuites/gtplab-sysmo2025/tunmap/cpf/0.gtp_flood.vty R testsuites/gtplab-sysmo2025/tunmap/cpf/configure.sh R testsuites/gtplab-sysmo2025/tunmap/cpf/osmo-upf-load-gen.cfg R testsuites/gtplab-sysmo2025/tunmap/cpf/run.sh R testsuites/gtplab-sysmo2025/tunmap/trex/configure.sh R testsuites/gtplab-sysmo2025/tunmap/trex/gtp_1pkt_simple.py R testsuites/gtplab-sysmo2025/tunmap/trex/run.sh R testsuites/gtplab-sysmo2025/tunmap/trex/trex_cfg.yaml R testsuites/gtplab-sysmo2025/tunmap/upf/configure.sh R testsuites/gtplab-sysmo2025/tunmap/upf/eupf/eupf.yaml R testsuites/gtplab-sysmo2025/tunmap/upf/eupf/run.sh R testsuites/gtplab-sysmo2025/tunmap/upf/osmo-upf/osmo-upf.cfg R testsuites/gtplab-sysmo2025/tunmap/upf/osmo-upf/run.sh 19 files changed, 114 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/upf-benchmark refs/changes/67/39467/1
diff --git a/testsuites/gtplab-sysmo2017/README.md b/testsuites/gtplab-sysmo2017/README.md new file mode 100644 index 0000000..49bb4f2 --- /dev/null +++ b/testsuites/gtplab-sysmo2017/README.md @@ -0,0 +1,3 @@ +This directory contains test scenarios (tunmap, tunend) run on a setup which consists out of 3 identical machines, each with a dualport mellanox network card and 100ge cables to the next machine. + +See setup.dot in this same directory to understand better the general topology. \ No newline at end of file diff --git a/testsuites/gtplab-sysmo2017/setup.dot b/testsuites/gtplab-sysmo2017/setup.dot new file mode 100644 index 0000000..4a67ef3 --- /dev/null +++ b/testsuites/gtplab-sysmo2017/setup.dot @@ -0,0 +1,40 @@ +digraph G { + rankdir=TB; + labelloc=t; + label="gtplab @ sysmocom"; + + subgraph cluster_gtplab0 { + label="gtplab0"; + rankdir=TB; + gtplab0_ipmi [label="ipmi\n10.9.23.50/24\nac:1f:6b:4a:78:d2\nBMC/ipmi\ndhcpc"]; + gtplab0_eno1 [label="eno1\n10.9.25.20/24\nac:1f:6b:45:1b:04\nOOB access\ndhcpc"]; + gtplab0_eno2 [label="eno2\nac:1f:6b:45:1b:05\nunused"]; + gtplab0_enp2s0f0np0 [label="enp2s0f0np0\n172.16.31.1/24\nec:0d:9a:8a:28:12\nstatic "]; + gtplab0_enp2s0f1np1 [label="enp2s0f1np1\nec:0d:9a:8a:28:13\nunused "]; + } + subgraph cluster_gtplab1 { + label="gtplab1"; + gtplab1_ipmi [label="ipmi\n10.9.23.51/24\nac:1f:6b:4a:79:84\nBMC/ipmi\ndhcpc"]; + gtplab1_eno1 [label="eno1\n10.9.25.21/24\nac:1f:6b:45:1c:68\nOOB access\ndhcpc"]; + gtplab1_eno2 [label="eno2\nac:1f:6b:45:1c:69\nunused"]; + gtplab1_enp2s0f0np0 [label="enp2s0f0np0\n172.16.31.2/24\nec:0d:9a:8a:28:1a\n100gb link\nstatic "]; + gtplab1_enp2s0f1np1 [label="enp2s0f1np1\n172.16.32.1/24\nec:0d:9a:8a:28:1b\n100gb link\nstatic "]; + } + subgraph cluster_gtplab2 { + label="gtplab2"; + gtplab2_ipmi [label="ipmi\n10.9.23.52/24\nac:1f:6b:4a:77:cd\nBMC/ipmi\ndhcpc"]; + gtplab2_eno1 [label="eno1\n10.9.25.22/24\nac:1f:6b:45:18:fe\nOOB access\ndhcpc"]; + gtplab2_eno2 [label="eno2\nac:1f:6b:45:18:ff\nunused"]; + gtplab2_enp2s0f0np0 [label="enp2s0f0np0\n172.16.32.2/24\nec:0d:9a:8a:27:52\nstatic "]; + gtplab2_enp2s0f1np1 [label="enp2s0f1np1\nec:0d:9a:8a:27:53\nunused"]; + } + + switch -> gtplab0_ipmi [constraint=false,dir=both]; + switch -> gtplab0_eno1 [constraint=false,dir=both]; + switch -> gtplab1_ipmi [constraint=false,dir=both]; + switch -> gtplab1_eno1 [constraint=false,dir=both]; + switch -> gtplab2_ipmi [constraint=false,dir=both]; + switch -> gtplab2_eno1 [constraint=false,dir=both]; + gtplab0_enp2s0f0np0 -> gtplab1_enp2s0f0np0 [label="100gb",dir=both,style=bold]; + gtplab1_enp2s0f1np1 -> gtplab2_enp2s0f0np0 [label="100gb",dir=both,style=bold]; +} diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/README.md b/testsuites/gtplab-sysmo2017/trex-tunmap/README.md deleted file mode 100644 index 17102e4..0000000 --- a/testsuites/gtplab-sysmo2017/trex-tunmap/README.md +++ /dev/null @@ -1,5 +0,0 @@ ----- -[ran](172.16.31.1) ----GTPU--> ()[upf] - | -[cn](172.16.31.100) <--GTPU--- ()[upf] ----- \ No newline at end of file diff --git a/testsuites/gtplab-sysmo2025/README.md b/testsuites/gtplab-sysmo2025/README.md new file mode 100644 index 0000000..f6c6221 --- /dev/null +++ b/testsuites/gtplab-sysmo2025/README.md @@ -0,0 +1,17 @@ +This directory contains test scenarios (tunmap, tunend) run on a setup which consists out of 3 machines, all of them are inter-connected via a Mellanox SN2700 32x 100GE switch. + +Machines: +* TRex: This machine runs TRex to generate/consume traffic emulating both RAN + and CN around the UPF. +* UPF: This machine runs the UPF under test, be it osmo-upf, eupf, etc. +* CPF: This machine runs the userspace program in charge of setting up the UPF + sessions over PFCP, hence acting as a CPF. It runs osmo-upf-load-gen tool from + this same repository. + +The CPF could actually also be run eg. at TRex machine and route PFCP traffic +over the external network towards UPF. Note it cannot easily use the network +interfaces (internal network) used to transmit GTPU, since those are controlled +by TRex and not by the linux kernel, hence why CPF is simply placed in another +machine. + +See setup.dot in this same directory to understand better the general topology. \ No newline at end of file diff --git a/testsuites/gtplab-sysmo2025/setup.dot b/testsuites/gtplab-sysmo2025/setup.dot new file mode 100644 index 0000000..d3a7a14 --- /dev/null +++ b/testsuites/gtplab-sysmo2025/setup.dot @@ -0,0 +1,49 @@ +digraph G { + rankdir=TB; + labelloc=t; + label="gtplab @ sysmocom"; + + subgraph cluster_trex { + label="TRex (gtplab2)"; + rankdir=TB; + trex_ipmi [label="ipmi\n10.9.23.52/24\nac:1f:6b:4a:77:cd\nBMC/ipmi\ndhcpc"]; + trex_eno1 [label="eno1\n10.9.25.22/24\nac:1f:6b:45:18:fe\nOOB access\ndhcpc"]; + trex_eno2 [label="eno2\nac:1f:6b:45:18:ff\nunused"]; + trex_enp2s0f0np0 [label="enp2s0f0np0\n172.16.32.2/24\nec:0d:9a:8a:27:52\nstatic (TRex)"]; + trex_enp2s0f1np1 [label="enp2s0f1np1\n172.16.31.200\nec:0d:9a:8a:27:53\nstatic (TRex)"]; + } + subgraph cluster_upf { + label="UPF (gtplab1)"; + upf_ipmi [label="ipmi\n10.9.23.51/24\nac:1f:6b:4a:79:84\nBMC/ipmi\ndhcpc"]; + upf_eno1 [label="eno1\n10.9.25.21/24\nac:1f:6b:45:1c:68\nOOB access\ndhcpc"]; + upf_eno2 [label="eno2\nac:1f:6b:45:1c:69\nunused"]; + upf_enp2s0f0np0 [label="enp2s0f0np0\n172.16.31.2/24\nec:0d:9a:8a:28:1a\n100gb link\nstatic "]; + upf_enp2s0f1np1 [label="enp2s0f1np1\n172.16.32.1/24\nec:0d:9a:8a:28:1b\n100gb link\nstatic "]; + } + subgraph cluster_test_switch { + label="Test Switch (100gb)"; + test_switch_vlan1 [label="vlan1 (RAN)"]; + test_switch_vlan2 [label="vlan2 (CN)"]; + } + subgraph cluster_cpf { + label="CPF (gtplab0)"; + cpf_ipmi [label="ipmi\n10.9.23.50/24\nac:1f:6b:4a:78:d2\nBMC/ipmi\ndhcpc"]; + cpf_eno1 [label="eno1\n10.9.25.20/24\nac:1f:6b:45:1b:04\nOOB access\ndhcpc"]; + cpf_eno2 [label="eno2\nac:1f:6b:45:1b:05\nunused"]; + cpf_enp2s0f0np0 [label="enp2s0f0np0\n172.16.31.1/24\nec:0d:9a:8a:28:12\nstatic "]; + cpf_enp2s0f1np1 [label="enp2s0f1np1\nec:0d:9a:8a:28:13\nunused "]; + } + + trex_enp2s0f0np0 -> test_switch_vlan1 [label="RAN 100gb",dir=both,style=bold]; + trex_enp2s0f1np1 -> test_switch_vlan2 [label="CN 100gb",dir=both,style=bold]; + upf_enp2s0f0np0 -> test_switch_vlan2 [label="CN 100gb",dir=both,style=bold]; + upf_enp2s0f1np1 -> test_switch_vlan1 [label="RAN 100gb",dir=both,style=bold]; + cpf_enp2s0f0np0 -> test_switch_vlan1 [label="PFCP (100gb)",dir=both,style=bold]; + + switch -> cpf_ipmi [constraint=false,dir=both]; + switch -> cpf_eno1 [constraint=false,dir=both]; + switch -> upf_ipmi [constraint=false,dir=both]; + switch -> upf_eno1 [constraint=false,dir=both]; + switch -> trex_ipmi [constraint=false,dir=both]; + switch -> trex_eno1 [constraint=false,dir=both]; +} diff --git a/testsuites/gtplab-sysmo2025/tunmap/README.md b/testsuites/gtplab-sysmo2025/tunmap/README.md new file mode 100644 index 0000000..d10b5dd --- /dev/null +++ b/testsuites/gtplab-sysmo2025/tunmap/README.md @@ -0,0 +1,5 @@ +---- +[ran](172.16.32.2) ----GTPU--> ()[upf] + | +[cn](172.16.31.2) <--GTPU---- ()[upf] +---- \ No newline at end of file diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/smf/0.gtp_flood.vty b/testsuites/gtplab-sysmo2025/tunmap/cpf/0.gtp_flood.vty similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/smf/0.gtp_flood.vty rename to testsuites/gtplab-sysmo2025/tunmap/cpf/0.gtp_flood.vty diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/smf/configure.sh b/testsuites/gtplab-sysmo2025/tunmap/cpf/configure.sh similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/smf/configure.sh rename to testsuites/gtplab-sysmo2025/tunmap/cpf/configure.sh diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/smf/osmo-upf-load-gen.cfg b/testsuites/gtplab-sysmo2025/tunmap/cpf/osmo-upf-load-gen.cfg similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/smf/osmo-upf-load-gen.cfg rename to testsuites/gtplab-sysmo2025/tunmap/cpf/osmo-upf-load-gen.cfg diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/smf/run.sh b/testsuites/gtplab-sysmo2025/tunmap/cpf/run.sh similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/smf/run.sh rename to testsuites/gtplab-sysmo2025/tunmap/cpf/run.sh diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/trex/configure.sh b/testsuites/gtplab-sysmo2025/tunmap/trex/configure.sh similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/trex/configure.sh rename to testsuites/gtplab-sysmo2025/tunmap/trex/configure.sh diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/trex/gtp_1pkt_simple.py b/testsuites/gtplab-sysmo2025/tunmap/trex/gtp_1pkt_simple.py similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/trex/gtp_1pkt_simple.py rename to testsuites/gtplab-sysmo2025/tunmap/trex/gtp_1pkt_simple.py diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/trex/run.sh b/testsuites/gtplab-sysmo2025/tunmap/trex/run.sh similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/trex/run.sh rename to testsuites/gtplab-sysmo2025/tunmap/trex/run.sh diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/trex/trex_cfg.yaml b/testsuites/gtplab-sysmo2025/tunmap/trex/trex_cfg.yaml similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/trex/trex_cfg.yaml rename to testsuites/gtplab-sysmo2025/tunmap/trex/trex_cfg.yaml diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/upf/configure.sh b/testsuites/gtplab-sysmo2025/tunmap/upf/configure.sh similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/upf/configure.sh rename to testsuites/gtplab-sysmo2025/tunmap/upf/configure.sh diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/upf/eupf/eupf.yaml b/testsuites/gtplab-sysmo2025/tunmap/upf/eupf/eupf.yaml similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/upf/eupf/eupf.yaml rename to testsuites/gtplab-sysmo2025/tunmap/upf/eupf/eupf.yaml diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/upf/eupf/run.sh b/testsuites/gtplab-sysmo2025/tunmap/upf/eupf/run.sh similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/upf/eupf/run.sh rename to testsuites/gtplab-sysmo2025/tunmap/upf/eupf/run.sh diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/upf/osmo-upf/osmo-upf.cfg b/testsuites/gtplab-sysmo2025/tunmap/upf/osmo-upf/osmo-upf.cfg similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/upf/osmo-upf/osmo-upf.cfg rename to testsuites/gtplab-sysmo2025/tunmap/upf/osmo-upf/osmo-upf.cfg diff --git a/testsuites/gtplab-sysmo2017/trex-tunmap/upf/osmo-upf/run.sh b/testsuites/gtplab-sysmo2025/tunmap/upf/osmo-upf/run.sh similarity index 100% rename from testsuites/gtplab-sysmo2017/trex-tunmap/upf/osmo-upf/run.sh rename to testsuites/gtplab-sysmo2025/tunmap/upf/osmo-upf/run.sh