...
OpenFlow Conformance Test
The OF switch used to support the Fabric has to support a number of data-plane operations such as MPLS encapsulation and others described below.
In order to guarantee conformance of the switches , we decided to create a few use created few test cases using the OFTEST framework.
The OFTEST code can be found at https://github.com/floodlightcastroflavio/oftest.
In this document we will describe how you can setup your own testbed as well as describe the test cases implemented.
OFTEST Overview
OFTEST The oftest framework consists of a testserver that connects test server connected to a target switch through an OpenFlow channel . The testserver also connects and directly to the dataplane ports of the OFswitch. After programming the switch the testserver , oftest inserts packets in the dataplane and verify verifies if the output is as expected.
...
Segment Routing Tests
The following tests were are implemented:
| Expand |
|---|
|
...
Baseline results from OFTEST
At this date the most stable version of ofdpa New releases of the ofdpa software come out reasonably fast, in order to be able to test multiple software versions we use different branches for each version.
The version used by the cord project is i12_1.7 . The and it's the most stable one up to date. The following tests are currently successful.
| i12_1.7 | ga2.0 | |
|---|---|---|
flows._24EcmpVpn | ok | ok |
| flows.PacketInUDP | ok | ok |
| flows._24ECMPL3 | ok | ok |
| flows._32EcmpVpn | ok | ok |
| flows.L2UnicastTagged | ok | ok |
| flows.L3McastToL3 | ok | ok |
| flows._32UcastTagged | ok | ok |
| flows.L3McastToL2 | ok | ok |
| flows._MplsTermination | ok | ok |
| flows.PacketInArp | ok | ok |
| flows._32ECMPL3 | ok | ok |
| flows._32VPN | ok | ok |
| flows.Mtu1500 | ok | ok |
| flows._24VPN | ok | ok |
| flows.L2FloodQinQ | ok | ok |
| flows._24UcastTagged | ok | ok |
| flows._MplsFwd | ok |
How to test a new switch
- Install OFTEST
- Run baseline test and create a new branch
- Update the OFDPA software
- Run/fix the test again until it's stable
- Document changes and at Jirathe wikipage or JIRA