Create VLAN trunk once for multiple VLAN networks 43/44143/1
authorTali <tali.ben-meir@hpe.com>
Wed, 17 Aug 2016 03:58:12 +0000 (06:58 +0300)
committerSam Hague <shague@redhat.com>
Wed, 17 Aug 2016 12:21:28 +0000 (12:21 +0000)
Change-Id: I1d4134ddcebffaf6ded35abce41c840d28ea2a77
Signed-off-by: Tali <tali.ben-meir@hpe.com>
vpnservice/elanmanager/elanmanager-impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java

index fa8b5fe4da333d61e62c76c6e31b169ca86c2b98..9b5707d85366f13f335be36bf443f8aefff01c58 100644 (file)
@@ -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);
             }