<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Haim,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks for taking care of this. I see that Miguel has started working on the new L2 extension for Flow management</span><span lang="ZH-CN" style="font-size:11.0pt;font-family:SimSun;color:#1F497D">。</span><span lang="ZH-CN" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">
</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><a href="https://bugs.launchpad.net/neutron/+bug/1563967">https://bugs.launchpad.net/neutron/+bug/1563967</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><a href="https://review.openstack.org/#/c/320439/">https://review.openstack.org/#/c/320439/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">We may need to sync up the change with this new work too.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Cathy<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Haim Daniel [mailto:hdaniel@redhat.com]
<br>
<b>Sent:</b> Thursday, May 26, 2016 5:42 AM<br>
<b>To:</b> Ihar Hrachyshka<br>
<b>Cc:</b> Cathy Zhang; OpenStack Development Mailing List (not for usage questions); Vikram Choudhary; Sean M. Collins; Mathieu Rohon; Shaughnessy, David; Eichberger, German; Henry Fourie; Armando M.<br>
<b>Subject:</b> Re: [openstack-dev] [neutron] work on Common Flow Classifier and OVS Agent extension for Newton cycle<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi all, <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">sorry for digging up this thread. I took a liberty to submitt an RFE per Ihar's suggestion for the first step (switching to l2 agent extensions):<o:p></o:p></p>
<div>
<p class="MsoNormal"><a href="https://bugs.launchpad.net/networking-sfc/+bug/1586024">https://bugs.launchpad.net/networking-sfc/+bug/1586024</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">As a followup on that - hoping to send some wip patches in the near time.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Hope to hear your thoughts/suggestions on the $subj.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Fri, Apr 15, 2016 at 2:44 AM, Ihar Hrachyshka <<a href="mailto:ihrachys@redhat.com" target="_blank">ihrachys@redhat.com</a>> wrote:<o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Cathy Zhang <<a href="mailto:Cathy.H.Zhang@huawei.com" target="_blank">Cathy.H.Zhang@huawei.com</a>> wrote:<o:p></o:p></p>
<p class="MsoNormal"><br>
I think there is no formal spec or anything, just some emails around there.<br>
<br>
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.<br>
<br>
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.<o:p></o:p></p>
<p class="MsoNormal"><br>
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.<br>
<br>
With that in mind, I would split this job into 3 pieces:<br>
* first, adopt l2 agent extension mechanism for SFC functionality (dropping custom agent);<br>
* then, work on semantic flow management support in OVS agent API class [1];<br>
* once the feature emerges, switch SFC l2 agent extension to the new framework to manage SFC flows.<br>
<br>
I would at least prioritize the first point and target it to Newton-1. Other bullet points may take significant time to bake.<br>
<br>
[1] <a href="https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_agent_extension_api.py" target="_blank">
https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_agent_extension_api.py</a><span style="color:#888888"><br>
<br>
Ihar</span><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>