diff options
Diffstat (limited to 'docs/testing/user/userguide/east-west-benchmarking/Configurations')
25 files changed, 1051 insertions, 0 deletions
diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-OvS-DPDK.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-OvS-DPDK.yaml new file mode 100644 index 00000000..4d1532dd --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-OvS-DPDK.yaml @@ -0,0 +1,68 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Pod +metadata: + name: userspace-rapid-pod-t1-p1 + annotations: + k8s.v1.cni.cncf.io/networks: userspace-ovs-net +spec: + containers: + - name: ovs-vhost + image: opnfv/rapid:latest + imagePullPolicy: Never + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/podnetinfo + name: podinfo + readOnly: false + - mountPath: /usrspcni/ + name: shared-dir + - mountPath: /opt/prox/ + name: prox-dir + - mountPath: /dev/hugepages + name: hugepage + resources: + requests: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + limits: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + nodeSelector: + vswitch: ovs + volumes: + - name: podinfo + downwardAPI: + items: + - path: "labels" + fieldRef: + fieldPath: metadata.labels + - path: "annotations" + fieldRef: + fieldPath: metadata.annotations + - name: shared-dir + hostPath: + path: /var/lib/cni/usrspcni/data/ + - name: prox-dir + hostPath: + path: /opt/prox/ + - name: hugepage + emptyDir: + medium: HugePages diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-VPP.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-VPP.yaml new file mode 100644 index 00000000..e9d26667 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-1-interface-VPP.yaml @@ -0,0 +1,68 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Pod +metadata: + name: userspace-rapid-pod-t1-p1 + annotations: + k8s.v1.cni.cncf.io/networks: userspace-vpp-net +spec: + containers: + - name: vpp-vhost + image: opnfv/rapid:latest + imagePullPolicy: Never + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/podnetinfo + name: podinfo + readOnly: false + - mountPath: /usrspcni/ + name: shared-dir + - mountPath: /opt/prox/ + name: prox-dir + - mountPath: /dev/hugepages + name: hugepage + resources: + requests: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + limits: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + nodeSelector: + vswitch: ovs + volumes: + - name: podinfo + downwardAPI: + items: + - path: "labels" + fieldRef: + fieldPath: metadata.labels + - path: "annotations" + fieldRef: + fieldPath: metadata.annotations + - name: shared-dir + hostPath: + path: /var/lib/cni/usrspcni/data/ + - name: prox-dir + hostPath: + path: /opt/prox/ + - name: hugepage + emptyDir: + medium: HugePages diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-OvS-DPDK.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-OvS-DPDK.yaml new file mode 100644 index 00000000..fcae5981 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-OvS-DPDK.yaml @@ -0,0 +1,68 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Pod +metadata: + name: userspace-rapid-pod-t1-p1 + annotations: + k8s.v1.cni.cncf.io/networks: userspace-ovs-net, userspace-ovs-net +spec: + containers: + - name: ovs-vhost + image: opnfv/rapid:latest + imagePullPolicy: Never + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/podnetinfo + name: podinfo + readOnly: false + - mountPath: /usrspcni/ + name: shared-dir + - mountPath: /opt/prox/ + name: prox-dir + - mountPath: /dev/hugepages + name: hugepage + resources: + requests: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + limits: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + nodeSelector: + vswitch: ovs + volumes: + - name: podinfo + downwardAPI: + items: + - path: "labels" + fieldRef: + fieldPath: metadata.labels + - path: "annotations" + fieldRef: + fieldPath: metadata.annotations + - name: shared-dir + hostPath: + path: /var/lib/cni/usrspcni/data/ + - name: prox-dir + hostPath: + path: /opt/prox/ + - name: hugepage + emptyDir: + medium: HugePages diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-VPP.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-VPP.yaml new file mode 100644 index 00000000..a67106ab --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/Rapid-pod/userspace-rapid-pod-2-interfaces-VPP.yaml @@ -0,0 +1,68 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Pod +metadata: + name: userspace-rapid-pod-t1-p1 + annotations: + k8s.v1.cni.cncf.io/networks: userspace-vpp-net, userspace-vpp-net +spec: + containers: + - name: vpp-vhost + image: opnfv/rapid:latest + imagePullPolicy: Never + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/podnetinfo + name: podinfo + readOnly: false + - mountPath: /usrspcni/ + name: shared-dir + - mountPath: /opt/prox/ + name: prox-dir + - mountPath: /dev/hugepages + name: hugepage + resources: + requests: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + limits: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + nodeSelector: + vswitch: ovs + volumes: + - name: podinfo + downwardAPI: + items: + - path: "labels" + fieldRef: + fieldPath: metadata.labels + - path: "annotations" + fieldRef: + fieldPath: metadata.annotations + - name: shared-dir + hostPath: + path: /var/lib/cni/usrspcni/data/ + - name: prox-dir + hostPath: + path: /opt/prox/ + - name: hugepage + emptyDir: + medium: HugePages diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/TRex-pod/userspace-trex-pod-2-interfaces-VPP.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/TRex-pod/userspace-trex-pod-2-interfaces-VPP.yaml new file mode 100644 index 00000000..418d3ede --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/TRex-pod/userspace-trex-pod-2-interfaces-VPP.yaml @@ -0,0 +1,64 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Pod +metadata: + name: userspace-trex-pod-t1-p1 + annotations: + k8s.v1.cni.cncf.io/networks: userspace-vpp-net, userspace-vpp-net +spec: + containers: + - name: vpp-vhost + image: trex:latest + imagePullPolicy: Never + securityContext: + privileged: true + volumeMounts: + - mountPath: /etc/podnetinfo + name: podinfo + readOnly: false + - mountPath: /usrspcni/ + name: shared-dir + - mountPath: /dev/hugepages + name: hugepage + resources: + requests: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + limits: + cpu: "6000m" + memory: "4000Mi" + hugepages-1Gi: 4Gi + nodeSelector: + vswitch: ovs + volumes: + - name: podinfo + downwardAPI: + items: + - path: "labels" + fieldRef: + fieldPath: metadata.labels + - path: "annotations" + fieldRef: + fieldPath: metadata.annotations + - name: shared-dir + hostPath: + path: /var/lib/cni/usrspcni/data/ + - name: hugepage + emptyDir: + medium: HugePages + diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-ovs-netAttach.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-ovs-netAttach.yaml new file mode 100644 index 00000000..a2ee5ea8 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-ovs-netAttach.yaml @@ -0,0 +1,47 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: "k8s.cni.cncf.io/v1" +kind: NetworkAttachmentDefinition +metadata: + name: userspace-ovs-net +spec: + config: '{ + "cniVersion": "0.3.1", + "type": "userspace", + "name": "userspace-ovs-net-1", + "kubeconfig": "/etc/cni/net.d/multus.d/multus.kubeconfig", + "logFile": "/var/log/userspace-ovs-net.log", + "logLevel": "debug", + "host": { + "engine": "ovs-dpdk", + "iftype": "vhostuser", + "netType": "bridge", + "vhost": { + "mode": "server" + }, + "bridge": { + "bridgeName": "vsperf-br0" + } + }, + "container": { + "engine": "ovs-dpdk", + "iftype": "vhostuser", + "netType": "interface", + "vhost": { + "mode": "client" + } + } + }' diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-vpp-netAttach-memif.yaml b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-vpp-netAttach-memif.yaml new file mode 100644 index 00000000..3b199686 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Kubernetes/userspace-vpp-netAttach-memif.yaml @@ -0,0 +1,46 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: "k8s.cni.cncf.io/v1" +kind: NetworkAttachmentDefinition +metadata: + name: userspace-vpp-net +spec: + config: '{ + "cniVersion": "0.3.1", + "type": "userspace", + "name": "userspace-vpp-net", + "kubeconfig": "/etc/cni/net.d/multus.d/multus.kubeconfig", + "logFile": "/var/log/userspace-vpp-net-1-cni.log", + "logLevel": "debug", + "host": { + "engine": "vpp", + "iftype": "memif", + "netType": "interface", + "memif": { + "role": "master", + "mode": "ethernet" + } + }, + "container": { + "engine": "vpp", + "iftype": "memif", + "netType": "interface", + "memif": { + "role": "slave", + "mode": "ethernet" + } + } + }' diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/README.md b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/README.md new file mode 100644 index 00000000..f6c1c8b5 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/README.md @@ -0,0 +1,9 @@ +# PROX Configuration files + +In this folder there are all the files to configure a pod, with one or two interfaces running PROX, as a generator or a swap. + +The `eal` parameter in all `parameters.lua` files are configured for VPP and memif interfaces. To use OvS-DPDK and virtio-user interfaces replace that line with something like this: + +- One interface: `eal="--socket-mem=256,0 --vdev=virtio_user0,path=/usrspcni/563e4f024755-net1"` +- Two interface: `eal="--socket-mem=256,0 --vdev=virtio_user0,path=/usrspcni/563e4f024755-net1 --vdev=virtio_user1,path=/usrspcni/563e4f024755-net2"` + diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_1-interface/unidirectional/parameters.lua b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_1-interface/unidirectional/parameters.lua new file mode 100644 index 00000000..5e1481df --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_1-interface/unidirectional/parameters.lua @@ -0,0 +1,11 @@ +require "helper" +name="Generator" +local_ip1="192.168.30.11/24" +local_hex_ip1=convertIPToHex(local_ip1) +eal="--socket-mem=256,0 --vdev=net_memif0,socket=/usrspcni/memif-8449692251a6-net1.sock,role=slave" +mcore="14" +local_hex_mac1="de ad c3 52 79 9b" +gencores1="15" +latcores1="16" +bucket_size_exp="11" +heartbeat="60" diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_1-interface/unidirectional/prox.cfg b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_1-interface/unidirectional/prox.cfg new file mode 100644 index 00000000..91838e5a --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_1-interface/unidirectional/prox.cfg @@ -0,0 +1,61 @@ +[lua] +dofile("parameters.lua") + +[eal options] +-n=4 ; force number of memory channels +no-output=no ; disable DPDK debug output +eal=--proc-type auto ${eal} + +[port 0] +name=p0 +rx desc=2048 +tx desc=2048 +vlan=yes +;vdev=gen_tap +lsc=no + +[variables] +$mbs=8 + +[defaults] +mempool size=8K + +[global] +name=${name} +heartbeat timeout=${heartbeat} + +[core $mcore] +mode=master + +[core $gencores1] +name=p0 +task=0 +mode=gen +tx port=p0 +bps=1250000000 +pkt inline=${local_hex_mac2} 00 00 00 00 00 00 08 00 45 00 00 2e 00 01 00 00 40 11 f7 7d ${local_hex_ip1} ${local_hex_ip2} 0b b8 0b b9 00 1a 55 7b +pkt size=60 +min bulk size=$mbs +max bulk size=16 +drop=yes +lat pos=42 +accuracy pos=46 +packet id pos=50 +signature=0x98765432 +signature pos=56 +;arp update time=1 + +[core $latcores1] +name=lat1 +task=0 +mode=lat +;sub mode=l3 +rx port=p0 +lat pos=42 +accuracy pos=46 +packet id pos=50 +signature=0x98765432 +signature pos=56 +accuracy limit nsec=1000000 +latency bucket size=${bucket_size_exp} +;arp update time=1 diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/bidirectional/parameters.lua b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/bidirectional/parameters.lua new file mode 100644 index 00000000..adebdd1a --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/bidirectional/parameters.lua @@ -0,0 +1,17 @@ +require "helper" +name="Generator" +local_ip1="192.168.30.11/24" +local_hex_ip1=convertIPToHex(local_ip1) +local_ip2="192.168.30.12/24" +local_hex_ip2=convertIPToHex(local_ip2) +eal="--socket-mem=256,0 --vdev=net_memif0,socket=/usrspcni/memif-8449692251a6-net1.sock,role=slave --vdev=net_memif1,socket=/usrspcni/memif-8449692251a6-net2.sock,role=slave" +mcore="14" +local_hex_mac1="de ad c3 52 79 9b" +local_hex_mac2="02 09 c0 fd ba 1f" +gencores1="15" +gencores2="16" +latcores1="17" +latcores2="18" +latcores1="16" +bucket_size_exp="11" +heartbeat="60" diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/bidirectional/prox.cfg b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/bidirectional/prox.cfg new file mode 100644 index 00000000..cac15bc9 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/bidirectional/prox.cfg @@ -0,0 +1,102 @@ +[lua] +dofile("parameters.lua") + +[eal options] +-n=4 ; force number of memory channels +no-output=no ; disable DPDK debug output +eal=--proc-type auto ${eal} + +[port 0] +name=p0 +rx desc=2048 +tx desc=2048 +vlan=yes +;vdev=gen_tap +lsc=no + +[port 1] +name=p1 +rx desc=2048 +tx desc=2048 +vlan=yes +;vdev=rec_tap +lsc=no + +[variables] +$mbs=8 + +[defaults] +mempool size=8K + +[global] +name=${name} +heartbeat timeout=${heartbeat} + +[core $mcore] +mode=master + +[core $gencores1] +name=p0 +task=0 +mode=gen +tx port=p0 +bps=1250000000 +pkt inline=${local_hex_mac2} 00 00 00 00 00 00 08 00 45 00 00 2e 00 01 00 00 40 11 f7 7d ${local_hex_ip1} ${local_hex_ip2} 0b b8 0b b9 00 1a 55 7b +pkt size=60 +min bulk size=$mbs +max bulk size=16 +drop=yes +lat pos=42 +accuracy pos=46 +packet id pos=50 +signature=0x98765432 +signature pos=56 +;arp update time=1 + +[core $gencores2] +name=p1 +task=0 +mode=gen +tx port=p1 +bps=1250000000 +pkt inline=${local_hex_mac1} 00 00 00 00 00 00 08 00 45 00 00 2e 00 01 00 00 40 11 f7 7d ${local_hex_ip2} ${local_hex_ip1} 0b b8 0b b9 00 1a 55 7b +pkt size=60 +min bulk size=$mbs +max bulk size=16 +drop=yes +lat pos=42 +accuracy pos=46 +packet id pos=50 +signature=0x98765432 +signature pos=56 +;arp update time=1 + +[core $latcores1] +name=lat1 +task=0 +mode=lat +;sub mode=l3 +rx port=p1 +lat pos=42 +accuracy pos=46 +packet id pos=50 +signature=0x98765432 +signature pos=56 +accuracy limit nsec=1000000 +latency bucket size=${bucket_size_exp} +;arp update time=1 + +[core $latcores2] +name=lat2 +task=0 +mode=lat +;sub mode=l3 +rx port=p0 +lat pos=42 +accuracy pos=46 +packet id pos=50 +signature=0x98765432 +signature pos=56 +accuracy limit nsec=1000000 +latency bucket size=${bucket_size_exp} +;arp update time=1 diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/unidirectional/parameters.lua b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/unidirectional/parameters.lua new file mode 100644 index 00000000..784b9ccc --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/unidirectional/parameters.lua @@ -0,0 +1,11 @@ +require "helper" +name="Generator" +local_ip1="192.168.30.11/24" +local_hex_ip1=convertIPToHex(local_ip1) +eal="--socket-mem=256,0 --vdev=net_memif0,socket=/usrspcni/memif-8449692251a6-net1.sock,role=slave --vdev=net_memif1,socket=/usrspcni/memif-8449692251a6-net2.sock,role=slave" +mcore="14" +local_hex_mac1="de ad c3 52 79 9b" +gencores1="15" +latcores1="16" +bucket_size_exp="11" +heartbeat="60" diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/unidirectional/prox.cfg b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/unidirectional/prox.cfg new file mode 100644 index 00000000..4520a26c --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/generator-pod_2-interfaces/unidirectional/prox.cfg @@ -0,0 +1,69 @@ +[lua] +dofile("parameters.lua") + +[eal options] +-n=4 ; force number of memory channels +no-output=no ; disable DPDK debug output +eal=--proc-type auto ${eal} + +[port 0] +name=p0 +rx desc=2048 +tx desc=2048 +vlan=yes +;vdev=gen_tap +lsc=no + +[port 1] +name=p1 +rx desc=2048 +tx desc=2048 +vlan=yes +;vdev=rec_tap +lsc=no + +[variables] +$mbs=8 + +[defaults] +mempool size=8K + +[global] +name=${name} +heartbeat timeout=${heartbeat} + +[core $mcore] +mode=master + +[core $gencores1] +name=p0 +task=0 +mode=gen +tx port=p0 +bps=1250000000 +pkt inline=${local_hex_mac2} 00 00 00 00 00 00 08 00 45 00 00 2e 00 01 00 00 40 11 f7 7d ${local_hex_ip1} ${local_hex_ip2} 0b b8 0b b9 00 1a 55 7b +pkt size=60 +min bulk size=$mbs +max bulk size=16 +drop=yes +lat pos=42 +accuracy pos=46 +packet id pos=50 +signature=0x98765432 +signature pos=56 +;arp update time=1 + +[core $latcores1] +name=lat1 +task=0 +mode=lat +;sub mode=l3 +rx port=p1 +lat pos=42 +accuracy pos=46 +packet id pos=50 +signature=0x98765432 +signature pos=56 +accuracy limit nsec=1000000 +latency bucket size=${bucket_size_exp} +;arp update time=1 diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_1-interface/unidirectional/parameters.lua b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_1-interface/unidirectional/parameters.lua new file mode 100644 index 00000000..e9f707da --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_1-interface/unidirectional/parameters.lua @@ -0,0 +1,7 @@ +require "helper" +name="Swap" +eal="--socket-mem=256,0 --vdev=net_memif0,socket=/usrspcni/memif-b42cff2335c2-net1.sock" +mcore="14" +swapone="17" +bucket_size_exp="11" +heartbeat="60" diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_1-interface/unidirectional/prox.cfg b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_1-interface/unidirectional/prox.cfg new file mode 100644 index 00000000..98d93bb9 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_1-interface/unidirectional/prox.cfg @@ -0,0 +1,35 @@ +[lua] +dofile("parameters.lua") + +[eal options] +-n=4 ; force number of memory channels +no-output=no ; disable DPDK debug output +eal=--proc-type auto ${eal} + +[port 0] +name=p0 +rx desc=2048 +tx desc=2048 +vlan=yes +;vdev=gen_tap +lsc=no + +[variables] +$mbs=8 +[defaults] +mempool size=8K + +[global] +name=${name} +heartbeat timeout=${heartbeat} + +[core $mcore] +mode=master + +[core $swapone] +name=swap1 +task=0 +mode=swap +rx port=p0 +tx port=p0 +drop=no diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/bidirectional/parameters.lua b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/bidirectional/parameters.lua new file mode 100644 index 00000000..0cf4c70e --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/bidirectional/parameters.lua @@ -0,0 +1,8 @@ +require "helper" +name="Swap" +eal="--socket-mem=256,0 --vdev=net_memif0,socket=/usrspcni/memif-b42cff2335c2-net1.sock --vdev=net_memif1,socket=/usrspcni/memif-b42cff2335c2-net2.sock" +mcore="14" +swapone="20" +swaptwo="21" +bucket_size_exp="11" +heartbeat="60" diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/bidirectional/prox.cfg b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/bidirectional/prox.cfg new file mode 100644 index 00000000..db6a50ff --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/bidirectional/prox.cfg @@ -0,0 +1,51 @@ +[lua] +dofile("parameters.lua") + +[eal options] +-n=4 ; force number of memory channels +no-output=no ; disable DPDK debug output +eal=--proc-type auto ${eal} + +[port 0] +name=p0 +rx desc=2048 +tx desc=2048 +vlan=yes +;vdev=gen_tap +lsc=no + +[port 1] +name=p1 +rx desc=2048 +tx desc=2048 +vlan=yes +;vdev=rec_tap +lsc=no + +[variables] +$mbs=8 +[defaults] +mempool size=8K + +[global] +name=${name} +heartbeat timeout=${heartbeat} + +[core $mcore] +mode=master + +[core $swapone] +name=swap1 +task=0 +mode=swap +rx port=p0 +tx port=p1 +drop=no + +[core $swaptwo] +name=swap2 +task=0 +mode=swap +rx port=p1 +tx port=p0 +drop=no diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/unidirectional/parameters.lua b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/unidirectional/parameters.lua new file mode 100644 index 00000000..cd247ec4 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/unidirectional/parameters.lua @@ -0,0 +1,7 @@ +require "helper" +name="Swap" +eal="--socket-mem=256,0 --vdev=net_memif0,socket=/usrspcni/memif-b42cff2335c2-net1.sock --vdev=net_memif1,socket=/usrspcni/memif-b42cff2335c2-net2.sock" +mcore="14" +swapone="17" +bucket_size_exp="11" +heartbeat="60" diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/unidirectional/prox.cfg b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/unidirectional/prox.cfg new file mode 100644 index 00000000..97662f74 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/PROX/swap-pod_2-interfaces/unidirectional/prox.cfg @@ -0,0 +1,43 @@ +[lua] +dofile("parameters.lua") + +[eal options] +-n=4 ; force number of memory channels +no-output=no ; disable DPDK debug output +eal=--proc-type auto ${eal} + +[port 0] +name=p0 +rx desc=2048 +tx desc=2048 +vlan=yes +;vdev=gen_tap +lsc=no + +[port 1] +name=p1 +rx desc=2048 +tx desc=2048 +vlan=yes +;vdev=rec_tap +lsc=no + +[variables] +$mbs=8 +[defaults] +mempool size=8K + +[global] +name=${name} +heartbeat timeout=${heartbeat} + +[core $mcore] +mode=master + +[core $swapone] +name=swap1 +task=0 +mode=swap +rx port=p0 +tx port=p1 +drop=no diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example-bidirectional.env b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example-bidirectional.env new file mode 100644 index 00000000..8c59560f --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example-bidirectional.env @@ -0,0 +1,36 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +[rapid] +loglevel = DEBUG +version = 19.6.30 +total_number_of_machines = 1 + +[M1] +name = rapid-pod-1 +admin_ip = 10.244.1.157 +dp_ip1 = 192.168.30.11 +dp_mac1 = de:ad:c3:52:79:9b +dp_ip2 = 192.168.30.12 +dp_mac2 = 02:09:c0:fd:ba:1f + + +[ssh] +key=rapid_rsa_key +user = root + +[Varia] +vim = Openstack +stack = rapid diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example-bidirectional.tst b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example-bidirectional.tst new file mode 100644 index 00000000..cf42ef52 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example-bidirectional.tst @@ -0,0 +1,43 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +[TestParameters] +name = Rapid_ETSINFV_TST009 +number_of_tests = 1 +total_number_of_test_machines = 1 +lat_percentile = 99 + +[TestM1] +name = Generator +prox_launch_exit = false +config_file = configs/prox-bi.cfg +dest_vm = 1 +mcore = [14] +gencores = [15,16] +latcores = [17,18] + +[test1] +test=TST009test +warmupflowsize=128 +warmupimix=[64] +warmupspeed=1 +warmuptime=2 +imixs=[[64],[128],[256],[512],[1024],[1280],[1512]] +flows=[1] +drop_rate_threshold = 0 +MAXr = 3 +MAXz = 5000 +MAXFramesPerSecondAllIngress = 12000000 +StepSize = 10000 diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example.env b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example.env new file mode 100644 index 00000000..be06dc82 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example.env @@ -0,0 +1,33 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +[rapid] +loglevel = DEBUG +version = 19.6.30 +total_number_of_machines = 1 + +[M1] +name = rapid-pod-1 +admin_ip = 10.244.1.157 +dp_ip = 192.168.1.4 +dp_mac = de:ad:c3:52:79:9b + +[ssh] +key=rapid_rsa_key +user = root + +[Varia] +vim = Openstack +stack = rapid diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example.tst b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example.tst new file mode 100644 index 00000000..57575bf6 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/Rapid/example.tst @@ -0,0 +1,43 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation +# +# 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 +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +[TestParameters] +name = Rapid_ETSINFV_TST009 +number_of_tests = 1 +total_number_of_test_machines = 1 +lat_percentile = 99 + +[TestM1] +name = Generator +prox_launch_exit = false +config_file = configs/prox.cfg +dest_vm = 1 +mcore = [14] +gencores = [15] +latcores = [16] + +[test1] +test=TST009test +warmupflowsize=128 +warmupimix=[64] +warmupspeed=1 +warmuptime=2 +imixs=[[64],[128],[256],[512],[1024],[1280],[1512]] +flows=[1] +drop_rate_threshold = 0 +MAXr = 3 +MAXz = 5000 +MAXFramesPerSecondAllIngress = 12000000 +StepSize = 10000 diff --git a/docs/testing/user/userguide/east-west-benchmarking/Configurations/TRex/vsperf-trex.conf b/docs/testing/user/userguide/east-west-benchmarking/Configurations/TRex/vsperf-trex.conf new file mode 100644 index 00000000..f69d5b89 --- /dev/null +++ b/docs/testing/user/userguide/east-west-benchmarking/Configurations/TRex/vsperf-trex.conf @@ -0,0 +1,36 @@ +# Copyright 2022 Anuket, Intel Corporation, and The Linux Foundation
+#
+# 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
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+VSWITCH_BRIDGE_NAME = 'vsperf-br0'
+WHITELIST_NICS = ['06:00.0', '06:00.1']
+TRAFFICGEN = 'Trex'
+TRAFFICGEN_TREX_HOST_IP_ADDR = '10.244.1.187'
+TRAFFICGEN_TREX_USER = 'root'
+TRAFFICGEN_TREX_BASE_DIR = '/root/v2.86/'
+TRAFFICGEN_TREX_LINE_SPEED_GBPS = '10'
+TRAFFICGEN_TREX_PORT1 = '0000:02:00.0'
+TRAFFICGEN_TREX_PORT2 = '0000:02:00.1'
+TRAFFICGEN_TREX_PROMISCUOUS = False
+TRAFFICGEN_DURATION=10
+TRAFFICGEN_LOSSRATE=0
+TRAFFICGEN_RFC2544_TESTS=10
+#TRAFFICGEN_PKT_SIZES=(64,128,256,512,1024,1280,1518)
+GUEST_TESTPMD_FWD_MODE = ['io']
+GUEST_IMAGE = ['/home/opnfv/old/vnfs/vloop-vnf-ubuntu-18.04_20180920.qcow2']
+TRAFFICGEN_TREX_LATENCY_PPS = 1000
+TRAFFICGEN_TREX_FORCE_PORT_SPEED = True
+TRAFFICGEN_TREX_PORT_SPEED = 10000 # 10 Gbps
+TRAFFICGEN_TREX_RFC2544_BINARY_SEARCH_LOSS_VERIFICATION = False
+TRAFFICGEN_TREX_RFC2544_MAX_REPEAT = 3
\ No newline at end of file |