Floodlight v0.90

Floodlight v0.90 Release Notes

Release Date: October 2012

Overview

The 0.90 Floodlight release consists of new controller REST APIs, new applications, bug fixes, a new test framework and contribution guideline, and a completely revamped documentation wiki.

Things Added

REST APIs

Show "external" links, i.e., multi-hop links discovered by BDDP instead of LLDP packets

Due to handling error this API is not in the release package but is accessible via the Nightly Build on floodlight Download page and the floodlight master on github.

  • /wm/topology/external-links/json

Show DIRECT and TUNNEL links discovered based on LLDP packets

  • /wm/topology/links/json

one new API added to Virtual Network Filter for the OpenStack/quantum plugin to show all created virtual networks and their name, guid, gateway and hosts.

  • /quantum/v1.0/tenants/<tenant>/networks

Applications

  • CircuitPusher, a python-based REST application, uses Floodlight's REST API to setup a circuit between two IP hosts.  Includes new REST APIs.
  • Firewall, a java module application, provides controller-based stateless ACL support.

Infrastructure

  • Integration Test Suite. Floodlight-Test, an integration test framework developed by Big Switch, is released at the same time at http://github.com/floodlight/floodlight-test to allow developers to easily develop and run integration tests. From release 0.90 and on, all developer contributions are required to have accompanied unit tests, integration tests, and documentation.
  • Revamped Documentation. A new floodlight documentation wiki, still reachable via http://www.projectfloodlight.org, is announced jointly with this release. In addition to the prior wiki's materials, the new wiki has adopted a new structure for more efficient access to user and developer oriented information. New tutorials/guides are provided to assist in every stage of the usage and development process.  Specific instructions are also given in the wiki to describe a contribution process and a jira-based feature/bug tracking system.

Distributions

  • Ubuntu 12.10.  Floodlight is now available in the Ubuntu repository and can be installed via:

apt-get install floodlight

Things Removed

<none>

Bug Fixes

The release also includes bug fixes to Floodlight modules since the previous release (0.85) till Oct. 22 2012. Details of the fixes can be seen via 'git log'. The following is a brief list:

  • Fix LogMessageDoc annotation extra ','s
  • Fixed 'illegal start of expression' when using Sun JDK 6 compiler
  • Fix an issue in the REST API where setting datalayer MAC addresses in OFActions was not getting displayed properly
  • TopologyManager should not process switch removed and port down messages explicitly as they are processed by link discovery module and generate corresponding link remove
  • fix queuing of flows to be reconciled
  • fix null pointer exception with restApi.addRestletRoutable
  • Fixed the flowMod purge sequence on switch connect
  • Correct the getToS API to return the 6-bit value
  • Fix floodlight counter creation issue
  • Fix a potential null pointer exception while sending discovery messages
  • Fix: Whenever a device with new entity was created that causes a change in attachment point, deviceMoved notification should be sent after the indices are updated
  • Bug fix: when an attachment point from packet-in (newAP) does not replace the already known attachment point (oldAP), then we need to put newAP in the oldAPlist for possibly flagging it as duplicate in the future. Earlier, we were adding the already known attachment point in the list
  • Bug fix in attachment point comparison
  • Fix a posisble NPE in LinkDiscoveryManager
  • Fix inifite loop in cleanupEntities due to concurrent modification
  • Bugfix: portLinks.containsKey() must use NodePortTuple as the parameter, not long
  • Fix build.xml for when using the FloodlightTestModuleLoader when running ant tests
  • UI: Fixed spaces/tabs confusion, hopefully for the last time
  • UI: Fix topology view when you only have one switch.
  • UI: Fix typo that prevented tables from being stripey as intended.
  • Fix a failing unit test for virtual network filter
  • Fixed handling of firstRoleReplyReceived in error case
  • Fix links REST API.
  • Fix Fowarding unit test after my last change
  • Bug fix: handleLLDP() method uses incorrect port variable when getting the state of the packet-in port
  • Bug fix: prevCluster assignment is changed to reflect the L2 domain ID of the prev entity. It was possible for cur and prev to be swapped when duplicate attachment points were detected, where the prevCluster could have the wrong assignment
  • Fix: IndexedEntity.equals() wasn't symmetric
  • Fix Device Manager entity handling code
  • Fix problem in findDevice() and findDeviceByEntity()
  • Fixed couple of bugs in Device.getIPv4Addresses()
  • Fix an issue with static flow entry pusher where it was not correctly computing the wildcard
  • Fix an issue is getRoute function where an extra hop was being added on the front/end.
  • Fix a null pointer exception in creating virtual networks
  • Fix gateway handling in VirtualNetworkFilter
  • Fix UI: Display errors and dropped packets on each port
  • Fix build issues caused by the introduction of PacketFactory. Now the net.floodlightcontroller.core.test.* files will not try to be run as jUnit tests

Known Issues

See the issue tracking system for current issues

https://github.com/floodlight/floodlight/issues