diff options
Diffstat (limited to 'tests/nsh_sfc')
-rw-r--r-- | tests/nsh_sfc/func/__init__.robot | 22 | ||||
-rw-r--r-- | tests/nsh_sfc/func/classifier/eth2p-ethip4-sfc-classifier-func.robot | 91 | ||||
-rw-r--r-- | tests/nsh_sfc/func/proxy/eth2p-ethip4-nsh-proxy-inbound-func.robot | 85 | ||||
-rw-r--r-- | tests/nsh_sfc/func/proxy/eth2p-ethip4-nsh-proxy-outbound-func.robot | 86 | ||||
-rw-r--r-- | tests/nsh_sfc/func/sff/eth2p-ethip4-sfc-sff-func.robot | 85 | ||||
-rwxr-xr-x | tests/nsh_sfc/sfc_scripts/install_sfc.sh | 114 | ||||
-rwxr-xr-x | tests/nsh_sfc/sfc_scripts/set_nsh_proxy_inbound.sh | 43 | ||||
-rwxr-xr-x | tests/nsh_sfc/sfc_scripts/set_nsh_proxy_outbound.sh | 43 | ||||
-rwxr-xr-x | tests/nsh_sfc/sfc_scripts/set_sfc_classifier.sh | 40 | ||||
-rwxr-xr-x | tests/nsh_sfc/sfc_scripts/set_sfc_sff.sh | 42 |
10 files changed, 0 insertions, 651 deletions
diff --git a/tests/nsh_sfc/func/__init__.robot b/tests/nsh_sfc/func/__init__.robot deleted file mode 100644 index 7f1391ca30..0000000000 --- a/tests/nsh_sfc/func/__init__.robot +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (c) 2017 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: -# -# 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. - -*** Settings *** -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Library | resources.libraries.python.SFC.SetupSFCTest -| Suite Setup | Run Keywords | Setup NSH SFC test | ${nodes} | AND -| ... | Restart Vpp Service On All Duts | ${nodes} | AND -| ... | Verify Vpp On All Duts | ${nodes} | AND -| ... | VPP Enable Traces On All Duts | ${nodes} | AND -| ... | Update All Interface Data On All Nodes | ${nodes} diff --git a/tests/nsh_sfc/func/classifier/eth2p-ethip4-sfc-classifier-func.robot b/tests/nsh_sfc/func/classifier/eth2p-ethip4-sfc-classifier-func.robot deleted file mode 100644 index b922771ea1..0000000000 --- a/tests/nsh_sfc/func/classifier/eth2p-ethip4-sfc-classifier-func.robot +++ /dev/null @@ -1,91 +0,0 @@ -# Copyright (c) 2017 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: -# -# 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. - -*** Settings *** -| Library | resources.libraries.python.NodePath -| Library | resources.libraries.python.Trace -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/nsh_sfc/default.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | FUNCTEST -| Suite Setup | Run Keywords -| ... | Configure all DUTs before test | AND -| ... | Configure all TGs for traffic script | AND -| ... | Update All Interface Data On All Nodes | ${nodes} | AND -| ... | Setup DUT nodes for 'Classifier' functional testing -| Test Setup | Run Keywords | Save VPP PIDs | AND -| ... | Reset PAPI History On All DUTs | ${nodes} | AND -| ... | Clear Interface Counters on all DUTs | ${nodes} -| Test Teardown | Run Keywords -| ... | Show packet trace on all DUTs | ${nodes} | AND -| ... | Show PAPI History On All DUTs | ${nodes} | AND -| ... | Verify VPP PID in Teardown -| Documentation | *NSH SFC Classifier test cases* -| ... -| ... | Test the SFC Classifier functional. DUT run the VPP with NSH SFC Plugin -| ... | TG send a TCP packet to the DUT, if the packet match the SFC Classifier -| ... | rules, the SFC Classifier will encapsulate this packet to a VxLAN-GPE -| ... | and NSH packet, then the DUT will loopback the packet to the TG. -| ... | The TG will capture this encapsulation packet and check the packet -| ... | field is correct. - -*** Test Cases *** -| TC01: NSH SFC Classifier functional test with 72B frame size -| | [Documentation] -| | ... | Make TG send 72 Bytes TCP packet to DUT ingress interface. Make TG\ -| | ... | verify SFC Classifier encapsulation functional is correct. -| | ${frame_size}= | Set Variable | ${72} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Classifier" test - -| TC02: NSH SFC Classifier functional test with 128B frame size -| | [Documentation] -| | ... | Make TG send 128 Bytes TCP packet to DUT ingress interface. Make TG\ -| | ... | verify SFC Classifier encapsulation functional is correct. -| | ${frame_size}= | Set Variable | ${128} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Classifier" test - -| TC03: NSH SFC Classifier functional test with 256B frame size -| | [Documentation] -| | ... | Make TG send 256 Bytes TCP packet to DUT ingress interface. Make TG\ -| | ... | verify SFC Classifier encapsulation functional is correct. -| | ${frame_size}= | Set Variable | ${256} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Classifier" test - -| TC04: NSH SFC Classifier functional test with 512B frame size -| | [Documentation] -| | ... | Make TG send 512 Bytes TCP packet to DUT ingress interface. Make TG\ -| | ... | verify SFC Classifier encapsulation functional is correct. -| | ${frame_size}= | Set Variable | ${512} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Classifier" test - -| TC05: NSH SFC Classifier functional test with 1024B frame size -| | [Documentation] -| | ... | Make TG send 1024 Bytes TCP packet to DUT ingress interface. Make TG\ -| | ... | verify SFC Classifier encapsulation functional is correct. -| | ${frame_size}= | Set Variable | ${1024} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Classifier" test - -| TC06: NSH SFC Classifier functional test with 1280B frame size -| | [Documentation] -| | ... | Make TG send 1280 Bytes TCP packet to DUT ingress interface. Make TG\ -| | ... | verify SFC Classifier encapsulation functional is correct. -| | ${frame_size}= | Set Variable | ${1280} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Classifier" test - -| TC07: NSH SFC Classifier functional test with 1518B frame size -| | [Documentation] -| | ... | Make TG send 1518 Bytes TCP packet to DUT ingress interface. Make TG\ -| | ... | verify SFC Classifier encapsulation functional is correct. -| | ${frame_size}= | Set Variable | ${1518} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Classifier" test diff --git a/tests/nsh_sfc/func/proxy/eth2p-ethip4-nsh-proxy-inbound-func.robot b/tests/nsh_sfc/func/proxy/eth2p-ethip4-nsh-proxy-inbound-func.robot deleted file mode 100644 index 518ed2a3fc..0000000000 --- a/tests/nsh_sfc/func/proxy/eth2p-ethip4-nsh-proxy-inbound-func.robot +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (c) 2017 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: -# -# 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. - -*** Settings *** -| Library | resources.libraries.python.NodePath -| Library | resources.libraries.python.Trace -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/nsh_sfc/default.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | FUNCTEST -| Suite Setup | Run Keywords -| ... | Configure all DUTs before test | AND -| ... | Configure all TGs for traffic script | AND -| ... | Update All Interface Data On All Nodes | ${nodes} | AND -| ... | Setup DUT nodes for 'Proxy Inbound' functional testing -| Test Setup | Run Keywords | Save VPP PIDs | AND -| ... | Reset PAPI History On All DUTs | ${nodes} | AND -| ... | Clear Interface Counters on all DUTs | ${nodes} -| Test Teardown | Run Keywords -| ... | Show packet trace on all DUTs | ${nodes} | AND -| ... | Show PAPI History On All DUTs | ${nodes} | AND -| ... | Verify VPP PID in Teardown -| Documentation | *NSH SFC Proxy Inbound test cases* -| ... -| ... | Test the SFC Proxy Inbound functional. DUT run the VPP with NSH -| ... | SFC Plugin, TG send a VxLAN-GPE+NSH packet to the DUT, -| ... | if the packet match the SFC Proxy inbound rules, the SFC Proxy will -| ... | pop the VxLAN-GPE and NSH protocol, then encapsulate with the -| ... | VxLAN protocol. DUT will loopback the packet to the TG. -| ... | The TG will capture this VxLAN packet and check the packet -| ... | field is correct. - -*** Test Cases *** -| TC01: NSH SFC Proxy Inbound functional test with 152B frame size -| | [Documentation] -| | ... | Make TG send 152 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Inbound functional is correct. -| | ${frame_size}= | Set Variable | ${152} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Inbound" test - -| TC02: NSH SFC Proxy Inbound functional test with 256B frame size -| | [Documentation] -| | ... | Make TG send 256 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Inbound functional is correct. -| | ${frame_size}= | Set Variable | ${256} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Inbound" test - -| TC03: NSH SFC Proxy Inbound functional test with 512B frame size -| | [Documentation] -| | ... | Make TG send 512 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Inbound functional is correct. -| | ${frame_size}= | Set Variable | ${512} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Inbound" test - -| TC04: NSH SFC Proxy Inbound functional test with 1024B frame size -| | [Documentation] -| | ... | Make TG send 1024 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Inbound functional is correct. -| | ${frame_size}= | Set Variable | ${1024} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Inbound" test - -| TC05: NSH SFC Proxy Inbound functional test with 1280B frame size -| | [Documentation] -| | ... | Make TG send 1280 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Inbound functional is correct. -| | ${frame_size}= | Set Variable | ${1280} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Inbound" test - -| TC06: NSH SFC Proxy Inbound functional test with 1518B frame size -| | [Documentation] -| | ... | Make TG send 1518 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Inbound functional is correct. -| | ${frame_size}= | Set Variable | ${1518} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Inbound" test diff --git a/tests/nsh_sfc/func/proxy/eth2p-ethip4-nsh-proxy-outbound-func.robot b/tests/nsh_sfc/func/proxy/eth2p-ethip4-nsh-proxy-outbound-func.robot deleted file mode 100644 index b228511cad..0000000000 --- a/tests/nsh_sfc/func/proxy/eth2p-ethip4-nsh-proxy-outbound-func.robot +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2017 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: -# -# 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. - -*** Settings *** -| Library | resources.libraries.python.NodePath -| Library | resources.libraries.python.Trace -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/nsh_sfc/default.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | FUNCTEST -| Suite Setup | Run Keywords -| ... | Configure all DUTs before test | AND -| ... | Configure all TGs for traffic script | AND -| ... | Update All Interface Data On All Nodes | ${nodes} | AND -| ... | Setup DUT nodes for 'Proxy Outbound' functional testing -| Test Setup | Run Keywords | Save VPP PIDs | AND -| ... | Reset PAPI History On All DUTs | ${nodes} | AND -| ... | Clear Interface Counters on all DUTs | ${nodes} -| Test Teardown | Run Keywords -| ... | Show packet trace on all DUTs | ${nodes} | AND -| ... | Show PAPI History On All DUTs | ${nodes} | AND -| ... | Verify VPP PID in Teardown -| Documentation | *NSH SFC Proxy Outbound test cases* -| ... -| ... | Test the SFC Proxy Outbound functional. DUT run the VPP with NSH -| ... | SFC Plugin, TG send a VxLAN packet to the DUT, -| ... | if the packet match the SFC Proxy outbound rules, the SFC Proxy will -| ... | push the NSH protocol, then encapsulate with the VxLAN-GPE protocol. -| ... | DUT will loopback the packet to the TG. -| ... | The TG will capture this VxLAN-GPE+NSH packet and check the packet -| ... | field is correct. - - -*** Test Cases *** -| TC01: NSH SFC Proxy Outbound functional test with 128B frame size -| | [Documentation] -| | ... | Make TG send 128 Bytes VxLAN packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Outbound functional is correct. -| | ${frame_size}= | Set Variable | ${128} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Outbound" test - -| TC02: NSH SFC Proxy Outbound functional test with 256B frame size -| | [Documentation] -| | ... | Make TG send 256 Bytes VxLAN packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Outbound functional is correct. -| | ${frame_size}= | Set Variable | ${256} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Outbound" test - -| TC03: NSH SFC Proxy Outbound functional test with 512B frame size -| | [Documentation] -| | ... | Make TG send 512 Bytes VxLAN packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Outbound functional is correct. -| | ${frame_size}= | Set Variable | ${512} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Outbound" test - -| TC04: NSH SFC Proxy Outbound functional test with 1024B frame size -| | [Documentation] -| | ... | Make TG send 1024 Bytes VxLAN packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Outbound functional is correct. -| | ${frame_size}= | Set Variable | ${1024} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Outbound" test - -| TC05: NSH SFC Proxy Outbound functional test with 1280B frame size -| | [Documentation] -| | ... | Make TG send 1280 Bytes VxLAN packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Outbound functional is correct. -| | ${frame_size}= | Set Variable | ${1280} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Outbound" test - -| TC06: NSH SFC Proxy Outbound functional test with 1518B frame size -| | [Documentation] -| | ... | Make TG send 1518 Bytes VxLAN packet to DUT ingress interface.\ -| | ... | Make TG verify SFC Proxy Outbound functional is correct. -| | ${frame_size}= | Set Variable | ${1518} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "Proxy Outbound" test diff --git a/tests/nsh_sfc/func/sff/eth2p-ethip4-sfc-sff-func.robot b/tests/nsh_sfc/func/sff/eth2p-ethip4-sfc-sff-func.robot deleted file mode 100644 index e86c659f8c..0000000000 --- a/tests/nsh_sfc/func/sff/eth2p-ethip4-sfc-sff-func.robot +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (c) 2017 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: -# -# 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. - -*** Settings *** -| Library | resources.libraries.python.NodePath -| Library | resources.libraries.python.Trace -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/nsh_sfc/default.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/ip/ip4.robot -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | FUNCTEST -| Suite Setup | Run Keywords -| ... | Configure all DUTs before test | AND -| ... | Configure all TGs for traffic script | AND -| ... | Update All Interface Data On All Nodes | ${nodes} | AND -| ... | Setup DUT nodes for 'SFF' functional testing -| Test Setup | Run Keywords | Save VPP PIDs | AND -| ... | Reset PAPI History On All DUTs | ${nodes} | AND -| ... | Clear Interface Counters on all DUTs | ${nodes} -| Test Teardown | Run Keywords -| ... | Show packet trace on all DUTs | ${nodes} | AND -| ... | Show PAPI History On All DUTs | ${nodes} | AND -| ... | Verify VPP PID in Teardown -| Documentation | *NSH SFC SFF test cases* -| ... -| ... | Test the SFC Service Function Forward functional. DUT run the VPP -| ... | with NSH SFC Plugin, TG send a VxLAN-GPE+NSH packet to the DUT, -| ... | if the packet match the SFC SFF rules, the SFC SFF will -| ... | swap the VxLAN-GPE and NSH protocol. -| ... | DUT will loopback the packet to the TG. -| ... | The TG will capture this VxLAN-GPE+NSH packet and check the packet -| ... | field is correct. - -*** Test Cases *** -| TC01: NSH SFC SFF functional test with 152B frame size -| | [Documentation] -| | ... | Make TG send 152 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC SFF functional is correct. -| | ${frame_size}= | Set Variable | ${152} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "SFF" test - -| TC02: NSH SFC SFF functional test with 256B frame size -| | [Documentation] -| | ... | Make TG send 256 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC SFF functional is correct. -| | ${frame_size}= | Set Variable | ${256} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "SFF" test - -| TC03: NSH SFC SFF functional test with 512B frame size -| | [Documentation] -| | ... | Make TG send 512 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC SFF functional is correct. -| | ${frame_size}= | Set Variable | ${512} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "SFF" test - -| TC04: NSH SFC SFF functional test with 1024B frame size -| | [Documentation] -| | ... | Make TG send 1024 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC SFF functional is correct. -| | ${frame_size}= | Set Variable | ${1024} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "SFF" test - -| TC05: NSH SFC SFF functional test with 1280B frame size -| | [Documentation] -| | ... | Make TG send 1280 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC SFF functional is correct. -| | ${frame_size}= | Set Variable | ${1280} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "SFF" test - -| TC06: NSH SFC SFF functional test with 1518B frame size -| | [Documentation] -| | ... | Make TG send 1518 Bytes VxLAN-GPE+NSH packet to DUT ingress interface.\ -| | ... | Make TG verify SFC SFF functional is correct. -| | ${frame_size}= | Set Variable | ${1518} -| | Node "${tg_node}" interface "${tg_to_dut_if1}" send "${frame_size}" Bytes packet to node "${dut_node}" interface "${dut_to_tg_if1}" for "SFF" test diff --git a/tests/nsh_sfc/sfc_scripts/install_sfc.sh b/tests/nsh_sfc/sfc_scripts/install_sfc.sh deleted file mode 100755 index 265d4c153a..0000000000 --- a/tests/nsh_sfc/sfc_scripts/install_sfc.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/bash - -set -x - -ROOTDIR=/tmp/openvpp-testing -PWDDIR=$(pwd) - -if_name1=$1 -if_name2=$2 - -VPP_VERSION=`cat ${ROOTDIR}/NSH_SFC_VER | grep VPP | awk -F'= ' '{print $2}'` -NSH_SFC_VERSION=`cat ${ROOTDIR}/NSH_SFC_VER | grep NSH_SFC | awk -F'= ' '{print $2}'` - -VPP_CODE_DIR=${ROOTDIR}/vpp_codes -NSH_SFC_CODE_DIR=${ROOTDIR}/nsh_sfc_codes - -#at first, we need to stop the vpp service if have -sudo service vpp stop - -#uninstall the vpp and nsh sfc plugin -#and git clone the vpp and nsh sfc plugin source codes -#then compile and install them in the dut nodes. -nsh_need_install=0 -sudo dpkg -l vpp-nsh-plugin >/dev/null 2>&1 -if [ $? -eq 0 ]; then - nsh_plugin_version=`dpkg -s vpp-nsh-plugin | grep Version | awk -F' ' '{print $2}'` - if [ "${nsh_plugin_version}" \< "${NSH_SFC_VERSION}" ]; then - sudo dpkg -P vpp-nsh-plugin vpp-nsh-plugin-dbg vpp-nsh-plugin-dev >/dev/null 2>&1 - test $? -eq 0 || exit 1 - nsh_need_install=1 - fi -else - nsh_need_install=1 -fi - -vpp_need_install=0 -sudo dpkg -l vpp >/dev/null 2>&1 -if [ $? -eq 0 ]; then - vpp_version=`dpkg -s vpp | grep Version | awk -F' ' '{print $2}'` - if [ "${vpp_version}" \< "${VPP_VERSION}" ]; then - sudo dpkg -P vpp vpp-dbg vpp-dev vpp-dpdk-dev vpp-dpdk-dkms vpp-lib \ - vpp-plugins vpp-python-api >/dev/null 2>&1 - test $? -eq 0 || exit 1 - vpp_need_install=1 - fi -else - vpp_need_install=1 -fi - -sleep 5 - -##begin to clone the vpp source code -if [ ${vpp_need_install} -eq 1 ]; then - sudo rm -rf ${VPP_CODE_DIR} - sudo mkdir -p ${VPP_CODE_DIR} - cd ${VPP_CODE_DIR} - git clone -b v${VPP_VERSION} https://gerrit.fd.io/r/vpp - - #compile the vpp code - cd ./vpp/build-root/ - make distclean - ./bootstrap.sh - make V=0 PLATFORM=vpp TAG=vpp install-deb - - #after that, install vpp - sudo dpkg -i *.deb - cd ${PWDDIR} -fi - -##begin to clone the nsh sfc source code -if [ ${nsh_need_install} -eq 1 ]; then - sudo rm -rf ${NSH_SFC_CODE_DIR} - sudo mkdir -p ${NSH_SFC_CODE_DIR} - cd ${NSH_SFC_CODE_DIR} - git clone -b v${NSH_SFC_VERSION} https://gerrit.fd.io/r/nsh_sfc - - #compile the nsh sfc code - cd ./nsh_sfc/nsh-plugin/ - sudo rm -rf build - sudo ./build.sh - - #after that, install the nsh sfc plugin - cd ./packaging/ - sudo dpkg -i *.deb - cd ${PWDDIR} -fi - -#check and setup the hugepages -SYS_HUGEPAGE=$(cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages) -if [ ${SYS_HUGEPAGE} -lt 1024 ]; then - MOUNT=$(mount | grep /mnt/huge) - while [ "${MOUNT}" != "" ] - do - sudo umount /mnt/huge - sleep 1 - MOUNT=$(mount | grep /mnt/huge) - done - - echo 2048 | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages - echo 2048 | sudo tee /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages - - sudo mkdir -p /mnt/huge - sudo mount -t hugetlbfs nodev /mnt/huge/ - test $? -eq 0 || exit 1 -fi - -#check and set the max map count -SYS_MAP=$(cat /proc/sys/vm/max_map_count) -if [ ${SYS_MAP} -lt 200000 ]; then - echo 200000 | sudo tee /proc/sys/vm/max_map_count -fi - -#after all, we can start the vpp service now -sudo service vpp start diff --git a/tests/nsh_sfc/sfc_scripts/set_nsh_proxy_inbound.sh b/tests/nsh_sfc/sfc_scripts/set_nsh_proxy_inbound.sh deleted file mode 100755 index 9d7ee72690..0000000000 --- a/tests/nsh_sfc/sfc_scripts/set_nsh_proxy_inbound.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -set -x - -vpp_interface1=$1 -vpp_interface2=$2 -vpp_intf1_adj_mac=$3 -vpp_intf2_adj_mac=$4 - -sudo service vpp restart -sleep 5 - -sudo vppctl set int state ${vpp_interface1} up -sleep 10 -sudo vppctl set int ip table ${vpp_interface1} 0 -sudo vppctl set int ip address ${vpp_interface1} 192.168.50.76/24 - -sudo vppctl create vxlan-gpe tunnel local 192.168.50.76 remote 192.168.50.72 vni 9 next-nsh encap-vrf-id 0 decap-vrf-id 0 -sudo vppctl set int l2 bridge vxlan_gpe_tunnel0 1 1 - -sudo vppctl create vxlan tunnel src 192.168.60.76 dst 192.168.60.71 vni 1 encap-vrf-id 0 decap-next node nsh-proxy -sudo vppctl set int l2 bridge vxlan_tunnel0 1 1 - -sudo vppctl create nsh entry nsp 185 nsi 255 md-type 1 c1 3232248395 c2 9 c3 3232248392 c4 50336437 next-ethernet -sudo vppctl create nsh entry nsp 185 nsi 254 md-type 1 c1 3232248395 c2 9 c3 3232248392 c4 50336437 next-ethernet - -sleep 2 -vxlan_gpe_index=`sudo vppctl sh int | grep "vxlan_gpe_tunnel0" | awk '{print $2}'` -vxlan_index=`sudo vppctl sh int | grep "vxlan_tunnel0" | awk '{print $2}'` -sudo vppctl create nsh map nsp 185 nsi 255 mapped-nsp 185 mapped-nsi 255 nsh_action pop encap-vxlan4-intf ${vxlan_index} -sudo vppctl create nsh map nsp 185 nsi 254 mapped-nsp 185 mapped-nsi 254 nsh_action push encap-vxlan-gpe-intf ${vxlan_gpe_index} - -sudo vppctl ip route add 192.168.50.72/24 via 192.168.50.76 - -sudo vppctl set int state ${vpp_interface2} up -sleep 10 -sudo vppctl set int ip table ${vpp_interface2} 0 -sudo vppctl set int ip address ${vpp_interface2} 192.168.60.76/24 - -sudo vppctl ip route add 192.168.60.71/24 via 192.168.60.76 -sudo vppctl set ip arp ${vpp_interface2} 192.168.60.71 ${vpp_intf2_adj_mac} - -sudo vppctl trace add dpdk-input 100 diff --git a/tests/nsh_sfc/sfc_scripts/set_nsh_proxy_outbound.sh b/tests/nsh_sfc/sfc_scripts/set_nsh_proxy_outbound.sh deleted file mode 100755 index 3aaf0e9853..0000000000 --- a/tests/nsh_sfc/sfc_scripts/set_nsh_proxy_outbound.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -set -x - -vpp_interface1=$1 -vpp_interface2=$2 -vpp_intf1_adj_mac=$3 -vpp_intf2_adj_mac=$4 - -sudo service vpp restart -sleep 5 - -sudo vppctl set int state ${vpp_interface1} up -sleep 10 -sudo vppctl set int ip table ${vpp_interface1} 0 -sudo vppctl set int ip address ${vpp_interface1} 192.168.50.76/24 - -sudo vppctl create vxlan-gpe tunnel local 192.168.60.76 remote 192.168.60.71 vni 9 next-nsh encap-vrf-id 0 decap-vrf-id 0 -sudo vppctl set int l2 bridge vxlan_gpe_tunnel0 1 1 - -sudo vppctl create vxlan tunnel src 192.168.50.76 dst 192.168.50.72 vni 1 encap-vrf-id 0 decap-next node nsh-proxy -sudo vppctl set int l2 bridge vxlan_tunnel0 1 1 - -sudo vppctl create nsh entry nsp 185 nsi 255 md-type 1 c1 3232248395 c2 9 c3 3232248392 c4 50336437 next-ethernet -sudo vppctl create nsh entry nsp 185 nsi 254 md-type 1 c1 3232248395 c2 9 c3 3232248392 c4 50336437 next-ethernet - -sleep 2 -vxlan_gpe_index=`sudo vppctl sh int | grep "vxlan_gpe_tunnel0" | awk '{print $2}'` -vxlan_index=`sudo vppctl sh int | grep "vxlan_tunnel0" | awk '{print $2}'` -sudo vppctl create nsh map nsp 185 nsi 255 mapped-nsp 185 mapped-nsi 255 nsh_action pop encap-vxlan4-intf ${vxlan_index} -sudo vppctl create nsh map nsp 185 nsi 254 mapped-nsp 185 mapped-nsi 254 nsh_action push encap-vxlan-gpe-intf ${vxlan_gpe_index} - -sudo vppctl ip route add 192.168.50.72/24 via 192.168.50.76 - -sudo vppctl set int state ${vpp_interface2} up -sleep 10 -sudo vppctl set int ip table ${vpp_interface2} 0 -sudo vppctl set int ip address ${vpp_interface2} 192.168.60.76/24 - -sudo vppctl ip route add 192.168.60.71/24 via 192.168.60.76 -sudo vppctl set ip arp ${vpp_interface2} 192.168.60.71 ${vpp_intf2_adj_mac} - -sudo vppctl trace add dpdk-input 100 diff --git a/tests/nsh_sfc/sfc_scripts/set_sfc_classifier.sh b/tests/nsh_sfc/sfc_scripts/set_sfc_classifier.sh deleted file mode 100755 index ae5f54bbb6..0000000000 --- a/tests/nsh_sfc/sfc_scripts/set_sfc_classifier.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -set -x - -vpp_interface1=$1 -vpp_interface2=$2 -vpp_intf1_adj_mac=$3 -vpp_intf2_adj_mac=$4 - -sudo service vpp restart -sleep 5 - -sudo vppctl set int state ${vpp_interface1} up -sleep 10 -sudo vppctl set int ip table ${vpp_interface1} 0 -sudo vppctl set int ip address ${vpp_interface1} 192.168.50.76/24 - -sudo vppctl classify table mask l3 ip4 proto -sudo vppctl classify session l2-input-hit-next input-node nsh-classifier table-index 0 match l3 ip4 proto 6 opaque-index 47615 -sudo vppctl set int l2 bridge ${vpp_interface1} 1 1 -sudo vppctl set interface l2 input classify intfc ${vpp_interface1} ip4-table 0 - -sudo vppctl create vxlan-gpe tunnel local 192.168.60.76 remote 192.168.60.71 vni 9 next-nsh encap-vrf-id 0 decap-vrf-id 0 -sudo vppctl set int l2 bridge vxlan_gpe_tunnel0 1 1 -sleep 2 -sw_index0=`sudo vppctl sh int | grep "vxlan_gpe_tunnel0" | awk '{print $2}'` -sudo vppctl create nsh entry nsp 185 nsi 255 md-type 1 c1 3232248395 c2 9 c3 3232248392 c4 50336437 next-ethernet -sudo vppctl create nsh map nsp 185 nsi 255 mapped-nsp 185 mapped-nsi 255 nsh_action push encap-vxlan-gpe-intf ${sw_index0} - -sudo vppctl ip route add 10.10.12.00/24 via 192.168.50.76 - -sudo vppctl set int state ${vpp_interface2} up -sleep 10 -sudo vppctl set int ip table ${vpp_interface2} 0 -sudo vppctl set int ip address ${vpp_interface2} 192.168.60.76/24 - -sudo vppctl ip route add 192.168.60.71/24 via 192.168.60.76 -sudo vppctl set ip arp ${vpp_interface2} 192.168.60.71 ${vpp_intf2_adj_mac} - -sudo vppctl trace add dpdk-input 100 diff --git a/tests/nsh_sfc/sfc_scripts/set_sfc_sff.sh b/tests/nsh_sfc/sfc_scripts/set_sfc_sff.sh deleted file mode 100755 index 183267623f..0000000000 --- a/tests/nsh_sfc/sfc_scripts/set_sfc_sff.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -set -x - -vpp_interface1=$1 -vpp_interface2=$2 -vpp_intf1_adj_mac=$3 -vpp_intf2_adj_mac=$4 - -sudo service vpp restart -sleep 5 - -sudo vppctl set int state ${vpp_interface1} up -sleep 10 -sudo vppctl set int ip table ${vpp_interface1} 7 -sudo vppctl set int ip address ${vpp_interface1} 192.168.50.76/24 - -sudo vppctl create vxlan-gpe tunnel local 192.168.60.76 remote 192.168.60.71 vni 9 next-nsh encap-vrf-id 7 decap-vrf-id 7 -sudo vppctl set int l2 bridge vxlan_gpe_tunnel0 1 1 - -sudo vppctl create vxlan-gpe tunnel local 192.168.50.76 remote 192.168.50.72 vni 10 next-nsh encap-vrf-id 7 decap-vrf-id 7 -sudo vppctl set int l2 bridge vxlan_gpe_tunnel1 1 1 - -sudo vppctl create nsh entry nsp 185 nsi 255 md-type 1 c1 3232248395 c2 9 c3 3232248392 c4 50336437 next-ethernet -sudo vppctl create nsh entry nsp 185 nsi 254 md-type 1 c1 3232248395 c2 9 c3 3232248392 c4 50336437 next-ethernet - -sleep 2 -vxlan_gpe_index0=`sudo vppctl sh int | grep "vxlan_gpe_tunnel0" | awk '{print $2}'` -vxlan_gpe_index1=`sudo vppctl sh int | grep "vxlan_gpe_tunnel1" | awk '{print $2}'` -sudo vppctl create nsh map nsp 185 nsi 255 mapped-nsp 185 mapped-nsi 254 nsh_action swap encap-vxlan-gpe-intf ${vxlan_gpe_index0} - -sudo vppctl ip route add 192.168.50.72/32 via 192.168.50.76 ${vpp_interface1} - -sudo vppctl set int state ${vpp_interface2} up -sleep 10 -sudo vppctl set int ip table ${vpp_interface2} 7 -sudo vppctl set int ip address ${vpp_interface2} 192.168.60.76/24 - -sudo vppctl ip route add 192.168.60.71/32 via 192.168.60.76 ${vpp_interface2} -sudo vppctl set ip arp fib-id 7 ${vpp_interface2} 192.168.60.71 ${vpp_intf2_adj_mac} - -sudo vppctl trace add dpdk-input 100 |