- Aug 15, 2015
-
-
Ryan Izard authored
Lots of goodies here. Apologies for the largish commit. Most files are just removing warnings that were introduced after updating JSON libraries a short time ago. IOFSwitch now can return specific list of tables supported. This is useful for the OFHandshakeHandler for one, which not inserts table miss flows up to the table ID indicated in floodlightdefault.properties, but only in the table IDs that actually exist. Up next, Forwarding has some preliminary, isolated support for IPv6. Still need to integrate support into the device service, which is more complex. Forwarding also supports routing through OF switches of multiple OFVersions. This was a very subtle bug that was fixed by modifying MatchUtils to create a Match clone to a specific OFVersion. This utility function is used to generate a Match compatible with the OpenFlow version of the switch. Believe it or not, Loxi actually allows you to insert a Match of OFVersion.OF_X into an OFFlowMod of OFVersion.OF_Y. The switch, of course, doesn't have a clue how to interpret it and either reports an error, or actually resets the OF channel, in the case of a couple hardware switches tested on. Good news is this is fixed now :-).
-
- Aug 13, 2015
-
-
Ryan Izard authored
Change error message for IllegalArgumentException. It's not just an SSL issue. Also, didn't realize this at the time, but a switch that does not support table features will not have the table-miss flows inserted at present. As a workaround, we don't check for table existance before adding the flows. This might result in a flow-add error, but it's better than not having the flow when you would expect it. TODO: Have a flag in the switch that denotes whether or not table features were supported.
-
Ryan Izard authored
Patched the handshake so that on transition to master, we guarantee the order of flow table operations (e.g. clear, adding table-miss flows, and IOFSwitchListener module switchAdded/switchActivated listener operations). Barriers are used inbetween all such operations.
-
- Aug 12, 2015
-
-
Ryan Izard authored
Fix bug in controller OF protocol version when we set below 1.3. We now honor OF1.2 and under's lack of version bitmaps in the hello.
-
- Aug 11, 2015
-
-
Ryan Izard authored
OF-DPA updates and ignore PI on wait features
-
Ryan Izard authored
-
- Jul 28, 2015
-
-
Ryan Izard authored
Added the next round of OF-DPA features. None of this has been tested yet, but we are closer to a learning-switch capable OF-DPA switch as programmed from Floodlight. There are a few utility functions in OFDPAUtils that allow for the installation of the required OF-DPA groups and flows so that the switch can be treated as an (almost) normal switch from the perspective of Forwarding/LearningSwitch. There is a utility function that will need to be used to make sure the instructions, matches, and table ID are correct though. This has been done, and hopefully works well. Included with this commit are OFPortMode and OFPortModeTuple, which help to keep track of OFPorts that are in either trunk or access modes. This impacts the groups to be used by OF-DPA.
-
- Jul 22, 2015
-
-
Ryan Izard authored
Adding OFDPAUtils.java
-
Ryan Izard authored
-
- Jul 21, 2015
-
-
Ryan Izard authored
Features request via REST API bug fix and start on OF-DPA support
-
Ryan Izard authored
Patched features request/reply via REST API. Wrote a stub for OF-DPA default flow insertion -- still a work in progress. It's an uncalled function right now, so it will not hurt anything.
-
- Jul 16, 2015
-
-
Ryan Izard authored
Add support for SPUD
-
Ryan Izard authored
Refactoring ACL.java and IACLService.java
-
- Jul 08, 2015
-
-
Pengfei Lu authored
- fix bug in processing allowing ACL rule - update Javadoc
-
- Jun 30, 2015
-
-
Jacob Chappell authored
-
- Jun 29, 2015
-
-
Jacob Chappell authored
-
Jacob Chappell authored
-
- Jun 27, 2015
-
-
Ryan Izard authored
Forgot the second variable in floodlightdefault.properties
-
Ryan Izard authored
-
Ryan Izard authored
Patch to allow specifying 0 tables to receive table-miss flow
-
Ryan Izard authored
Minor tweak to the name of the variable in floodlightdefault.properties to make it sound like it's a max total tables and not a max table ID.
-
Ryan Izard authored
Tweaked configuration of table-miss flows so that you can specify the number of tables rather than the max table ID. Both of these have their pros and cons, but we'll go with specifying the max total for now, which allows a '0' to indicate 'no tables' rather than 'up to and including table 0'.
-
- Jun 26, 2015
-
-
Jacob Chappell authored
-
Jacob Chappell authored
-
Jacob Chappell authored
-
Jacob Chappell authored
-
Jacob Chappell authored
-
Jacob Chappell authored
-
Ryan Izard authored
Minor OXM serializer patch and Static Flow Pusher bug fix
-
Ryan Izard authored
Fixed an OpenFlow version bug in the SFP's flow removed handler -- getTable() isn't supported in 1.0 and getHardTimeout() isn't supported until 1.2+.
-
- Jun 24, 2015
-
-
Ryan Izard authored
fix race conditions in LinkDiscoveryManager module
-
Ryan Izard authored
Lots of good stuff for OpenFlow protocol version negotiation
-
Ryan Izard authored
We now have a human-readable OXM deserializer! Still need to add in all the NXM extensions and the OF1.5 0x8001 register class.
-
- Jun 23, 2015
-
-
Ryan Izard authored
Clarified some log messages for negotiating OpenFlow versions. More importantly, included a patch to ignore all PORT_STATUS messages during the WaitFeaturesReplyState. OVS will periodically send such a message if it's connecting to the controller and being created (e.g. by mininet) at the same time. We will explicitly query the port status/configuration later, so ignoring this message now is fine.
-
- Jun 22, 2015
-
-
Ryan Izard authored
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.
-
Controller authored
-
Controller authored
-
Ryan Izard authored
fix data races in LoadBalancer module
-
- Jun 19, 2015
-
-
Ryan Izard authored
-
Ryan Izard authored
Patch channel handler to allow Brocade's 2nd hello. We now allow sw_hello, ctrl_hello, sw_hello assuming the second sw_hello's protocol version matches what we calculated. If it doesn't, then it might not be the brocade but instead an unsupported switch trying to reconnect (although this should resultin a new socket being established and a new channel handler being instantiated).
-