X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=interfacemgr%2Finterfacemgr-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Finterfacemgr%2Frenderer%2Fovs%2Fconfighelpers%2FOvsInterfaceConfigAddHelper.java;fp=interfacemgr%2Finterfacemgr-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Finterfacemgr%2Frenderer%2Fovs%2Fconfighelpers%2FOvsInterfaceConfigAddHelper.java;h=17d4cf6b090bd0130b2e8a4641bec0a112b7c2a5;hb=b85d01b8ab1f2fb41b1515da53f1be1472b14335;hp=323ac88052362a0612fb5f7ccb8ef9eae3682147;hpb=478586aec1c6363f22cc99a99cdd37fa14bd4dbe;p=vpnservice.git diff --git a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/confighelpers/OvsInterfaceConfigAddHelper.java b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/confighelpers/OvsInterfaceConfigAddHelper.java index 323ac880..17d4cf6b 100644 --- a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/confighelpers/OvsInterfaceConfigAddHelper.java +++ b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/confighelpers/OvsInterfaceConfigAddHelper.java @@ -13,6 +13,7 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.idmanager.IdManager; +import org.opendaylight.vpnservice.interfacemgr.IfmConstants; import org.opendaylight.vpnservice.interfacemgr.IfmUtil; import org.opendaylight.vpnservice.interfacemgr.commons.InterfaceManagerCommonUtils; import org.opendaylight.vpnservice.interfacemgr.commons.InterfaceMetaUtils; @@ -25,6 +26,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces. import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation; +import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150403.IdManagerService; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007._interface.child.info.InterfaceParentEntry; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007._interface.child.info.InterfaceParentEntryKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.interfacemgr.meta.rev151007._interface.child.info._interface.parent.entry.InterfaceChildEntry; @@ -51,7 +53,7 @@ public class OvsInterfaceConfigAddHelper { private static final Logger LOG = LoggerFactory.getLogger(OvsInterfaceConfigAddHelper.class); public static List> addConfiguration(DataBroker dataBroker, ParentRefs parentRefs, - Interface interfaceNew, IdManager idManager) { + Interface interfaceNew, IdManagerService idManager) { List> futures = new ArrayList<>(); IfTunnel ifTunnel = interfaceNew.getAugmentation(IfTunnel.class); @@ -60,19 +62,20 @@ public class OvsInterfaceConfigAddHelper { return futures; } - addVlanConfiguration(interfaceNew, dataBroker, futures); + addVlanConfiguration(interfaceNew, dataBroker, idManager, futures); return futures; } - private static void addVlanConfiguration(Interface interfaceNew, DataBroker dataBroker, + private static void addVlanConfiguration(Interface interfaceNew, DataBroker dataBroker, IdManagerService idManager, List> futures) { WriteTransaction t = dataBroker.newWriteOnlyTransaction(); org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface ifState = InterfaceManagerCommonUtils.getInterfaceStateFromOperDS(interfaceNew.getName(), dataBroker); + if (ifState == null) { return; } - updateStateEntry(interfaceNew, t, ifState); + updateStateEntry(interfaceNew, ifState.getIfIndex(), t, ifState); IfL2vlan ifL2vlan = interfaceNew.getAugmentation(IfL2vlan.class); if (ifL2vlan == null || ifL2vlan.getL2vlanMode() != IfL2vlan.L2vlanMode.Trunk) { @@ -120,7 +123,7 @@ public class OvsInterfaceConfigAddHelper { } private static void addTunnelConfiguration(DataBroker dataBroker, ParentRefs parentRefs, - Interface interfaceNew, IdManager idManager, + Interface interfaceNew, IdManagerService idManager, List> futures) { LOG.debug("adding tunnel configuration for {}", interfaceNew.getName()); WriteTransaction t = dataBroker.newWriteOnlyTransaction(); @@ -168,17 +171,16 @@ public class OvsInterfaceConfigAddHelper { } } - private static void updateStateEntry(Interface interfaceNew, WriteTransaction t, + private static void updateStateEntry(Interface interfaceNew, Integer ifIndex, WriteTransaction t, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface ifState) { - OperStatus operStatus; + InstanceIdentifier ifStateId = + IfmUtil.buildStateInterfaceId(interfaceNew.getName()); + InterfaceBuilder ifaceBuilder = new InterfaceBuilder(); if (!interfaceNew.isEnabled() && ifState.getOperStatus() != OperStatus.Down) { - operStatus = OperStatus.Down; - InstanceIdentifier ifStateId = - IfmUtil.buildStateInterfaceId(interfaceNew.getName()); - InterfaceBuilder ifaceBuilder = new InterfaceBuilder(); - ifaceBuilder.setOperStatus(operStatus); - ifaceBuilder.setKey(IfmUtil.getStateInterfaceKeyFromName(interfaceNew.getName())); - t.merge(LogicalDatastoreType.OPERATIONAL, ifStateId, ifaceBuilder.build()); + ifaceBuilder.setOperStatus(OperStatus.Down); } + ifaceBuilder.setIfIndex(ifIndex); + ifaceBuilder.setKey(IfmUtil.getStateInterfaceKeyFromName(interfaceNew.getName())); + t.merge(LogicalDatastoreType.OPERATIONAL, ifStateId, ifaceBuilder.build()); } }