- Jan 21, 2016
-
-
paaguti-work authored
-
- Dec 18, 2015
-
-
Ryan Izard authored
-
- Dec 14, 2015
-
-
Ryan Izard authored
-
- Dec 11, 2015
-
-
Ryan Izard authored
-
- Dec 10, 2015
-
-
Ryan Izard authored
-
- Oct 07, 2015
-
-
Ryan Izard authored
Added ability to disable ARP flows in Forwarding. Many hardware switches cannot handle ARP flows. ARP flows on by default; turn off/on via 'flood-arp' in floodlightdefault.properties. Also, finished integrating new topology service/routing into Forwarding. This required a few more null checks to handle cases where packet-ins are received while the controller is starting/still discovering the topology/links.
-
- Oct 06, 2015
-
-
Ryan Izard authored
Fix potential divide by zero. Increased latency parameters to threshold=0.50, history=10. Maybe it's just because my control plane is over a VPN and over the public internet, but the link latencies are fluctuating a bit. TODO evaluate whether or not we should completely clear the average/history each time we accept a new latency value. This would lessen the number of latency updates.
-
Ryan Izard authored
Change logging. Update default history size to 10. Base update decision on previous link value, not current observed.
-
- Oct 05, 2015
-
-
Ryan Izard authored
-
Ryan Izard authored
Integrated new topology code and updated unit tests to a passing state. I'd be more comfortable adding more unit tests to the topology. Also made some changes to the link discovery manager's latency subsystem. We start with a baseline latency based on the switch's features reply turnaround time. This should be relatively quick -- just like an echo. Next step for latency is to keep a rolling list of past latencies for more defined topology updates based on latency updates. We don't want to update latencies too frequently, since tiny changes (or outliers) shouldn't require a complete topology recomputation.
-
- Sep 21, 2015
-
-
Ryan Izard authored
We now take into account the one-way latency between each switch (src, dst) and the controller when determining data plane link latencies.
-
Ryan Izard authored
First round of support for primitive link latency detection. We do not presently account for the latency between the switches and the controller.
-
- 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 :-).
-
- Jun 27, 2015
-
-
Ryan Izard authored
-
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.
-
- 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.
-
- May 12, 2015
-
-
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 17, 2015
-
-
Ryan Izard authored
-
- Apr 16, 2015
-
-
Ryan Izard authored
Added ability to customize start/role-transition behavior at the request of an individual a while ago. Using floodlightdefault.properties, you can specify if you want the controller to clear the flow tables of switches (1) upon inital handshake and transition to master or (2) upon every transition to master. Or you can not ever clear the tables if you want.
-
- Apr 13, 2015
-
-
Ryan Izard authored
-
- Apr 08, 2015
-
-
Ryan Izard authored
-
- Mar 15, 2015
-
-
Pengfei Lu authored
-
Ryan Izard authored
Updated Restlet from 2.2M3 to 2.3.1. Included with the update is full SSL support for the REST API, either all-access+encryption or restricted-access+encryption (truststore verified clients only). Additional options have been added to floodlightdefault.properties in order to turn HTTPS on/off. HTTPS ccan be used in conjunction with vanilla HTTP as well -- each must reside on a different TCP port though. Also, this time, I remembered to update and test the build.xml file to remove the old and include the new Restlet jars.
-
- Mar 13, 2015
-
-
Ryan Izard authored
SSL support for southbound OpenFlow sockets. Enable/disable SSL from floodlightdefault.properties (YES=enabled, NO=disabled to the useSsl variable), set the keystore, and password. By default, SSL is disabled. Keystore needs to be configured with a public/private/cert for FL and with the certificates for each OVS ahead of time. Each key should have the same password as the keystore itself.
-
- Mar 09, 2015
-
-
Ryan Izard authored
Revert "Fixed a couple bugs in SFP. (1) Always check the switch we're pushing a new flow to to see if an old flow needs to be removed from another switch (Maxence's bug). (2) Check for empty string in action lists and only print/add actions if they are specified. This allows an empty string or null to mean 'drop.'" This reverts commit e2458ef3.
-
Ryan Izard authored
Fixed a couple bugs in SFP. (1) Always check the switch we're pushing a new flow to to see if an old flow needs to be removed from another switch (Maxence's bug). (2) Check for empty string in action lists and only print/add actions if they are specified. This allows an empty string or null to mean 'drop.'
-
- Feb 20, 2015
-
-
Ryan Izard authored
Added a patch to support HP ProCurve switches and others that do not support the OFPT_BARRIER_REQUEST message. Updated SFP unit test to include the SEND_FLOW_REM flag in the test flows (forgot from last commit).
-
- Feb 04, 2015
-
-
Ryan Izard authored
-
- Dec 21, 2014
-
-
Ryan Izard authored
-
Ryan Izard authored
-
Ryan Izard authored
-
Ryan Izard authored
-
Ryan Izard authored
-
Ryan Izard authored
-
Ryan Izard authored
-