When removing vport also remove the vxlan tunnel port. Signed-off-by: Sorin Vinturis <svintu...@cloudbasesolutions.com> Reported-by: Sorin Vinturis <svintu...@cloudbasesolutions.com> Reported-at: https://github.com/openvswitch/ovs-issues/issues/94 Acked-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com> --- v2: Added ack and rebased. --- datapath-windows/ovsext/Vport.c | 6 ++++++ datapath-windows/ovsext/Vxlan.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c index 4315464..d692a6d 100644 --- a/datapath-windows/ovsext/Vport.c +++ b/datapath-windows/ovsext/Vport.c @@ -2531,6 +2531,12 @@ OvsTunnelVportPendingRemove(PVOID context, RemoveEntryList(&vport->ovsNameLink); RemoveEntryList(&vport->portNoLink); RemoveEntryList(&vport->tunnelVportLink); + + if (vport->priv) { + OvsFreeMemoryWithTag(vport->priv, OVS_VXLAN_POOL_TAG); + vport->priv = NULL; + } + OvsFreeMemoryWithTag(vport, OVS_VPORT_POOL_TAG); NdisReleaseRWLock(switchContext->dispatchLock, &lockState); diff --git a/datapath-windows/ovsext/Vxlan.c b/datapath-windows/ovsext/Vxlan.c index f43805a..b84c1d0 100644 --- a/datapath-windows/ovsext/Vxlan.c +++ b/datapath-windows/ovsext/Vxlan.c @@ -154,11 +154,11 @@ OvsCleanupVxlanTunnel(PIRP irp, vxlanPort->filterID, callback, tunnelContext); + } else { + OvsFreeMemoryWithTag(vport->priv, OVS_VXLAN_POOL_TAG); + vport->priv = NULL; } - OvsFreeMemoryWithTag(vport->priv, OVS_VXLAN_POOL_TAG); - vport->priv = NULL; - return status; } -- 1.9.0.msysgit.0 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev