[ovs-git] [openvswitch/ovs] 77c261: datapath-windows: Code refactoring and fixes in Vp...

GitHub noreply at github.com
Wed Jul 1 21:14:13 UTC 2015


  Branch: refs/heads/branch-2.4
  Home:   https://github.com/openvswitch/ovs
  Commit: 77c26185559f2cfdef95efc3b5d203382ee7b969
      https://github.com/openvswitch/ovs/commit/77c26185559f2cfdef95efc3b5d203382ee7b969
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2015-07-01 (Wed, 01 Jul 2015)

  Changed paths:
    M datapath-windows/ovsext/Vport.c

  Log Message:
  -----------
  datapath-windows: Code refactoring and fixes in Vport.c

In this patch, there a couple of fixes and some code refactoring:
1. During deletion of "internal" and "external" in
   OvsRemoveAndDeleteVport(), we need to check if 'hvDelete' is TRUE before
   updating the data structures. Added code comments explaining the
   same.

2. Added a OvsRemoveTunnelPort() that gets called from
   OvsRemoveAndDeletePort() for the special processing for tunnel ports.

3. Folded in OvsCleanupVportCommon() back into OvsRemoveAndDeletePort(),
   since we only need a part of the functionality of
   OvsCleanupVportCommon() to be called from
   OvsTunnelVportPendingUninit(), and not the entire function.

4. Renamed OvsTunnelVportPendingUninit() to
   OvsTunnelVportPendingRemove() since it is basically a "pending" version
   of OvsVportTunnelRemove().

Validation:
- Add external port from Hyper-V, add external port from OVS, remove
external port from OVS, remove external port from Hyper-V. No ASSERT
hit.
- Add external port from Hyper-V, add external port from OVS, remove
external port from Hyper-V, remove external port from OVS. No ASSERT
hit.
- Vxlan tunnel port creation/deletion
- Stt tunnel port creation/deletion
- Ping on Vxlan/Stt tunnels
- Ovs Extension load/unload. There's an unrelated issue I found that is
reported in: https://github.com/openvswitch/ovs-issues/issues/86

Signed-off-by: Nithin Raju <nithin at vmware.com>V
Reported-at: https://github.com/openvswitch/ovs-issues/issues/79
Reported-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Reported-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


  Commit: b21f6c9b112d87bd921d8ad8d2be5e1ba007c24b
      https://github.com/openvswitch/ovs/commit/b21f6c9b112d87bd921d8ad8d2be5e1ba007c24b
  Author: Nithin Raju <nithin at vmware.com>
  Date:   2015-07-01 (Wed, 01 Jul 2015)

  Changed paths:
    M datapath-windows/ovsext/Vport.c
    M datapath-windows/ovsext/Vport.h

  Log Message:
  -----------
  datapath-windows: Rename 'vport->isPresentOnHv' to 'isAbsentOnHv'

Looking at the code, the flag 'vport->isPresentOnHv' is actually
indicating if the vport is present on the Hyper-V switch or not, but the
logic seems to be inverse. 'isPresentOnHv == TRUE' indicates that the
vport is not present on the Hyper-V switch. Eg. VXLAN port, would have
isPresentOnHv == TRUE.

In this patch, we rename the variable to reflect its meaning.

vport->isAbsentOnHv is TRUE iff:
- vport is bridge internal port
- vport is tunnel port
- vport was added from Hyper-V and also from OVS, but got deleted from
Hyper-V

Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


Compare: https://github.com/openvswitch/ovs/compare/b318b2d4c164...b21f6c9b112d


More information about the git mailing list