Skip to content
Snippets Groups Projects
  1. Oct 07, 2015
    • Ryan Izard's avatar
      Wow. Not sure how that passed. Should have run ant (outside eclipse) -- would... · 6df0ca7a
      Ryan Izard authored
      Wow. Not sure how that passed. Should have run ant (outside eclipse) -- would have given the compile error.
      6df0ca7a
    • Ryan Izard's avatar
      Added ability to disable ARP flows in Forwarding. Many hardware switches... · 2e5d773a
      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.
      2e5d773a
    • Ryan Izard's avatar
      Fixed (really this time) the last bug WRT link latencies. This actually wasn't... · 1aa05bbb
      Ryan Izard authored
      Fixed (really this time) the last bug WRT link latencies. This actually wasn't even a latency bug, but it existed beforehand. We only dispatch an update when checking for link timeouts if the link's unicast time just expired and we still have a valid multicast time. Otherwise, we remove the link if both unicast and multicast times are expired. Originally, we were dispatching updates when multicast times were expiring and unicast times were still valid. Such a case results in the link being in the unicast state before and after the multicast expiration; thus, no link update should be dispatched.
      1aa05bbb
    • Ryan Izard's avatar
      Topology manager now purges any existing link in its data structures before it... · 211b9774
      Ryan Izard authored
      Topology manager now purges any existing link in its data structures before it tries to add a new link (no-op if one exists). This needs to be done in order to update latencies. Also changed some log levels.
      211b9774
  2. Oct 06, 2015
    • Ryan Izard's avatar
      Hooray! Fixed (fingers crossed) the last couple bugs WRT LLDP vs BDDP timing.... · e977a1d8
      Ryan Izard authored
      Hooray! Fixed (fingers crossed) the last couple bugs WRT LLDP vs BDDP timing. Link discovery reaches a steady state now and latency updates do not impact the type of link (unicast/multicast) being reported to the topology manager.
      e977a1d8
    • Ryan Izard's avatar
    • Ryan Izard's avatar
      Fix potential divide by zero. Increased latency parameters to threshold=0.50,... · 516e88bb
      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.
      516e88bb
    • Ryan Izard's avatar
      Change logging. Update default history size to 10. Base update decision on... · af750c25
      Ryan Izard authored
      Change logging. Update default history size to 10. Base update decision on previous link value, not current observed.
      af750c25
    • Ryan Izard's avatar
      Add latency to trace log in updates · 3ca1f648
      Ryan Izard authored
      3ca1f648
    • Ryan Izard's avatar
      Implemented a rolling link latency history for switch links. Each link will... · 5f511c16
      Ryan Izard authored
      Implemented a rolling link latency history for switch links. Each link will contain a single latency value. When a link update occurs, the latency computed from the LLDP packet is added to the exisiting link's LinkInfo. LinkInfo maintains a latency history for link L. The 1-to-1 mapping between Link and LinkInfo still exists. LinkInfo will provide a new latency based on the rolling window size and update threshold -- configurable through floodlightdefault.properties but default to 5 latency data points and 30%, respectively. As an example, the 0th latency value is used as the intial latency for a particular (new) link. Each LLDP update for this link will contain a latency. This latency is added to the LinkInfo from updates 0 - 3. Update 4 will make 5 historical latency data points. This will cause an average to be computed of these 5 data points. If the average is +/-30% of the latency recorded in the 0th latency, the link latency will be updated. For exach, successive latency recorded, the same average will be computed. If the new average is not +/-30% of the old recorded value, an update will not occcur. Every latency 'replacement/update' will cause a new topology to be computed in the topology manager. Keeping a rolling average takes into account current network conditions, but also helps to average out outliers and keeps topology updates to a minimum.
      5f511c16
  3. Oct 05, 2015
    • Ryan Izard's avatar
      Set link discovery logging to info. · f1d017e0
      Ryan Izard authored
      f1d017e0
    • Ryan Izard's avatar
      Integrated new topology code and updated unit tests to a passing state. I'd be... · a3447938
      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.
      a3447938
    • Ryan Izard's avatar
      src/main · 99aeda78
      Ryan Izard authored
      99aeda78
  4. Sep 28, 2015
  5. Sep 21, 2015
  6. Sep 11, 2015
  7. Sep 04, 2015
  8. Sep 03, 2015
  9. Aug 31, 2015
  10. Aug 21, 2015
  11. Aug 20, 2015
  12. Aug 18, 2015
  13. Aug 15, 2015
    • Ryan Izard's avatar
      Lots of goodies here. Apologies for the largish commit. Most files are just... · 774b1ff0
      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 :-).
      774b1ff0
  14. Aug 13, 2015
  15. Aug 12, 2015
Loading