- Jun 24, 2015
-
-
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.
-
- 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).
-
- Jun 10, 2015
-
-
Ryan Izard authored
-
- Jun 09, 2015
-
-
AndreMantas authored
Working LearningSwitch.java
-
Ryan Izard authored
-
- Jun 08, 2015
-
-
Jacob Chappell authored
-
Jacob Chappell authored
-
Jacob Chappell authored
-
Jacob Chappell authored
-
Jacob Chappell authored
-
- Jun 06, 2015
-
-
AndreMantas authored
writePacketOutForPacketIn now calls OFMessageUtils.writePacketOutForPacketIn
-
- Jun 05, 2015
-
-
AndreMantas authored
Added required imports and static declaration.
-
AndreMantas authored
Modified visibility of method to public
-
AndreMantas authored
Added private void writePacketOutForPacketIn(IOFSwitch sw, OFPacketIn packetInMessage, OFPort egressPort) from net.floodlightcontroller.learningswitch.LearningSwitch
-
- Jun 03, 2015
-
-
Ryan Izard authored
Patched ARP class to use MacAddress, IPv4Address, and ArpOpcode, as it should. This makes it safer and avoids primitive data types.
-
Ryan Izard authored
-
Ryan Izard authored
-
- Jun 02, 2015
-
-
Banse, Christian authored
-
Banse, Christian authored
-
Banse, Christian authored
messages
-
- May 29, 2015
-
-
Ryan Izard authored
Fixed what was likely one of the dependency issues in the unit tests. There were two @Before annotations on functions in the handshake handler tests. setUp() depends on setUpFeaturesReply(); but if they are both @Before, there's no guarantee the first @Before (features reply) will be executed before the second @Before (setup). Removed @Before annotation from setUpFeaturesReply() and manually invoke that function from within setUp() so that the featuresReply class variable is set when it's needed in setUp().
-
Ryan Izard authored
Comma-delimited now. There will be an issue if a key is invalid, but this is a good start. If a key is invalid, we might output a double-comma where the key would have normally been inbetween.
-
Ryan Izard authored
Fix action list serialization to JSON format. We can have more than one of each action in the list, so when the JSON parser at the client end displays the string, it will only show the last key of each duplicate key (which is not good).
-
Ryan Izard authored
Support masked flow mods inserted into the SFP via an OFFlowAdd. This is different from MatchUtils, since we have to put into the map with the SFP's column keys.
-
- May 26, 2015
-
-
Jacob Chappell authored
-
Banse, Christian authored
SEND_FLOW_REM in flow mod
-
Banse, Christian authored
-
Banse, Christian authored
-
- May 13, 2015
-
-
Pengfei Lu authored
delete useless code.
-
- May 12, 2015
-
-
Ryan Izard authored
Change log level of ACL to debug for all logs except REST API. Info produces too much debug output for some of these, especially when the ACL is not being actively used.
-
Ryan Izard authored
Added ability to specify the tables to receive table-miss flows for OF1.3+ switches. What we did before was insert these table-miss flows in all tables, which for OVS is 254 flows and not only is a waste of resources if the tables aren't being used, but also serverly clutters the REST API and Web UI output when listing flows. By default, the first 4 tables will receive the forward-to-controller table-miss flow. The reason for 4 is to account for a small number of software tables present on many hardware switches. If the actual number of tables is less, the lesser value will be used. To modify these settings, there are two options: (1) change the default for all switches or (2) specify the max tables to insert the table-miss flow on a per-DPID basis. These options are exposed in the floodlightdefault.properties file. Toy, no-op examples are given setting the default to 4 and two switches to 4 (the internal default is 4, thus it's a no-op). The list of switches and max tables should be given as a list of JSON key:value objects to the net.floodlightcontroller.core.internal.OFSwitchManager.maxTableToReceiveTableMissFlowPerDpid config variable. The default can be specified as an integer to the net.floodlightcontroller.core.internal.OFSwitchManager.defaultMaxTableToReceiveTableMissFlow variable.
-
Ryan Izard authored
-
- May 11, 2015
-
-
Ryan Izard authored
Support for OFTableFeatures messages. OpenFlowJ-Loxi bindings have been updated to support a variable pad (byte-aligned to 8 bytes) for each OFTableFeaturesProp list. Loxi has not been 'officially' updated yet though due to a lack of a C implementation. The handshake handler in Floodlight and the switch representations were also updated in order to support OFTableFeatures. By default, the features are requested for an OF1.3+ switch. They will be updated if they are reconfigured through a writeRequest() call IOFSwitch. To access table features, call getTableFeatures(TableId tableToGetFeaturesFor). They are exposed as a TableFeatures type, which more is more efficient than OFTableFeatures for frequent data accesses (especialy OFTableFeatureProp lists).
-
- May 10, 2015
-
-
Kuan-Wei(FatRabiTree), Li authored
In the Web UI footer, the link cannot lead user to the correct site. This patch fix it.
-
- May 01, 2015
-
-
Ryan Izard authored
Specify what to match on for Forwarding. This is a first step towards automatically adapting the match depending on what the switch requires for the flow to be in hardware.
-
- Apr 29, 2015
-
-
Pengfei Lu authored
add the ACL application support
-
- Apr 27, 2015
-
-
Ryan Izard authored
Fixed action serializer for actions that do not have values e.g. strip_vlan and such. Added in a 'n/a' value for the JSON key's value. Perhaps we should rethink how a list of actions is serialized to avoid the 'n/a' all together.
-