<div dir="ltr"><div><div><div><div><br><br>On Fri, Feb 23, 2018 at 2:17 PM, Ben Pfaff &lt;<a href="mailto:blp@ovn.org">blp@ovn.org</a>&gt; wrote:<br>&gt;<br>&gt; On Tue, Feb 20, 2018 at 08:56:42AM -0800, Han Zhou wrote:<br>&gt; &gt; On Tue, Feb 20, 2018 at 8:15 AM, Ben Pfaff &lt;<a href="mailto:blp@ovn.org">blp@ovn.org</a>&gt; wrote:<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; On Mon, Feb 19, 2018 at 11:33:11AM +0100, Daniel Alvarez Sanchez wrote:<br>&gt; &gt; &gt; &gt; @Han, I can try rebase the patch if you want but that was<br>&gt; &gt; &gt; &gt; basically renaming the Address_Set table and from Ben&#39;s<br>&gt; &gt; &gt; &gt; comment, it may be better to keep the name. Not sure,<br>&gt; &gt; &gt; &gt; however, how we can proceed to address Lucas&#39; points in<br>&gt; &gt; &gt; &gt; this thread.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; I wouldn&#39;t rename the table.  It sounds like the priority should be to<br>&gt; &gt; &gt; add support for sets of port names.  I thought that there was already a<br>&gt; &gt; &gt; patch for that to be rebased, but maybe I misunderstood.<br>&gt; &gt;<br>&gt; &gt; I feel it is better to add a new table for port group explicitly, and the<br>&gt; &gt; column type can be a set of weak reference to Logical_Switch_Port.<br>&gt; &gt; The benefits are:<br>&gt; &gt; - Better data integrity: deleting a lport automatically deletes from the<br>&gt; &gt; port group<br>&gt; &gt; - No confusion about the type of records in a single table<br>&gt; &gt; - Existing Address_Set mechanism will continue to be supported without any<br>&gt; &gt; change<br>&gt; &gt; - Furthermore, the race condition issue brought up by Lucas can be solved<br>&gt; &gt; by supporting port-group in IP address match condition in ovn-controller,<br>&gt; &gt; so that all addresses in the lports are used just like how AddressSet is<br>&gt; &gt; used today. And there is no need for Neutron networking-ovn to use<br>&gt; &gt; AddressSet any more. Since addresses are deduced from lports, the ordering<br>&gt; &gt; of deleting/adding doesn&#39;t matter any more.<br>&gt; &gt;<br>&gt; &gt; How does this sound?<br>&gt;<br>&gt; Will we want sets of Logical_Router_Ports later?<br></div>At least I don&#39;t see any use case in Neutron for router ports since Security Group is only for VIF ports.<br><br></div>There is another tricky point I see while working on implementation. In Neutron, SG can be applied to ports across different networks, but in OVN lports works only on its own datapath, so in ovn-controller we need to be able to pickup related ports from the port-group when translating lflows for each datapath. I hope this is not an issue. Otherwise, Neutron plugin will have to divide the group of ports into sub-groups according to the lswitch they belong to, which would be a pain. <br><br></div>Thanks,<br></div>Han<br></div>