<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>Ryan,</div>
<div><br>
</div>
<div>Thanks for getting back to me and pointing me in a more OVS like direction. What you say makes sense, let me hack something together. I have been a little distracted getting some use cases together. The other area is how to better map the flow-classifier
 I have been thinking about it a little, but I will leave it till after we get the chains done.</div>
<div><br>
</div>
<div>Your load-balancing comment was very interesting – I saw some patches for load-balancing a few months ago but nothing since. It would be great if we could align with load-balancing as that would make a really powerful solution.</div>
<div><br>
</div>
<div>Regards</div>
<div><br>
</div>
<div>John</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Ryan Moats <<a href="mailto:rmoats@us.ibm.com">rmoats@us.ibm.com</a>><br>
<span style="font-weight:bold">Date: </span>Monday, May 23, 2016 at 9:06 PM<br>
<span style="font-weight:bold">To: </span>John McDowall <<a href="mailto:jmcdowall@paloaltonetworks.com">jmcdowall@paloaltonetworks.com</a>><br>
<span style="font-weight:bold">Cc: </span>"<a href="mailto:discuss@openvswitch.org">discuss@openvswitch.org</a>" <<a href="mailto:discuss@openvswitch.org">discuss@openvswitch.org</a>>, OpenStack Development Mailing List <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [OVN] [networking-ovn] [networking-sfc] SFC and OVN<br>
</div>
<div><br>
</div>
<div>
<div>
<p><tt>John McDowall <<a href="mailto:jmcdowall@paloaltonetworks.com">jmcdowall@paloaltonetworks.com</a>> wrote on 05/18/2016 03:55:14 PM:<br>
<br>
> From: John McDowall <<a href="mailto:jmcdowall@paloaltonetworks.com">jmcdowall@paloaltonetworks.com</a>></tt><br>
<tt>> To: Ryan Moats/Omaha/IBM@IBMUS</tt><br>
<tt>> Cc: "<a href="mailto:discuss@openvswitch.org">discuss@openvswitch.org</a>" <<a href="mailto:discuss@openvswitch.org">discuss@openvswitch.org</a>>, "OpenStack
<br>
> Development Mailing List" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>></tt><br>
<tt>> Date: 05/18/2016 03:55 PM</tt><br>
<tt>> Subject: Re: [OVN] [networking-ovn] [networking-sfc] SFC and OVN</tt><br>
<tt>> <br>
> Ryan,</tt><br>
<tt>> <br>
> OK all three repos and now aligned with their masters. I have done <br>
> some simple level system tests and I can steer traffic to a single <br>
> VNF.  Note: some additional changes to networking-sfc to catch-up <br>
> with their changes.</tt><br>
<tt>> <br>
> <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_doonhammer_networking-2Dsfc&d=CwMFAg&c=V9IgWpI5PvzTw83UyHGVSoW3Uc1MFWe5J8PTfkrzVSo&r=vZ6VUDaavDpfOdPQrz1ED54jEjvAE36A8TVJroVlrOQ&m=X45gSToRX1EVBP46eiE4I1RVkHHGNs1au5VI5t81C28&s=4rDDNTnH__xTc1IzAFZc8Uj2MT4ptJqbknR5Y48CFVQ&e=">
https://github.com/doonhammer/networking-sfc</a> </tt><br>
<tt>> <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_doonhammer_networking-2Dovn&d=CwMFAg&c=V9IgWpI5PvzTw83UyHGVSoW3Uc1MFWe5J8PTfkrzVSo&r=vZ6VUDaavDpfOdPQrz1ED54jEjvAE36A8TVJroVlrOQ&m=X45gSToRX1EVBP46eiE4I1RVkHHGNs1au5VI5t81C28&s=VMEOCnJuSfOXTVqu9kDOICcoXk6Ch-kH3CA2XJh6uug&e=">
https://github.com/doonhammer/networking-ovn</a></tt><br>
<tt>> <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_doonhammer_ovs&d=CwMFAg&c=V9IgWpI5PvzTw83UyHGVSoW3Uc1MFWe5J8PTfkrzVSo&r=vZ6VUDaavDpfOdPQrz1ED54jEjvAE36A8TVJroVlrOQ&m=X45gSToRX1EVBP46eiE4I1RVkHHGNs1au5VI5t81C28&s=gTurnZdJqSewDIP5xIznZdOvsX53iWIjKTsu0gDyCYM&e=">
https://github.com/doonhammer/ovs</a> </tt><br>
<tt>> <br>
> The next tasks I see are:</tt><br>
<tt>> <br>
> 1. Decouple networking-sfc and networking-ovn. I am thinking that I <br>
> will pass a nested port-chain dictionary holding port-pairs/port-<br>
> pair-groups/flow-classifiers from networking-sfc to networking-ovn.</tt><br>
<tt>> 2. Align the interface between networking-ovn and ovs/ovn to match <br>
> the nested dictionary in 1.</tt><br>
<tt>> 3. Modify the ovn-nb schema and ovn-northd.c to march the port-chain model.</tt><br>
<tt>> 4. Add ability to support chain of port-pairs</tt><br>
<tt>> 5. Think about flow-classifiers and how best to map them, today I <br>
> just map the logical-port and ignore everything else.</tt><br>
<tt>> <br>
> Any other suggestions/feedback?</tt><br>
<tt>> <br>
> Regards</tt><br>
<tt>> <br>
> John</tt><br>
<br>
<tt>John-</tt><br>
<br>
<tt>(Sorry for sending this twice, but I forgot that text/html is not liked</tt><br>
<tt>by the mailing lists ...)</tt><br>
<tt> </tt><br>
<tt>My apologies for not answering this sooner - I was giving a two day</tt><br>
<tt>training on Tues/Wed last week and came back to my son graduating</tt><br>
<tt>from HS the next day, so things have been a bit of a whirlwind here.</tt><br>
<tt> </tt><br>
<tt>Looking at the github repos, I like the idea of passing a dictionary</tt><br>
<tt>from networking-sfc to networking-ovn. The flow classifiers should</tt><br>
<tt>be relatively straightforward to map to ovs match rules (famous last</tt><br>
<tt>words)...</tt><br>
<tt> </tt><br>
<tt>I've probably missed an orbit here, but in the ovn-northd implementation,</tt><br>
<tt>I was expecting to find service chains in the egress and router pipelines</tt><br>
<tt>in addition to the ingress pipeline (see below for why I think a service</tt><br>
<tt>chain stage in the egress pipeline makes sense ...)</tt><br>
<tt> </tt><br>
<tt>Also, in the ovn-northd implementation, I'm a little disturbed to see the</tt><br>
<tt>ingress side of the service chain sending packets to output ports - I</tt><br>
<tt>think that a more scalable (and more "ovs-like" approach) would be to</tt><br>
<tt>match the egress side of a port pair in the chaining stage of the</tt><br>
<tt>ingress pipeline, with an action that  set the input port register.</tt><br>
<tt>Then the egress pipeline would have a chaining stage where the output</tt><br>
<tt>port register would be set based on the ingress port of the next port</tt><br>
<tt>pair in the chain and the packet being punted to the proper output port</tt><br>
<tt>in the last table.  That should automagically build your function chain</tt><br>
<tt>and provide the basis for bucketizing multiple ingress ports for the</tt><br>
<tt>next port group to support hash based load balancing.</tt><br>
<tt> </tt><br>
<tt>Does that make sense?</tt><br>
<tt> </tt><br>
<tt>Ryan</tt><br>
</p>
</div>
</div>
</span>
</body>
</html>