![]() |
ViewsOFTestListPageFrom OpenFlow Wiki
Current Test CasesHere is the list of available tests by module in oft. Last updated 7/20/2010.
Test List:
Module flow_stats: Flow stats test case.
FlowStats: Verify flow stats are properly retrieved.
Module flow_expire: Flow expire test case.
FlowExpire: Verify flow expire messages are properly generated.
Module basic: Basic protocol and dataplane test cases
DataPlaneOnly: Root class that sets up only the dataplane
Echo: Test echo response with no data
EchoWithData: Test echo response with short string data
FlowMod: Insert a flow
FlowStatsGet: Get stats
PacketIn: Test packet in function
PacketOut: Test packet out function
PortConfigMod: Modify a bit in port config and verify changed
SimpleDataPlane: Root class that sets up the controller and dataplane
SimpleProtocol: Root class for setting up the controller
TableStatsGet: Get table stats
Module caps: Basic capabilities and capacities tests
* FillTableExact: Fill the flow table with exact matches; can take a while
FillTableWC: Fill the flow table with wildcard matches
Module pktact: Test cases for testing actions taken on packets
AddVLANTag: Add a VLAN tag to an untagged packet
All: Send to OFPP_ALL port
AllExceptOneWildcardMatch:
Match exactly one field
AllExceptOneWildcardMatchTagged:
Match one field with tagged packets
AllPlusIngress: Send to OFPP_ALL port and ingress port
AllWildcardMatch: Create Wildcard-all flow and exercise for all ports
AllWildcardMatchTagged:
AllWildcardMatch with tagged packets
BaseMatchCase: No description
DirectMC: Multicast to all ports including ingress
DirectMCNonIngress:
Multicast to all non-ingress ports
DirectPacket: Send packet to single egress port
DirectPacketICMP: Send ICMP packet to single egress port
DirectTwoPorts: Send packet to two egress ports
ExactMatch: Exercise exact matching for all port pairs
ExactMatchTagged: Exact match for all port pairs with tagged pkts
* ExactMatchTaggedMany:
ExactMatchTagged with many VLANS
Flood: Flood to all ports except ingress
FloodMinusPort: Config port with No_Flood and test Flood action
FloodPlusIngress: Flood to all ports plus send to ingress port
* MixedVLAN: Test mixture of VLAN tag actions
ModifyL2Dst: Modify the dest MAC address (TP1)
ModifyL2Src: Modify the source MAC address (TP1)
ModifyL3Dst: Modify the dest IP address of an IP packet (TP1)
ModifyL3Src: Modify the source IP address of an IP packet (TP1)
ModifyL4Dst: Modify the dest TCP port of a TCP packet (TP1)
ModifyL4Src: Modify the source TCP port of a TCP packet (TP1)
ModifyTOS: Modify the IP type of service of an IP packet (TP1)
ModifyVID: Modify the VLAN ID in the VLAN tag of a tagged packet
* PacketOnly: Just send a packet thru the switch
* PacketOnlyTagged: Just send a packet thru the switch
SingleWildcardMatch:
Exercise wildcard matching for all ports
SingleWildcardMatchTagged:
SingleWildcardMatch with tagged packets
StripVLANTag: Strip the VLAN tag from a tagged packet
Tests preceded by * are not run by default
Tests marked (TP1) after name take --test-params including:
'vid=N;strip_vlan=bool;add_vlan=bool'
Prioritization of Test Cases to WriteSee the current BlackBox test list summary. We should be working towards getting that coverage. Here is a rough prioritization of test cases to add taken from the more complete list below.
Overview of Test Case SpaceThis is an attempt to identify possible tests for OpenFlow switches. In the test lists, the following markers are used.
High Level CategoriesTest CategoriesPacket VariationsTests involving the dataplane may have variations in the packets that are used. These are not really test cases directly, but parameters that may be used by test cases. TBD: This needs to be straightened out a bit
MatchingNote each test generally includes a positive test (send packet matching flow and expect action) and a negative test (send packet not matching flow and verify action did not occur, at least through flow counter).
ActionsDrop
Direction
ModificationThe following modification actions may be carried out in any combination. Of course we'll start with the single field change operations; do a few multiple field operations and then do as many as possible.
Control plane boundary
ProtocolHelloEcho
Packet out
Flow delete
Async flow removed notificationSwitch capabilitiesSwitch descriptionSwitch configProvoke error messages
Statistics
Flow statistics
Table statisticsPort statisticsTable MaintenanceFlow addOPTION: Check overlap flag Flow modifyOPTION: cookie? Flow delete
Flow expiration
Flow prioritiesBuffer ID for pkt in/pkt out processingPort statusValidate state flags
Deferred Tests
during the test (such as a port status that requires changing the physical port state).
|
Quick NavigationOpenFlow White PaperOpenFlow Demo Video![]() Watch the Demo that received the best demo award at SIGCOMM 2008. About OpenFlow OpenFlow is supported bythe Stanford Clean Slate Program. Wiki ToolsPersonal toolsProjects |