<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On 18 June 2015 at 04:30, Jay Pipes <span dir="ltr"><<a href="mailto:jaypipes@gmail.com" target="_blank">jaypipes@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On 06/17/2015 02:24 PM, Cathy Zhang wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Hi Nicolas,<br>
<br>
Thanks for your suggestion. Yes, we can add Application ID to the<br>
parameter of the flow classifier/filter. The next updated version will<br>
reflect this. Actually in its existing design, the parameter field of<br>
the flow classifier can be extended in the future to include more flow<br>
descriptors for more granular differentiation of flows.<br>
<br>
Per earlier suggestion from Isaku etc., we can also add a “context”<br>
field to the service chain API. The context field will include<br>
information such as “the encapsulation mechanism” used by the service<br>
functions in the chain, which can be NSH, VLAN, none etc. so that the<br>
Service Function Forwarder (the vSwcitch) knows whether it should act as<br>
a SFC proxy or not and if acting as a Proxy, what is the chain<br>
correlation mechanism between the Service Function Forwarder and the<br>
Service Function.<br>
<br>
Any comments/questions/suggestions?<br>
</blockquote>
<br></span>
My only comment is the same as the one I placed on the telco-wg service function chaining spec [1]. That is, I don't believe this work should be done in the Neutron API at all.<br>
<br>
Rather, I believe these concepts belong in an entirely separate (from Neutron) API endpoint and project. Of course, the reference implementation of service function chaining would make calls out to the Neutron API for "plumbing" purposes -- e.g. make me a port on this L2 network, etc.<br>
<br>
I strongly believe having a separate project for service function chaining is the right long-term strategy for this, since the SFC concepts are not the same as Neutron's. SFC isn't really about networking (in terms of connectivity). Instead, SFC is about the *orchestration* of virtual (and sometimes non-virtual) resources into a hot-reconfigurable pipeline for directing packets across the network.<br>
<br></blockquote><div><br></div><div>That's along the same lines of the comments I made on the same spec [1]. Having said that, in my opinion to realize Service Function Chaining use cases more than one API (extension) is required, because more than one component needs to be involved (from compute all the way to networking elements). And yes, you do need an orchestrator for that and I don't believe this orchestrator is Neutron. </div><div><br></div><div>The effort initiated here is an acknowledgement of this fact. The API (and following PoC's) underpinning this effort will be solely focused on the chaining/traffic classification/flow handling aspect of the broad SFC universe. Once it is done, it won't be complete, in the sense that something else needs to tell us how to create and managed the (and I quote you) hot-reconfigurable pipeline for directing packets across the network. After all, Neutron needs to understand how to direct packets across the network, and we cannot do that today (at least in a flexible and API driven manner). This is what this effort is about.</div><div><br></div><div>Perhaps we should make this clearer. There a WIP proposal defined in [2], and it is still taking shape. It would be great if you could provide your input along the way.</div><div><br></div><div>Do you think we're aligning in the thinking process?</div><div><br></div><div>Thanks,</div><div>Armando <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Thoughts?<br>
-jay<br>
<br>
[1] <a href="https://review.openstack.org/#/c/169201/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/169201/</a></blockquote><div><br></div><div>[2] <a href="https://review.openstack.org/#/c/192933/">https://review.openstack.org/#/c/192933/</a> </div></div><br></div></div>