OpenFlow Plugin

Overview

The OpenFlow Plugin project provides the following functionality:

  • OpenFlow 1.0/1.3 Implementation Project provides the implementation of the OpenFlow 1.0 and OpenFlow 1.3 specification.

  • ONF Approved extensions Project provides the implementation of following ONF OpenFlow 1.4 feature, which is approved as extensions for the OpenFlow 1.3 specification.

  • OpenFlow 1.4 Bundle Feature:

    • Nicira Extensions Project provides the implementation of the Nicira Extensions. Some of the important extensions implemented are Connection Tracking Extension and Group Add-Mod Extension

  • OpenFlow-Based Applications Project provides the following applications that user can leverage out-of-the-box in developing their application or as a direct end consumer:

    • Forwarding Rules Manager: Application provides functionality to add/remove/update flow/groups/meters.

    • LLDP Speaker: Application sends periodic LLDP packet out on each OpenFlow switch port for link discovery.

    • Topology LLDP Discovery: Application intercept the LLDP packets and discover the link information.

    • Topology Manager: Application receives the discovered links information from Topology LLDP Discovery application and stores in the topology yang model datastore.

    • Reconciliation Framework: Framework that exposes the APIs that consumer application (in-controller) can leverage to participate in the switch reconciliation process in the event of switch connection/reconnection.

    • Arbitrator Reconciliation: Application exposes the APIs that consumer application or direct user can leverage to trigger the device configuration reconciliation.

    • OpenFlow Java Library Project provides the OpenFlow Java Library that converts the data based on OpenFlow plugin data models to the OpenFlow java models before sending it down the wire to the device.

New and Modified Features

This release provides the following new and modified features:

  • Feature: OVS based NA Responder for IPv6 default gateway.

  • Feature Description: Feature implements an OVS based service that respond to Neighbor Advertisement request for IPv6 default gateway.

odl-openflowjava-protocol

  • Feature URL: JAVA Protocol

  • Feature Description: OpenFlow protocol implementation.

  • Top Level: Yes

  • User Facing: No

  • Experimental: No

  • CSIT Test: JAVA CSIT

odl-openflowplugin-app-config-pusher

  • Feature URL: Config Pusher

  • Feature Description: Pushes node configuration changes to OpenFlow device.

  • Top Level: Yes

  • User Facing: No

  • Experimental: No

  • CSIT Test: Pusher CSIT

odl-openflowplugin-app-forwardingrules-manager

  • Feature URL: Forwarding Rules Manager

  • Feature Description: Sends changes in config datastore to OpenFlow device incrementally. forwardingrules-manager can be replaced with forwardingrules-sync and vice versa.

  • Top Level: Yes

  • User Facing: No

  • Experimental: No

  • CSIT Test: FR Manager CSIT

odl-openflowplugin-app-forwardingrules-sync

  • Feature URL: Forwarding Rules Sync

  • Feature Description: Sends changes in config datastore to OpenFlow devices taking previous state in account and doing diffs between previous and new state. forwardingrules-sync can be replaced with forwardingrules-manager and vice versa.

  • Top Level: Yes

  • User Facing: No

  • Experimental: Yes

  • CSIT Test: FR Sync CSIT

odl-openflowplugin-app-table-miss-enforcer

  • Feature URL: Miss Enforcer

  • Feature Description: Sends table miss flows to OpenFlow device when it connects.

  • Top Level: Yes

  • User Facing: No

  • Experimental: No

  • CSIT Test: Enforcer CSIT

odl-openflowplugin-app-topology

  • Feature URL: App Topology

  • Feature Description: Discovers topology of connected OpenFlow devices. It a wrapper feature that loads the following features:

    • odl-openflowplugin-app-lldp-speaker

    • odl-openflowplugin-app-topology-lldp-discovery

    • odl-openflowplugin-app-topology-manager).

  • Top Level: Yes

  • User Facing: No

  • Experimental: No

  • CSIT Test: App Topology CSIT

odl-openflowplugin-app-lldp-speaker

  • Feature URL: LLDP Speaker

  • Feature Description: Send periodic LLDP packets on all the ports of all the connected OpenFlow devices.

  • Top Level: Yes

  • User Facing: No

  • Experimental: No

  • CSIT Test: LLDP Speaker CSIT

odl-openflowplugin-app-topology-lldp-discovery

  • Feature URL: LLDP Discovery

  • Feature Description: Receives the LLDP packet sent by LLDP speaker service and generate the link information and publish to the downstream services looking for link notifications.

  • Top Level: Yes

  • User Facing: No

  • Experimental: No

  • CSIT Test: LLDP Discovery CSIT

odl-openflowplugin-app-topology-manager

  • Feature URL: Topology Manager

  • Feature Description: Listen to the link added/removed notification and node connect/disconnection notification and update the link information in the OpenFlow topology.

  • Top Level: Yes

  • User Facing: No

  • Experimental: No

  • CSIT Test: Topology Manager CSIT

odl-openflowplugin-nxm-extensions

  • Feature URL: NXM Extensions

  • Feature Description: Support for OpenFlow Nicira Extensions.

  • Top Level: Yes

  • User Facing: Yes

  • Experimental: No

  • CSIT Test: NXM Extensions CSIT

odl-openflowplugin-onf-extensions

  • Feature URL: ONF Extensions

  • Feature Description: Support for Open Networking Foundation Extensions.

  • Top Level: Yes

  • User Facing: Yes

  • Experimental: Yes

  • CSIT Test: No

odl-openflowplugin-flow-services

  • Feature URL: Flow Services

  • Feature Description: Wrapper feature for standard applications.

  • Top Level: Yes

  • User Facing: Yes

  • Experimental: No

  • CSIT Test: Flow Services CSIT

odl-openflowplugin-flow-services-rest

odl-openflowplugin-flow-services-ui

  • Feature URL: Serices UI

  • Feature Description: Wrapper + REST interface + UI.

  • Top Level: Yes

  • User Facing: Yes

  • Experimental: No

  • CSIT Test: Flow Services UI CSIT

odl-openflowplugin-nsf-model

  • Feature URL: NSF Model

  • Feature Description: OpenFlowPlugin YANG models.

  • Top Level: Yes

  • User Facing: No

  • Experimental: No

  • CSIT Test: NSF CSIT

odl-openflowplugin-southbound

  • Feature URL: Southbound

  • Feature Description: Southbound API implementation.

  • Top Level: Yes

  • User Facing: No

  • Experimental: No

  • CSIT Test: Southbound CSIT

Documentation

Security Considerations

  • Do you have any external interfaces other than RESTCONF?

    • Yes, OpenFlow devices

  • Other security issues?

    N/A

Quality Assurance

Migration

  • Is it possible to migrate from the previous release? If so, how?

    • Yes, APIs from the previous release are supported in the Sodium release.

Compatibility

  • Is this release compatible with the previous release? Yes

Bugs Fixed

List of bugs fixed since the previous release.

Known Issues

  • List key known issues with workarounds:

Bug ID

Description

OPNFLWPLUG-1075

Group tx-chain closed by port event thread.

OPNFLWPLUG-1074

Table stats not available after a switch flap.

End-of-life

  • List of features/APIs that were EOLed, deprecated, and/or removed from this release.

    • None

Standards

OpenFlow versions:

Release Mechanics