From: Tali Date: Wed, 17 Aug 2016 03:58:12 +0000 (+0300) Subject: Create VLAN trunk once for multiple VLAN networks X-Git-Tag: release/boron~84^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F43%2F44143%2F1;p=netvirt.git Create VLAN trunk once for multiple VLAN networks Change-Id: I1d4134ddcebffaf6ded35abce41c840d28ea2a77 Signed-off-by: Tali --- diff --git a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java index fa8b5fe4da..9b5707d853 100644 --- a/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java +++ b/vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java @@ -611,9 +611,12 @@ public class ElanServiceProvider implements IElanService { Long segmentationId = elanInstance.getSegmentationId(); interfaceName = parentRef + IfmConstants.OF_URI_SEPARATOR + segmentationId; String trunkName = parentRef + IfmConstants.OF_URI_SEPARATOR + "trunk"; - interfaceManager.createVLANInterface(trunkName, parentRef, null, null, null, - IfL2vlan.L2vlanMode.Trunk, true); - + // trunk interface may have been created by other vlan network + Interface trunkInterface = ElanUtils.getInterfaceFromConfigDS(trunkName, broker); + if (trunkInterface == null) { + interfaceManager.createVLANInterface(trunkName, parentRef, null, null, null, + IfL2vlan.L2vlanMode.Trunk, true); + } interfaceManager.createVLANInterface(interfaceName, trunkName, null, segmentationId.intValue(), null, IfL2vlan.L2vlanMode.TrunkMember, true); }