- 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.
-
- 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).
-
- Apr 17, 2015
-
-
Ryan Izard authored
-
- Apr 16, 2015
-
-
Ryan Izard authored
Added ability to switch OF roles per DPID or for all switches at once. This includes a REST interface and integration with the handshake and channel handlers in order to keep the switch in the correct state. An IOFConnectionListener also has the ability to listen for messages that are written now instead of read from the wire. This allows modules to write role requests, have the underlying handshake/channel substrate tap in and listen to the request, and automatically update the role of the switch when the response comes back.
-
- Apr 13, 2015
-
-
Ryan Izard authored
-
- Apr 03, 2015
-
-
Ryan Izard authored
Initial DHCP server code commit. This was a test of how easy is is to port v0.91- code to v1.0. I have not tested this module yet. TODO: Write unit tests for the dhcpserver module.
-
Ryan Izard authored
Reapplied the LinkDiscoveryManager's patch from earlier (issue #471). Updated Ethernet.java to use EthType instead of short for EthTypes. In conjunction, bitmasked the LSBs of the ethertype as it is casted from short to int. This preserves the MSB (sign) as a data bit --> unsigned integer.
-
- Mar 19, 2015
-
-
Pengfei Lu authored
-
- Mar 17, 2015
-
-
Pengfei Lu authored
-
- Mar 15, 2015
-
-
Pengfei Lu authored
-
- 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).
-
- Dec 21, 2014
-
-
Ryan Izard authored
-
- Dec 19, 2014
-
-
Ryan Izard authored
Added insertion of default table-miss flow for OF1.3 switches. Also added clearing of switch tables when switch connects. Both of these only occur if the controller is in the MASTER role for the switch. It if is placed in SLAVE, the switch flow tables will not be modified. Also had to update the unit tests with new expectations for IOFSwitchBackend fuction calls (which was a real pain).
-
- Dec 17, 2014
-
-
Ryan Izard authored
Removed all deprecated FlowReconcileManager stuff from unit tests, which is just now showing up as a warning... Also clarified debug message in ActionUtils for actions that do not take the form 'key=value' e.g. 'pop_vlan'. It was phrased as if the action was bad, but it's okay for some that do not take a value.
-
- Dec 15, 2014
-
-
Ryan Izard authored
Tweaked SFP syntax (changed my mind about dl and nw as opposed to eth and ipv4). Added acceptance of hex and decimal input for values. Added previously unimplemented matches/actions in loxi to the SFP. Removed all the FlowReconcileManager stuff from DeviceManagerImpl.
-
- Dec 01, 2014
-
-
Ryan Izard authored
Added in NXMs for source and destination tunnel IPs, included in new Loxigen 0.9.0. Used Loxigen's OFFlowModFlags serializers for different OFVersions to fix compile error in StatsReplySerializer introduced upon Loxigen upgrade. Add new OF1.4 counters to DebugCounters to allow unit tests to compile (this is the first step in OF1.4 support =) ).
-
- Nov 21, 2014
-
-
Ryan Izard authored
Updated all unit tests with the uncommenting of debugcounter stuff in the previous commit. For the most part, initialized the MockDebugCounterService and provided it to the MemoryStorageSource to allow counters in the AbstractStorageSourceService.
-
Ryan Izard authored
-
- Nov 14, 2014
-
-
Ryan Izard authored
Removed all deprecated flowcache references and marked all flowcache classes as deprecated. Also TODOed the OFMessageDamper Forwarding module unit test. It will always fail until tthe OFMessageDamper is fixed to ignore the XIDs in OFMessages.
-
Ryan Izard authored
OF1.3 handshake unit tests updated. All unit tests can be run together and have zero errors but one failure. The failure is in Forwarding and is expected for the time being until OFMessageDamper/Loxigen is fixed to ignore XIDs in OFMessages. In the previous commit, the unit tests for the flowcache package were completely removed due to the effort required to fix them. I don't know if completely removing the flowcache package though is the best idea. Even if it's not tested and not proven scalable, people might benefit from being able to look at the code. Thus, I've left the package in, at least for the time being.
-
- Nov 13, 2014
-
-
Ryan Izard authored
This is a scattered commit, but it includes more unit test fixes, including Forwarding and the NotificationManager's interdependency issue the unit tests were having when being run together as a group. It also includes some typo repairs. The last major change is a bug fix in the LinkDiscoveryManager that fixes the long-time issue of LINK_ADDED and PORT_STATUS messages being inconsistent when a link is brought up. The issue was a race condition between the PORT_STATUS update timer to process the queues and the propagation of LLDP packets from one switch to another that cause the LINK_ADDED updates.
-
- Nov 07, 2014
-
-
Ryan Izard authored
Mid-way through Forwarding unit tests. Added a sample equals to compare OFPacketIns when the XID does not matter (in net.floodlightcontroller.util.OFMessageComparisonUtils.java).
-
Ryan Izard authored
Forgot to fix Hub after playing with it initially. Now defaults to FLOOD OFPacketOuts at the controller, which means no flows are inserted. The option still exists to insert flows instead.
-
Ryan Izard authored
Firewall working and unit tests working. Found an fixed a couple bugs in the Firewall during the process.
-
Ryan Izard authored
Some Firewall unit test fixes. Went through all code and corrected pi.getInPort() to (pi.getVersion().compareTo(OFVersion.OF_12) < 0 ? pi.getInPort() : pi.getMatch().get(MatchField.IN_PORT)). OF1.2 and greater specifies the ingress port as an OXM in the Match.
-
- Nov 05, 2014
-
-
Ryan Izard authored
-
Ryan Izard authored
-
- Nov 03, 2014
-
-
Ryan Izard authored
Fixed DeviceManagerImplTest unit tests. TODO: With OpenFlowJ-Loxi, an untagged VLAN can be denoted with VlanVid.ZERO. Presently, it's VlanVid.of(-1), which was the case before integration of the new library. It makes more sense to have it as ZERO I think.
-
- Oct 31, 2014
-
-
Ryan Izard authored
Fixed some DeviceManager unit tests and (not quite a bug but) an issue converting an Entity to a SyncEntity, which requires primitives for serialization. I tried to supply the MacAddress, IPv4Address, etc JSON serializer classes via the @JsonSerialize annotation, but the serializer still didn't do it...
-
Ryan Izard authored
VirtualNetworkFilter unit tests complete. Found bug in Entity in devicemanger package where null doesn't mean no switch or port anymore; DatapathId.NONE and OFPort.ZERO do instead. An object will always be there (not null), but it's contents will specify whether the Entity has a switch port or not.
-
- Oct 30, 2014
-
-
Ryan Izard authored
Fixed LoadBalancer unit tests! TODO: Need to change the LB to not compose flows with strings...yuck. This will make OF1.0/OF1.1+ support integration easier.
-
Ryan Izard authored
Commented out all of EventTest.java's format-checking unit test. Why does the format need to be checked to see if it's ISO8601? Java's java.util.Date toString() returns a different format (with spaces), but I don't see what the big deal is at this point.
-
Ryan Izard authored
Fixed OFMessageDamper unit tests and removed context from within OFMessageDamper (not used with a switch write anymore).
-
Ryan Izard authored
-
- Oct 27, 2014
-
-
Ryan Izard authored
-
Ryan Izard authored
Fixed more unit tests. Found another place in TopologyInstance.java where I accidentally used shallow compares instead of deep when checking to see if two links are symmetrical.
-
- Oct 26, 2014
-
-
Ryan Izard authored
Fixed some more unit tests. Have some device manager issues maybe. Many of the remaining unit tests to fix seem to tie back to the device manager.
-
- Oct 10, 2014
-
-
Ryan Izard authored
Fixed some more unit tests. In the process, discovered some errors in more overridden equals(). Also, discovered I had inadvertently commented out an important few lines the routing module uses to set the ingress port of flows used in the route. Those lines are now ported and use MatchUtils to copy the Match properly.
-
- Sep 15, 2014
-
-
Ryan Izard authored
Changed DebugCounterServiceImpl's registerCounter(). It turns out we do need to always return a reference to an IDebugCounter. If the counter we're trying to add is already there, return the existing IDebugCounter, else if the counter is not there, add it, and return it instead.
-
- Aug 27, 2014
-
-
Ryan Izard authored
-