[openstack-dev] [Neutron] support of NSH in networking-SFC

Tim Rozet trozet at redhat.com
Tue May 31 15:21:18 UTC 2016

Hey Paul,
ODL uses OVS as its dataplane (but is also not limited to just OVS), and ODL already supports IETF SFC today in the ODL SFC project.  My point was Neutron is no longer in scope of managing OVS, since it is managed by ODL.  I think your comments echo the 2 sides of this discussion - whether or not OVS is in scope of a protocol implementation in Neutron networking-sfc.  In my opinon it is if you consider OVS driver support, but it is not if you consider a different networking-sfc driver.

You can implement IETF NSH in the networking-sfc API/DB Model, without caring if it is actually supported in OVS (when using ODL as a driver) because all networking-sfc cares about should be if it's driver correctly supports SFC.  To that end, if you are using ODL as your SFC driver, then absolutely you should verify it is an IETF SFC compliant API/model.  However, outside of that scope, it is not networking-sfc's responsibility to care what ODL is using as it's dataplane backend or for that matter it's version of OVS.  It is now up to ODL to manage that for networking-sfc, and networking-sfc just needs to ensure it can talk to ODL.  

I think this is a pragmatic way to go, since networking-sfc doesn't yet support an ODL driver and we are in the process of adding one.  We could leave the networking-sfc OVS driver alone, add support for NSH to the networking-sfc plugin, and then only allow API calls that use NSH to work if ODL networking driver is the backend.  That way we allow for some experimental NSH support in networking-sfc without officially supporting it in the OVS driver until it is officially supported in OVS.

Tim Rozet
Red Hat SDN Team

----- Original Message -----
From: "Paul Carver" <pcarver at paulcarver.us>
To: "OpenStack Development Mailing List (not for usage questions)" <openstack-dev at lists.openstack.org>
Sent: Monday, May 30, 2016 10:12:34 PM
Subject: Re: [openstack-dev] [Neutron] support of NSH in networking-SFC

On 5/25/2016 13:24, Tim Rozet wrote:
> In my opinion, it is a better approach to break this down into plugin vs driver support.  There should be no problem adding support into networking-sfc plugin for NSH today.  The OVS driver however, depends on OVS as the dataplane - which I can see a solid argument for only supporting an official version with a non-NSH solution.  The plugin side should have no dependency on OVS.  Therefore if we add NSH SFC support to an ODL driver in networking-odl, and use that as our networking-sfc driver, the argument about OVS goes away (since neutron/networking-sfc is totally unaware of the dataplane at this point).  We would just need to ensure that API calls to networking-sfc specifying NSH port pairs returned error if the enabled driver was OVS (until official OVS with NSH support is released).

Does ODL have a dataplane? I thought it used OvS. Is the ODL project 
supporting its own fork of OvS that has NSH support or is ODL expecting 
that the user will patch OvS themself?

I don't know the details of why OvS hasn't added NSH support so I can't 
judge the validity of the concerns, but one way or another there has to 
be a production-quality dataplane for networking-sfc to front-end.

If ODL has forked OvS or in some other manner is supporting its own NSH 
capable dataplane then it's reasonable to consider that the ODL driver 
could be the first networking-sfc driver to support NSH. However, we 
still need to make sure that the API is an abstraction, not 
implementation specific.

But if ODL is not supporting its own NSH capable dataplane, instead 
expecting the user to run a patched OvS that doesn't have upstream 
acceptance then I think we would be building a rickety tower by piling 
networking-sfc on top of that unstable base.

OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe

More information about the OpenStack-dev mailing list