[ovs-dev] [RFC PATCH 0/5] OVN: SFC Implementation

John McDowall jmcdowall at paloaltonetworks.com
Tue Dec 27 22:19:13 UTC 2016


This patchset is the first round at having Service Function Chaining
functionality through OVN. The implementation is done entirely
on the northbound side of OVN. It is a bump on the wire implementation,
so no attempt is being made in keeping state while packets visit each
hop of the chain. ACLs are used as the classifiers, with the augmentation
of action SFC, as well as option column.

The current implementation of traffic redirection to the service chain
is implemented by adding an additional action 'sfc' to the ACL stage. This
overloads the ACL stage and this might not be the best long term approach.
Guidence on whether this is "good enough" for now would be appreciated.

How to leverage load balancing is also an open issue. The current LB solution
in OVN is L3 based. Suggestions on how to implement LB at L2 for SFC would  
also be appreciated.

This is not yet ready to be merged, as it lacks unit tests and a rigorous
code review. Nevertheless, it works fine if you take into account a
number of limitations that include:

* missing load balancer integration;
* no ipv6 support;
* chain spanning logical switches (not supported);
* bidirectional chains (not implemented);
* other suggestions?

This is the code that was used for SFC demo and talk at OVSCon 2016.

John McDowall (5):
  Added documentation for SFC ACL Action
  Added new stage for SFC and modified ACL stage to include sfc action
  Included architecture of SFC in documentation
  Extended schema to include port-chain, port-pair-groups, port-pairs
    and added ACL SFC action
  added code and documentation to extend ovn-nbctl for port-chain,
    port-pair-groups, port-pairs and ACL SFC action

 ovn/northd/ovn-northd.8.xml |    5 +
 ovn/northd/ovn-northd.c     |  315 ++++++-
 ovn/ovn-architecture.7.xml  |  185 +++++
 ovn/ovn-nb.ovsschema        |   64 +-
 ovn/ovn-nb.xml              |  150 +++-
 ovn/utilities/ovn-nbctl.c   | 1935 +++++++++++++++++++++++++++++++++++++++----
 6 files changed, 2489 insertions(+), 165 deletions(-)

-- 
2.11.0



More information about the dev mailing list