[openstack-dev] [neutron] work on Common Flow Classifier and OVS Agent extension for Newton cycle

Cathy Zhang Cathy.H.Zhang at huawei.com
Fri Apr 15 21:10:34 UTC 2016


Hi Ihar,

My replies are inline.

Thanks,
Cathy

-----Original Message-----
From: Ihar Hrachyshka [mailto:ihrachys at redhat.com] 
Sent: Thursday, April 14, 2016 4:45 PM
To: Cathy Zhang
Cc: OpenStack Development Mailing List (not for usage questions); Vikram Choudhary; Sean M. Collins; Haim Daniel; Mathieu Rohon; Shaughnessy, David; Eichberger, German; Henry Fourie; Armando M.
Subject: Re: [openstack-dev] [neutron] work on Common Flow Classifier and OVS Agent extension for Newton cycle

Cathy Zhang <Cathy.H.Zhang at huawei.com> wrote:

>
> I think there is no formal spec or anything, just some emails around there.
>
> That said, I don’t follow why it’s a requirement for SFC to switch to 
> l2 agent extension mechanism. Even today, with SFC maintaining its own 
> agent, there are no clear guarantees for flow priorities that would 
> avoid all possible conflicts.
>
> Cathy> There is no requirement for SFC to switch. My understanding is
> that current L2 agent extension does not solve the conflicting entry 
> issue if two features inject the same priority table entry. I think 
> this new L2 agent effort is try to come up with a mechanism to resolve 
> this issue. Of course if each feature( SFC or Qos) uses its own agent, 
> then there is no coordination and no way to avoid conflicts.

Sorry, I probably used misleading wording. I meant, why do we consider the semantic flow management support in l2 agent extension framework a
*prerequisite* for SFC to switch to l2 agent extensions? The existing framework should already allow SFC to achieve what you have in the subproject tree implemented as a separate agent (essentially a fork of OVS agent). It will also set SFC to use standard extension mechanisms instead of hacky inheritance from OVS agent classes. So even without the strict semantic flow management, there is benefit for the subproject.

Cathy> Yes, the existing extension mechanism with Bridge wrapper and cookie is a step forward for subprojects.  

With that in mind, I would split this job into 3 pieces:
* first, adopt l2 agent extension mechanism for SFC functionality (dropping custom agent);
* then, work on semantic flow management support in OVS agent API class [1];
* once the feature emerges, switch SFC l2 agent extension to the new framework to manage SFC flows.

I would at least prioritize the first point and target it to Newton-1.  
Other bullet points may take significant time to bake.

Cathy> Good suggestion. We can do this in steps. Previously we were thinking about waiting until strict flow management is supported in the extension. 

Thanks,
Cathy

[1]
https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_agent_extension_api.py

Ihar


More information about the OpenStack-dev mailing list