CSIT/AArch64
From fd.io
Contents
CSIT TOI
Based on CSIT committers availability, current proposal is to hold two separate 1hr sessions:
TOI-1: Tue 23-Jan 07:00-08:00 PST / 15:00-16:00 UTC / 16:00-17:00 CET TOI-1: Fri 31-Jan 07:00-08:00 PST / 15:00-16:00 UTC / 16:00-17:00 CET
Recent Patches
add new topology parameter: arch | Merged 2018-01-10 | https://gerrit.fd.io/r/#/c/9474/ |
update nodes dependency | Merged 2018-01-02 | https://gerrit.fd.io/r/#/c/9584/ |
update vagrant to use ubuntu 16.04 images | https://gerrit.fd.io/r/#/c/8295/ | |
warn against virtualenv --system-site-packages | Merged 2017-12-20 | https://gerrit.fd.io/r/#/c/9428/ |
TEST for 2-nodes topology
(gg) based on my tests, in order to reproduce issues more easily across the team.
- set up 2 aarch64 VMs (TG + DUT)
- give them 3 interfaces
- one for management, the other two down for the test
- compile igb_uio (see known issue #1) and load it
- write topology file with `arch: aarch64`
- fill pci_address, and mac_address according to your setup
- create virtualenv following csit README
- virtualenv env
- source env/bin/activate
- pip install -r requirements.txt
- export PATH with vpp_api_test, and PYTHONPATH
cmdline to run functional tests only with debug logs. You need the "__init__.robot" present in the folder you give to pybot.
pybot --debugfile /tmp/debugfile --exitonerror -L TRACE -v TOPOLOGY_PATH:topologies/enabled/topology.yaml tests/vpp/func/
Functional test
Tests status:
- CSIT: 54ad6efd342695d0a7dad5380cc989a8d846f518
- 3-Nodes topology
- On VM only
- only show failing tests
No guarantee that the tests are failing because of arm.
============================================================================== Func.Crypto.Default ============================================================================== Func.Crypto.Default.Eth2P-Ethip4Ipsectnl-Ip4Base-Func :: *IPv4 IPsec tunnel... ============================================================================== ... ------------------------------------------------------------------------------ TC13: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL | Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'. ------------------------------------------------------------------------------ TC14: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL | Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'. ------------------------------------------------------------------------------ TC15: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL | Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'. ------------------------------------------------------------------------------ TC16: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL | Traffic script execution failed ------------------------------------------------------------------------------ TC17: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL | Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'. ------------------------------------------------------------------------------ TC18: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL | Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'. ------------------------------------------------------------------------------ TC19: VPP process ESP packet in Tunnel Mode with AES-CBC-128 encry... | FAIL | Expected error 'ESP packet Rx timeout' but got 'Traffic script execution failed'. ------------------------------------------------------------------------------ Func.Crypto.Default.Eth2P-Ethip4Ipsectnl-Ip4Base-Func :: *IPv4 IPs... | FAIL | 19 critical tests, 12 passed, 7 failed 19 tests total, 12 passed, 7 failed ============================================================================== Func.crypto.sw_default ============================================================================== 2 critical tests, 0 passed, 2 failed 2 tests total, 0 passed, 2 failed ============================================================================== Func.Honeycomb ... Honeycomb not set up ... All tests fail. ============================================================================== Func.Interfaces | PASS | 6 critical tests, 6 passed, 0 failed 6 tests total, 6 passed, 0 failed ============================================================================== Func.Ip4 ============================================================================== Func.Ip4.Eth2P-Dot1Q-Ip4Base-Func :: *IPv4 with VLAN subinterfaces* 3 critical tests, 3 passed, 0 failed 3 tests total, 3 passed, 0 failed ============================================================================== Func.Ip4.Eth2P-Ethip4-Ip4Base-Copblklistbase-Func :: *COP Security IPv4 Bla... ============================================================================== TC01: DUT drops IPv4 pkts with COP blacklist set with IPv4 src-add... | FAIL | Expected error 'ICMP echo Rx timeout' but got 'Traffic script execution failed'. ------------------------------------------------------------------------------ Func.Ip4.Eth2P-Ethip4-Ip4Base-Copblklistbase-Func :: *COP Security... | FAIL | 1 critical test, 0 passed, 1 failed 1 test total, 0 passed, 1 failed ============================================================================== Func.Ip4.Eth2P-Ethip4-Ip4Base-Copwhlistbase-Func :: *COP Security IPv4 Whit... ============================================================================== TC01: DUT permits IPv4 pkts with COP whitelist set with IPv4 src-a... | PASS | ------------------------------------------------------------------------------ Func.Ip4.Eth2P-Ethip4-Ip4Base-Copwhlistbase-Func :: *COP Security ... | PASS | 1 critical test, 1 passed, 0 failed 1 test total, 1 passed, 0 failed ============================================================================== Func.Ip4.Eth2P-Ethip4-Ip4Base-Func :: *IPv4 routing test cases* ============================================================================== TC01: DUT replies to ICMPv4 Echo Req to its ingress interface :: M... | FAIL | Parent suite setup failed: TypeError: 'NoneType' object is not iterable ------------------------------------------------------------------------------ TC02: DUT routes IPv4 to its egress interface :: Make TG send ICMP... | FAIL | Parent suite setup failed: TypeError: 'NoneType' object is not iterable ------------------------------------------------------------------------------ TC03: DUT1 routes IPv4 to DUT2 ingress interface :: Make TG send I... | FAIL | Parent suite setup failed: TypeError: 'NoneType' object is not iterable ------------------------------------------------------------------------------ TC04: DUT1 routes IPv4 to DUT2 egress interface :: Make TG send IC... | FAIL | Parent suite setup failed: TypeError: 'NoneType' object is not iterable ------------------------------------------------------------------------------ TC05: DUT1 and DUT2 route IPv4 between TG interfaces :: Make TG se... | FAIL | Parent suite setup failed: TypeError: 'NoneType' object is not iterable ------------------------------------------------------------------------------ TC06: DUT replies to ICMPv4 Echo Reqs with size 64B-to-1500B-incr-... | FAIL | Parent suite setup failed: TypeError: 'NoneType' object is not iterable ------------------------------------------------------------------------------ TC07: DUT replies to ICMPv4 Echo Reqs with size 1500B-to-9000B-inc... | FAIL | Parent suite setup failed: TypeError: 'NoneType' object is not iterable ------------------------------------------------------------------------------ TC08: DUT replies to ARP request :: Make TG send ARP Request to DU... | FAIL | Parent suite setup failed: TypeError: 'NoneType' object is not iterable ------------------------------------------------------------------------------ Func.Ip4.Eth2P-Ethip4-Ip4Base-Func :: *IPv4 routing test cases* | FAIL | Suite setup failed: TypeError: 'NoneType' object is not iterable ============================================================================== 8 critical tests, 0 passed, 8 failed 8 tests total, 0 passed, 8 failed
TODO
- identify ARM64 hardware to replicate CSIT repo
- make Jira EPIC for CSIT func
- make Jira EPIC for CSIT performance
- disk-image-builder scripts
- write a bootstrap-* script for aarch64
- add VPP_REPO_URL* VPP_STABLE_VER* files ... (could be any public server for now)
known issues
- dpdk does not compiles igb_uio on aarch64 (it seems to require a kernel patch introduced in kernel 4.12: f719582435afe9c7985206e42d804ea6aa315d33). it has been re-enabled in dpdk v17.11 (f1810113590373b157ebba555d6b51f38c8ca10f)