Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

What is SFC

Service Function Chaining (SFC): When a data stream passes through an ingress or egress point in a physical or virtual network device, using service chain it is possible to program exactly which sequence of actions the data stream is subjected to. This ordered action by set of service functions on the data stream is called a service function chain

Introduction 

This project is part of ONOSFW for OPNFV. The SFC creation is primarily driven by Openstack Neutron. The SFC component in ONOS implements the SFC creation requests from Openstack Neutron. All the required information for creating a service chain are supplied by Neutron using REST based APIs. Using these information, the SFC component prepares the flow rules as per the IETF NSH header and downloads the flow rules into OVS (OVS version 2.5.90 with official NSH Patch - https://github.com/yyang13/ovs_nsh_patches)

Architecture

SFC is implemented as a bundle within the VTN application in ONOSFW.

Refer to ONOSFW architecture.

What we do

  1. SFC is implemented as a bundle within the VTN application in ONOSFW
  2. The processing of REST based APIs from Neutron are implemented in ONOS as part of SFC project
  3. REST APIs such as create port-pair(SF), create port-pair-group(SF group), create port-chain, create flow classifier rules are processed in ONOS
  4. SFC resources such as SFs, SF groups, flow classifier rules are stored in ONOS for processing the create chain request
  5. Interaction with VTN Resouce manager, VTNManager for various API
  6. Implement the logic for service chain creation and flow rule download to classifier and SFFs
  7. Extend the ONOS-Loxi for NSH header information download to OVS

Goals

Emu Release

Implement basic foundation for SFC

Integrate with Openstack Neutron and service the REST based APIs

Interact with VTN Resource Manager and VTN Manager. Store the SFC resources. Define service chain logic in SFC.

Basic flow rule download to classifier and SFF.

Introduce NSH header in the flows for service plane logic in SFC

Falcon Release

Implement controller based load balancing for SFC

Implement load balancing algorithm based on load at each service function

Implement code to download classifier and forwarder rules to OVS

Golden Eye Release

Implement tie break logic for port chain

Modify the chain by adding/deleting a service function

Support proxy for NSH unaware service function

Define rest API to display resources in the chain

Display service topology in the ONOS web UI