[ovs-git] [openvswitch/ovs] 656208: ovn-controller: Handle Port_Binding's "requested-c...

GitHub noreply at github.com
Fri Apr 13 17:38:27 UTC 2018

  Branch: refs/heads/branch-2.9
  Home:   https://github.com/openvswitch/ovs
  Commit: 656208e735cf076a9166792cb82a46383f1ff6fe
  Author: Numan Siddique <nusiddiq at redhat.com>
  Date:   2018-04-13 (Fri, 13 Apr 2018)

  Changed paths:
    M ovn/controller/physical.c
    M tests/ovn.at

  Log Message:
  ovn-controller: Handle Port_Binding's "requested-chassis" option in physical.c

When a Logical_Switch_Port P's options is set with 'requested-chassis=hv1'
and if the user has bound this logical port to two OVS interfaces each in
different host (eg. hv1 and hv2), then ovn-controller in hv1 sets the
P's Port_Binding.chassis to hv1 which is as expected. But on hv2, ovn-controller
is adding OF flows in table 0 and table 65 for the OVS interface instead of
considering 'P' as a remote port. When another logical port bound on hv2,
pings to the logical port 'P', the packet gets delivered to hv2 OVS interface
instead of hv1 OVS interface, which is wrong.

This scenario is most likely to happen when requested-chassis option is used
by CMS during migration of a VM from one chassis to another.

This patch fixes this issue by checking the Port_Binding's "requested-chassis"
option in physical.c before adding the flows in table 0 an 65.

Reported-by: Marcin Mirecki <mmirecki at redhat.com>
Reported-at: https://mail.openvswitch.org/pipermail/ovs-dev/2018-March/345266.html
Signed-off-by: Numan Siddique <nusiddiq at redhat.com>
Tested-by: Marcin Mirecki <mmirecki at redhat.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>

More information about the git mailing list