[ovs-dev] [PATCH ovn v10 3/8] ovn-controller: I-P for datapath binding

Dumitru Ceara dceara at redhat.com
Wed Jun 10 16:50:11 UTC 2020


On 6/10/20 12:41 PM, Numan Siddique wrote:
> 
> 
> On Wed, Jun 10, 2020 at 3:31 PM Numan Siddique <numans at ovn.org
> <mailto:numans at ovn.org>> wrote:
> 
> 
> 
>     On Wed, Jun 10, 2020 at 3:14 PM Dumitru Ceara <dceara at redhat.com
>     <mailto:dceara at redhat.com>> wrote:
> 
>         On 6/9/20 7:10 PM, Numan Siddique wrote:
>         >
>         >
>         > On Mon, Jun 8, 2020 at 9:39 PM Dumitru Ceara
>         <dceara at redhat.com <mailto:dceara at redhat.com>
>         > <mailto:dceara at redhat.com <mailto:dceara at redhat.com>>> wrote:
>         >
>         >     On 6/8/20 3:50 PM, numans at ovn.org <mailto:numans at ovn.org>
>         <mailto:numans at ovn.org <mailto:numans at ovn.org>> wrote:
>         >     > From: Numan Siddique <numans at ovn.org
>         <mailto:numans at ovn.org> <mailto:numans at ovn.org
>         <mailto:numans at ovn.org>>>
>         >     >
>         >     > This patch adds partial support of incremental processing of
>         >     datapath binding.
>         >     > If a datapath is deleted, then a full recompute is
>         triggered if that
>         >     > datapath is present in the 'local_datapaths' hmap of
>         runtime data.
>         >     >
>         >     > Acked-by: Mark Michelson <mmichels at redhat.com
>         <mailto:mmichels at redhat.com>
>         >     <mailto:mmichels at redhat.com <mailto:mmichels at redhat.com>>>
>         >     > Acked-by: Han Zhou <hzhou at ovn.org <mailto:hzhou at ovn.org>
>         <mailto:hzhou at ovn.org <mailto:hzhou at ovn.org>>>
>         >     > Signed-off-by: Numan Siddique <numans at ovn.org
>         <mailto:numans at ovn.org> <mailto:numans at ovn.org
>         <mailto:numans at ovn.org>>>
>         >
>         >     Looks good to me.
>         >
>         >     Acked-by: Dumitru Ceara <dceara at redhat.com
>         <mailto:dceara at redhat.com> <mailto:dceara at redhat.com
>         <mailto:dceara at redhat.com>>>
>         >
>         >
>         >
>         > Thanks Dumitru, Han and Mark  for the reviews. 
>         >
>         > I applied the first 3 patches of this series (addressing the
>         review
>         > comments) to master and also applied to branch-20.06.
>         >
>         > @Han - If you have any additional comments on these patches
>         please let
>         > me know. I'll have follow up patches.
>         >
>         > I'll update v11 of this series addressing the review comments
>         from Dumitru.
>         >
>         > Thanks
>         > Numan
>         >
> 
>         Hi Numan,
> 
>         I spotted a bug introduced by these 3 patches. The following
>         scenario is
>         now broken:
> 
>         ovn-nbctl lr-add rtr
>         ovn-nbctl lrp-add rtr rtr-ls 00:00:00:00:01:00 42.42.42.1/24
>         <http://42.42.42.1/24>
>         ovn-nbctl ls-add ls
>         ovn-nbctl lsp-add ls ls-rtr
>         ovn-nbctl lsp-set-addresses ls-rtr 00:00:00:00:01:00
>         ovn-nbctl lsp-set-type ls-rtr router
>         ovn-nbctl lsp-set-options ls-rtr router-port=rtr-ls
>         ovn-nbctl lsp-add ls vm1
>         ovn-nbctl lsp-set-addresses vm1 00:00:00:00:00:01
> 
>         ovn-nbctl lsp-add ls vm2
>         ovn-nbctl lsp-set-addresses vm2 00:00:00:00:00:02
> 
>         ip netns add vm1
>         ovs-vsctl add-port br-int vm1 -- set interface vm1 type=internal
>         ip link set vm1 netns vm1
>         ip netns exec vm1 ip link set vm1 address 00:00:00:00:00:01
>         ip netns exec vm1 ip addr add 42.42.42.2/24
>         <http://42.42.42.2/24> dev vm1
>         ip netns exec vm1 ip link set vm1 up
>         ovs-vsctl set Interface vm1 external_ids:iface-id=vm1
> 
>         ip netns add vm2
>         ovs-vsctl add-port br-int vm2 -- set interface vm2 type=internal
>         ip link set vm2 netns vm2
>         ip netns exec vm2 ip link set vm2 address 00:00:00:00:00:02
>         ip netns exec vm2 ip addr add 42.42.42.3/24
>         <http://42.42.42.3/24> dev vm2
>         ip netns exec vm2 ip link set vm2 up
>         ovs-vsctl set Interface vm2 external_ids:iface-id=vm2
> 
>         # Works
>         ip netns exec vm1 ping 42.42.42.3 -c 1
> 
>         # Restart ovn-controller
>         ovn-ctl restart_controller
> 
>         # Doesn't work
>         ip netns exec vm1 ping 42.42.42.3 -c 1
> 
>         # Delete port bindings
>         ovn-sbctl destroy port_binding vm1
>         ovn-sbctl destroy port_binding vm2
> 
>         # Works
>         ip netns exec vm1 ping 42.42.42.3 -c 1
> 
> 
>     Oops. Thanks for reporting this Dumitru.
> 
>     So when we restart, a full recompute should have been triggered.
>     Looks like full recompute is not  triggered, after the IDL contents
>     are received.
> 
> 
> As we discussed offline and the reason you pointed out that
> binding_handle_port_binding_changes()
> is not returning true when it processes for the port binding initial
> dump it received and hence not
> calling update_sb_monitors().
>  
> The issue is not seen with the v11 of the I-P series because it does
> return true. And also the issue is not
> seen with ovn-monitor-all is set.
> 
> But of course we should first fix this issue. Thanks for looking into it.
> 

Hi Numan,

I sent a patch to fix this issue:

https://patchwork.ozlabs.org/project/openvswitch/list/?series=182582

Once/if accepted this should also go to branch-20.06.

Regards,
Dumitru

> Thanks
> Numan
> 
> 
>     Thanks
>     Numan
> 
> 
>         Regards,
>         Dumitru
> 
>         _______________________________________________
>         dev mailing list
>         dev at openvswitch.org <mailto:dev at openvswitch.org>
>         https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> 



More information about the dev mailing list