wiki:GENIHwOpenFlowIssues

Version 6 (modified by nriga@bbn.com, 10 years ago) (diff)

--

This is a page to keep track of known issues with using the Hardware OpenFlow switches in GENI.

Problems with FV

Flow Stats with FV 1.0.8

If a site is running FV 1.0.8 then there is a bug with the Flow Stats reply that breaks the OF API. The bug is documented here: https://github.com/OPENNETWORKINGLAB/flowvisor/issues/244

The manifestation from the controller point of view, might be one of the following:

  • controller resets the connection (this has been verified in the trema case)
  • controller does not gets the full set of statistics (maybe only gets one Flow)

Strip VLAN action and FV

Some FV versions do not support the strip VLAN action. Some of them will just ignore it while some of them will just reset the connection to the controller. This has not been studied very rigorously, so we don't have a list of FV versions that have manifested this problem.

Problems with HW OF switches

Useful documents

In OF 1.0 spec there is no easy, programatic way to figure out what is supported by the switch. Some times the best place to look is in the documentation published by the vendors. Although the information on these documents might not be 100% accurate, it is always a good place to start:

Action is SW vs HW path on the switch

Many of the OF switches deployed do not support the whole OF 1.0 spec in the hardware path, when an action is sent to the SW path this causes great degradation on the performance. There is no easy way to tell which actions are supported in HW and which actions are supported in SW. Below is a list of known actions that end up is software, that have been discovered after extensive debugging.

Output on multiple ports

An action that sends out a packet over multiple ports is usually performed in software.

FlowVisor in the middle note: Although sending packets out OFPP_FLOOD port might be in hardware in many switches, when FV is in the path from the controller to the switch it will substitute OFPP_FLOOD with only the ports that belong to a slice and thus make a multi-port flow mod that will end up in the slow path.

Wildcarding IP fields, non-IP packets

On the HP switches that are installed on the InstaGENI racks only IP matches are executed in hardware. The layer 2 fields are ignored in the match (i.e. if a flow is in hardware then any L2 information is not used in the match). If the flow mod does not include IP information the flow goes in the software path. For more information look at the HP OpenFlow notes.