First go at implementing OpenFlow version bitmaps. Also, made it a lot easier...
First go at implementing OpenFlow version bitmaps. Also, made it a lot easier to change your default OpenFlow versions via floodlightdefault.properties's net.floodlightcontroller.OFSwitchManager.supportedOpenFlowVersions variable. The variable searches any string for 1.0, 1.1, 1.2, 1.3, and 1.4 and saves those versions as possible OpenFlow versions to use during a handshake and used in our controller's version bitmap. We don't presently account for future versions that might be e.g. 1.10 (which 1.1 would match). We need to use regexs to make the string parsing more robust. What I also noticed in working on this commit was that there are no utilies for parsing OpenFlow versions from wire (at least that are exposed by Loxi). TODO Create an OFVersion.ofWireValue(int wireVal) function in Loxi that efficiently tries to locate an OpenFlow version from the wire value. Right now, there are getters for each defined version, but not a utility to go the other way. Also, it might be useful to include an OFVersion.ofString(String laypersonString) that takes e.g. '1.1' and tries to get the OFVersion enum value. Last thing: NEED TO FIX CONNECT, DISCONNECT, and RECONNECT BUG that only occurs when OVS connects to Floodlight after Floodlight has been running first. I think it has to do with how OVS starts up and ***might*** be an OVS issue and not a Floodlight issue. Furthermore, need to allow OVS to send a PORT_STATUS message before we query for the PORT_CONFIG in the handshake. It's okay, we'll just get the port info again when we query for it shortly. This causes us to disconnect OVS even though the handshake is okay.
Showing
- src/main/java/net/floodlightcontroller/core/internal/OFChannelHandler.java 101 additions, 16 deletions.../floodlightcontroller/core/internal/OFChannelHandler.java
- src/main/java/net/floodlightcontroller/core/internal/OFSwitchManager.java 132 additions, 3 deletions...t/floodlightcontroller/core/internal/OFSwitchManager.java
- src/main/java/net/floodlightcontroller/core/internal/OpenflowPipelineFactory.java 20 additions, 5 deletions...ightcontroller/core/internal/OpenflowPipelineFactory.java
- src/main/java/net/floodlightcontroller/core/web/serializers/StatsReplySerializer.java 0 additions, 5 deletions...controller/core/web/serializers/StatsReplySerializer.java
- src/main/resources/floodlightdefault.properties 1 addition, 0 deletionssrc/main/resources/floodlightdefault.properties
- src/test/java/net/floodlightcontroller/core/internal/OFChannelHandlerVer10Test.java 4 additions, 1 deletion...htcontroller/core/internal/OFChannelHandlerVer10Test.java
- src/test/java/net/floodlightcontroller/core/internal/OFChannelHandlerVer13Test.java 6 additions, 1 deletion...htcontroller/core/internal/OFChannelHandlerVer13Test.java
Loading
Please register or sign in to comment