Class ElanUtils
- java.lang.Object
- 
- org.opendaylight.netvirt.elan.utils.ElanUtils
 
- 
 @Singleton public class ElanUtils extends java.lang.Object
- 
- 
Field SummaryFields Modifier and Type Field Description static com.google.common.util.concurrent.FutureCallback<org.opendaylight.mdsal.common.api.CommitInfo>DEFAULT_CALLBACK
 - 
Constructor SummaryConstructors Constructor Description ElanUtils(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService interfaceManagerRpcService, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService, ElanConfig elanConfig, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, ElanEtreeUtils elanEtreeUtils, ElanItmUtils elanItmUtils, ElanInterfaceCache elanInterfaceCache, org.opendaylight.genius.itm.api.IITMProvider iitmProvider, ElanGroupCache elanGroupCache)
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddDmacRedirectToDispatcherFlows(org.opendaylight.yangtools.yang.common.Uint32 elanTag, java.lang.String displayName, java.lang.String macAddress, java.util.List<org.opendaylight.yangtools.yang.common.Uint64> dpnIds)static org.opendaylight.genius.mdsalutil.FlowEntitybuildDmacRedirectToDispatcherFlow(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String dstMacAddress, java.lang.String displayName, org.opendaylight.yangtools.yang.common.Uint32 elanTag)protected org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodebuildDpnNode(org.opendaylight.yangtools.yang.common.Uint64 dpnId)org.opendaylight.genius.mdsalutil.FlowEntitybuildKnownSmacFlow(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, long macTimeout, java.lang.String macAddress)org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowbuildLocalDmacFlowEntry(org.opendaylight.yangtools.yang.common.Uint32 elanTag, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String ifName, java.lang.String macAddress, ElanInstance elanInfo, long ifTag)Builds the flow to be programmed in the DMAC table of the local DPN (that is, where the MAC is attached to).static java.util.List<org.opendaylight.genius.mdsalutil.MatchInfo>buildMatchesForElanTagShFlagAndDstMac(long elanTag, boolean shFlag, java.lang.String macAddr)org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowbuildRemoteDmacFlowEntry(org.opendaylight.yangtools.yang.common.Uint64 srcDpId, org.opendaylight.yangtools.yang.common.Uint64 destDpId, long lportTagOrVni, org.opendaylight.yangtools.yang.common.Uint32 elanTag, java.lang.String macAddress, java.lang.String displayName, ElanInstance elanInstance)Builds a Flow to be programmed in a remote DPN's DMAC table.static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.services.info.BoundServices>buildServiceId(java.lang.String interfaceName, short serviceIndex)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface>createInterfaceStateInstanceIdentifier(java.lang.String interfaceName)Creates the interface state instance identifier.static <T extends org.opendaylight.yangtools.yang.binding.DataObject>
 voiddelete(org.opendaylight.mdsal.binding.api.DataBroker broker, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)voiddeleteMacFlows(@Nullable ElanInstance elanInfo, @Nullable org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, MacEntry macEntry, org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> flowTx)voiddeleteMacFlows(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, java.lang.String macAddress, boolean deleteSmac, org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> flowTx)voiddeleteSmacFlowOnly(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, java.lang.String macAddress, org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> flowTx)static <T> java.util.List<T>diffOf(java.util.List<T> orig, java.util.List<T> updated)java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.external.tunnel.list.ExternalTunnel>getAllExternalTunnels(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType)Gets the all external tunnels.static java.lang.StringgetBcGroupUpdateKey(java.lang.String elanName)static org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.services.info.BoundServicesgetBoundServices(java.lang.String serviceName, short servicePriority, int flowPriority, org.opendaylight.yangtools.yang.common.Uint64 cookie, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction> instructions)@NonNull java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action>getEgressActionsForInterface(java.lang.String ifName, @Nullable java.lang.Long tunnelKey)Returns the list of Actions to be taken when sending the packet through an Elan interface.static @Nullable ElangetElanByName(org.opendaylight.mdsal.binding.api.DataBroker broker, java.lang.String elanInstanceName)static @Nullable ElangetElanByName(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> tx, java.lang.String elanInstanceName)@NonNull java.util.List<DpnInterfaces>getElanDPNByName(java.lang.String elanInstanceName)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<DpnInterfaces>getElanDpnInterfaceOperationalDataPath(java.lang.String elanInstanceName, org.opendaylight.yangtools.yang.common.Uint64 dpId)Returns the InstanceIdentifier that points to the Interfaces of an Elan in a given DPN in the Operational DS.@Nullable ElanDpnInterfacesgetElanDpnInterfacesList()@Nullable ElanDpnInterfacesListgetElanDpnInterfacesList(java.lang.String elanName)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanDpnInterfacesList>getElanDpnOperationDataPath(java.lang.String elanInstanceName)@Nullable ElanTagNamegetElanInfoByElanTag(org.opendaylight.yangtools.yang.common.Uint32 elanTag)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanTagName>getElanInfoEntriesOperationalDataPath(org.opendaylight.yangtools.yang.common.Uint32 elanTag)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Elan>getElanInstanceOperationalDataPath(java.lang.String elanInstanceName)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface>getElanInterfaceConfigurationDataPathId(java.lang.String interfaceName)@Nullable DpnInterfacesgetElanInterfaceInfoByElanDpn(java.lang.String elanInstanceName, org.opendaylight.yangtools.yang.common.Uint64 dpId)Returns the list of Interfaces that belong to an Elan on an specific DPN.static java.lang.StringgetElanInterfaceJobKey(java.lang.String interfaceName)ElanInterfaceMacgetElanInterfaceMacByInterfaceName(java.lang.String interfaceName)static @Nullable ElanInterfaceMacgetElanInterfaceMacByInterfaceName(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, java.lang.String interfaceName)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterfaceMac>getElanInterfaceMacEntriesOperationalDataPath(java.lang.String interfaceName)static longgetElanLocalBCGId(long elanTag)java.util.List<MacEntry>getElanMacEntries(java.lang.String elanName)@Nullable MacTablegetElanMacTable(java.lang.String elanName)Gets the elan mac table.static @Nullable MacTablegetElanMacTable(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, java.lang.String elanName)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacTable>getElanMacTableOperationalDataPath(java.lang.String elanName)static org.opendaylight.yangtools.yang.common.Uint64getElanMetadataLabel(long elanTag, boolean isSHFlagSet)static longgetElanRemoteBCGId(long elanTag)static longgetElanRemoteBroadCastGroupID(long elanTag)static java.lang.StringgetElanServiceName(java.lang.String elanName, java.lang.String interfaceName)static longgetEtreeLeafLocalBCGId(long etreeLeafTag)static longgetEtreeLeafRemoteBCGId(long etreeLeafTag)@Nullable java.lang.StringgetExternalElanInterface(java.lang.String elanInstanceName, org.opendaylight.yangtools.yang.common.Uint64 dpnId)@Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.external.tunnel.list.ExternalTunnelgetExternalTunnel(java.lang.String sourceDevice, java.lang.String destinationDevice, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType)Gets the external tunnel.@Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.external.tunnel.list.ExternalTunnelgetExternalTunnel(java.lang.String interfaceName, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType)Gets the external tunnel.static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow>getFlowIid(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow flow, org.opendaylight.yangtools.yang.common.Uint64 dpnId)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.Group>getGroupInstanceid(org.opendaylight.yangtools.yang.common.Uint64 dpnId, long groupId)java.util.Map<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey,org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction>getInstructionsInPortForOutGroup(java.lang.String ifName)Constructs the Instructions that take the packet over a given interface.java.util.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._if.indexes._interface.map.IfIndexInterface>getInterfaceInfoByInterfaceTag(org.opendaylight.yangtools.yang.common.Uint32 interfaceTag)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._if.indexes._interface.map.IfIndexInterface>getInterfaceInfoEntriesOperationalDataPath(org.opendaylight.yangtools.yang.common.Uint32 interfaceTag)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacEntry>getInterfaceMacEntriesIdentifierOperationalDataPath(java.lang.String interfaceName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress)@Nullable MacEntrygetInterfaceMacEntriesOperationalDataPath(java.lang.String interfaceName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress)@Nullable MacEntrygetInterfaceMacEntriesOperationalDataPathFromId(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> tx, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacEntry> identifier)static @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.InterfacegetInterfaceStateFromOperDS(java.lang.String interfaceName, org.opendaylight.mdsal.binding.api.DataBroker dataBroker)Gets the interface state from operational ds.static java.lang.StringgetIntTunnelTableFlowRef(short tableId, int elanTag)Constructs the FlowName for flows installed in the Internal Tunnel Table, consisting in tableId + elanTag.@NonNull java.util.List<DpnInterfaces>getInvolvedDpnsInElan(java.lang.String elanName)static java.lang.StringgetKnownDynamicmacFlowRef(short elanDmacTable, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String extDeviceNodeId, java.lang.String dstMacAddress, long elanTag, boolean shFlag)static java.lang.StringgetKnownDynamicmacFlowRef(org.opendaylight.yangtools.yang.common.Uint32 elanTag, java.lang.String macAddress)java.util.Optional<MacEntry>getMacEntryForElanInstance(java.lang.String elanName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress)java.util.Optional<MacEntry>getMacEntryForElanInstance(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> tx, java.lang.String elanName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress)@Nullable MacEntrygetMacEntryFromElanMacId(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> tx, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacEntry> identifier)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacEntry>getMacEntryOperationalDataPath(java.lang.String elanName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress)@NonNull java.util.List<org.opendaylight.yangtools.yang.common.Uint64>getParticipatingDpnsInElanInstance(java.lang.String elanInstanceName)This method is useful get all ELAN participating CSS dpIds to install program remote dmac entries and updating remote bc groups for tor integration.static java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress>getPhysAddress(java.util.List<java.lang.String> macAddress)static @Nullable java.lang.StringgetRouterPordIdFromElanInstance(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, java.lang.String elanInstanceName)java.util.Optional<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress>getSourceIpAddress(org.opendaylight.genius.mdsalutil.packet.Ethernet ethernet)static java.util.List<StaticMacEntries>getStaticMacEntries(java.util.List<java.lang.String> staticMacAddresses)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<StaticMacEntries>getStaticMacEntriesCfgDataPathIdentifier(java.lang.String interfaceName, java.lang.String macAddress)static java.util.List<org.opendaylight.genius.mdsalutil.MatchInfo>getTunnelIdMatchForFilterEqualsLPortTag(int lportTag)Constructs the Matches that checks that the tunnel_id field contains a specific lportTag.static java.util.List<org.opendaylight.genius.mdsalutil.MatchInfo>getTunnelMatchesForServiceId(org.opendaylight.yangtools.yang.common.Uint32 elanTag)static org.opendaylight.yangtools.yang.common.Uint32getVxlanSegmentationId(ElanInstance elanInstance)booleanisDpnPresent(org.opendaylight.yangtools.yang.common.Uint64 dpnId)static booleanisEmpty(java.util.Collection collection)static booleanisFlat(ElanInstance elanInstance)static booleanisInterfaceOperational(java.lang.String interfaceName, org.opendaylight.mdsal.binding.api.DataBroker dataBroker)Checks if is interface operational.static booleanisNotEmpty(java.util.Collection collection)java.lang.BooleanisOpenstackVniSemanticsEnforced()booleanisTunnelInLogicalGroup(java.lang.String interfaceName)static booleanisVlan(ElanInstance elanInstance)static booleanisVxlan(@Nullable ElanInstance elanInstance)static booleanisVxlanNetworkOrVxlanSegment(@Nullable ElanInstance elanInstance)static org.opendaylight.infrautils.utils.concurrent.NamedSimpleReentrantLock.AcquiredlockElanMacDPN(long elanTag, java.lang.String macAddress, org.opendaylight.yangtools.yang.common.Uint64 dpnId)static <T extends org.opendaylight.yangtools.yang.binding.DataObject>
 java.util.Optional<T>read(@NonNull org.opendaylight.mdsal.binding.api.DataBroker broker, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)Deprecated.Consider usingread2(LogicalDatastoreType, InstanceIdentifier)with proper exception handling instead<T extends org.opendaylight.yangtools.yang.binding.DataObject>
 java.util.Optional<T>read2(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)static voidreleaseId(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, java.lang.String poolName, java.lang.String idKey)voidremoveArpResponderFlow(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String ingressInterfaceName, java.lang.String ipAddress, int lportTag)voidremoveDmacRedirectToDispatcherFlows(org.opendaylight.yangtools.yang.common.Uint32 elanTag, java.lang.String macAddress, java.util.List<org.opendaylight.yangtools.yang.common.Uint64> dpnIds)voidremoveTerminatingServiceAction(org.opendaylight.yangtools.yang.common.Uint64 destDpId, int serviceId)static org.opendaylight.yangtools.yang.common.Uint32retrieveNewElanTag(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, java.lang.String idKey)Uses the IdManager to retrieve a brand new ElanTag.static java.util.List<com.google.common.util.concurrent.ListenableFuture<?>>returnFailedListenableFutureIfTransactionCommitFailedExceptionCauseOrElseThrow(java.lang.RuntimeException exception)voidsetupDMacFlowOnRemoteDpn(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, org.opendaylight.yangtools.yang.common.Uint64 dstDpId, java.lang.String macAddress, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeFlowTx)voidsetupMacFlows(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, long macTimeout, java.lang.String macAddress, boolean configureRemoteFlows, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeFlowGroupTx)Setting SMAC, DMAC, UDMAC in this DPN and optionally in other DPNs.voidsetupRemoteDmacFlow(org.opendaylight.yangtools.yang.common.Uint64 srcDpId, org.opendaylight.yangtools.yang.common.Uint64 destDpId, int lportTag, org.opendaylight.yangtools.yang.common.Uint32 elanTag, java.lang.String macAddress, java.lang.String displayName, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeFlowGroupTx, java.lang.String interfaceName, ElanInstance elanInstance)voidsetupTermDmacFlows(org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalApiManager, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeFlowGroupTx)Installs a Flow in INTERNAL_TUNNEL_TABLE of the affected DPN that sends the packet through the specified interface if the tunnel_id matches the interface's lportTag.voidsyncUpdateGroup(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.Group newGroup, long delayTime, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> confTx)static ElanInstanceupdateOperationalDataStore(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, ElanInstance elanInstanceAdded, java.util.List<java.lang.String> elanInterfaces, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> confTx, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> operTx)Updates the Elan information in the Operational DS.static com.google.common.util.concurrent.ListenableFuture<?>waitForTransactionToComplete(com.google.common.util.concurrent.ListenableFuture<?> future)
 
- 
- 
- 
Constructor Detail- 
ElanUtils@Inject public ElanUtils(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService interfaceManagerRpcService, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService, ElanConfig elanConfig, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, ElanEtreeUtils elanEtreeUtils, ElanItmUtils elanItmUtils, ElanInterfaceCache elanInterfaceCache, org.opendaylight.genius.itm.api.IITMProvider iitmProvider, ElanGroupCache elanGroupCache)
 
- 
 - 
Method Detail- 
isOpenstackVniSemanticsEnforcedpublic final java.lang.Boolean isOpenstackVniSemanticsEnforced() 
 - 
retrieveNewElanTagpublic static org.opendaylight.yangtools.yang.common.Uint32 retrieveNewElanTag(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, java.lang.String idKey)Uses the IdManager to retrieve a brand new ElanTag.- Parameters:
- idManager- the id manager
- idKey- the id key
- Returns:
- the integer
 
 - 
releaseIdpublic static void releaseId(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, java.lang.String poolName, java.lang.String idKey)
 - 
read@Deprecated public static <T extends org.opendaylight.yangtools.yang.binding.DataObject> java.util.Optional<T> read(@NonNull org.opendaylight.mdsal.binding.api.DataBroker broker, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)Deprecated.Consider usingread2(LogicalDatastoreType, InstanceIdentifier)with proper exception handling insteadRead utility.- Type Parameters:
- T- T extends DataObject
- Parameters:
- broker- dataBroker
- datastoreType- Logical DataStore type
- path- IID to read
- Returns:
- the read value T
 
 - 
read2public <T extends org.opendaylight.yangtools.yang.binding.DataObject> java.util.Optional<T> read2(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException- Throws:
- java.lang.InterruptedException
- java.util.concurrent.ExecutionException
 
 - 
deletepublic static <T extends org.opendaylight.yangtools.yang.binding.DataObject> void delete(org.opendaylight.mdsal.binding.api.DataBroker broker, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)
 - 
getElanInterfaceConfigurationDataPathIdpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> getElanInterfaceConfigurationDataPathId(java.lang.String interfaceName) 
 - 
getElanByNamepublic static @Nullable Elan getElanByName(org.opendaylight.mdsal.binding.api.DataBroker broker, java.lang.String elanInstanceName) 
 - 
getElanByNamepublic static @Nullable Elan getElanByName(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> tx, java.lang.String elanInstanceName) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException - Throws:
- java.util.concurrent.ExecutionException
- java.lang.InterruptedException
 
 - 
getElanInstanceOperationalDataPathpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Elan> getElanInstanceOperationalDataPath(java.lang.String elanInstanceName) 
 - 
getInterfaceMacEntriesOperationalDataPathpublic @Nullable MacEntry getInterfaceMacEntriesOperationalDataPath(java.lang.String interfaceName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress) 
 - 
getInterfaceMacEntriesOperationalDataPathFromIdpublic @Nullable MacEntry getInterfaceMacEntriesOperationalDataPathFromId(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> tx, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacEntry> identifier) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException - Throws:
- java.util.concurrent.ExecutionException
- java.lang.InterruptedException
 
 - 
getInterfaceMacEntriesIdentifierOperationalDataPathpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacEntry> getInterfaceMacEntriesIdentifierOperationalDataPath(java.lang.String interfaceName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress) 
 - 
getMacEntryForElanInstancepublic java.util.Optional<MacEntry> getMacEntryForElanInstance(java.lang.String elanName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress) 
 - 
getMacEntryForElanInstancepublic java.util.Optional<MacEntry> getMacEntryForElanInstance(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> tx, java.lang.String elanName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException - Throws:
- java.util.concurrent.ExecutionException
- java.lang.InterruptedException
 
 - 
getMacEntryFromElanMacIdpublic @Nullable MacEntry getMacEntryFromElanMacId(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> tx, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacEntry> identifier) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException - Throws:
- java.util.concurrent.ExecutionException
- java.lang.InterruptedException
 
 - 
getMacEntryOperationalDataPathpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacEntry> getMacEntryOperationalDataPath(java.lang.String elanName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress) 
 - 
getElanMacTableOperationalDataPathpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<MacTable> getElanMacTableOperationalDataPath(java.lang.String elanName) 
 - 
getElanInterfaceMacByInterfaceNamepublic ElanInterfaceMac getElanInterfaceMacByInterfaceName(java.lang.String interfaceName) 
 - 
getElanInterfaceMacByInterfaceNamepublic static @Nullable ElanInterfaceMac getElanInterfaceMacByInterfaceName(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, java.lang.String interfaceName) 
 - 
getElanInterfaceMacEntriesOperationalDataPathpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterfaceMac> getElanInterfaceMacEntriesOperationalDataPath(java.lang.String interfaceName) 
 - 
getElanInterfaceInfoByElanDpnpublic @Nullable DpnInterfaces getElanInterfaceInfoByElanDpn(java.lang.String elanInstanceName, org.opendaylight.yangtools.yang.common.Uint64 dpId) Returns the list of Interfaces that belong to an Elan on an specific DPN. Data retrieved from Elan's operational DS: elan-dpn-interfaces container.- Parameters:
- elanInstanceName- name of the Elan to which the interfaces must belong to
- dpId- Id of the DPN where the interfaces are located
- Returns:
- the elan interface Info
 
 - 
getElanDpnInterfaceOperationalDataPathpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<DpnInterfaces> getElanDpnInterfaceOperationalDataPath(java.lang.String elanInstanceName, org.opendaylight.yangtools.yang.common.Uint64 dpId) Returns the InstanceIdentifier that points to the Interfaces of an Elan in a given DPN in the Operational DS. Data retrieved from Elans's operational DS: dpn-interfaces list- Parameters:
- elanInstanceName- name of the Elan to which the interfaces must belong to
- dpId- Id of the DPN where the interfaces are located
- Returns:
- the elan dpn interface
 
 - 
getElanInfoByElanTagpublic @Nullable ElanTagName getElanInfoByElanTag(org.opendaylight.yangtools.yang.common.Uint32 elanTag) 
 - 
getElanInfoEntriesOperationalDataPathpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanTagName> getElanInfoEntriesOperationalDataPath(org.opendaylight.yangtools.yang.common.Uint32 elanTag) 
 - 
getInterfaceInfoByInterfaceTagpublic java.util.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._if.indexes._interface.map.IfIndexInterface> getInterfaceInfoByInterfaceTag(org.opendaylight.yangtools.yang.common.Uint32 interfaceTag) 
 - 
getInterfaceInfoEntriesOperationalDataPathpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.meta.rev160406._if.indexes._interface.map.IfIndexInterface> getInterfaceInfoEntriesOperationalDataPath(org.opendaylight.yangtools.yang.common.Uint32 interfaceTag) 
 - 
getElanDpnOperationDataPathpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanDpnInterfacesList> getElanDpnOperationDataPath(java.lang.String elanInstanceName) 
 - 
getElanDpnInterfacesListpublic @Nullable ElanDpnInterfacesList getElanDpnInterfacesList(java.lang.String elanName) 
 - 
getElanDpnInterfacesListpublic @Nullable ElanDpnInterfaces getElanDpnInterfacesList() 
 - 
getParticipatingDpnsInElanInstancepublic @NonNull java.util.List<org.opendaylight.yangtools.yang.common.Uint64> getParticipatingDpnsInElanInstance(java.lang.String elanInstanceName) This method is useful get all ELAN participating CSS dpIds to install program remote dmac entries and updating remote bc groups for tor integration.- Parameters:
- elanInstanceName- the elan instance name
- Returns:
- list of dpIds
 
 - 
getElanRemoteBroadCastGroupIDpublic static long getElanRemoteBroadCastGroupID(long elanTag) 
 - 
getElanMacTablepublic @Nullable MacTable getElanMacTable(java.lang.String elanName) Gets the elan mac table.- Parameters:
- elanName- the elan name
- Returns:
- the elan mac table
 
 - 
getElanMacTablepublic static @Nullable MacTable getElanMacTable(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, java.lang.String elanName) 
 - 
getElanLocalBCGIdpublic static long getElanLocalBCGId(long elanTag) 
 - 
getElanRemoteBCGIdpublic static long getElanRemoteBCGId(long elanTag) 
 - 
getEtreeLeafLocalBCGIdpublic static long getEtreeLeafLocalBCGId(long etreeLeafTag) 
 - 
getEtreeLeafRemoteBCGIdpublic static long getEtreeLeafRemoteBCGId(long etreeLeafTag) 
 - 
getElanMetadataLabelpublic static org.opendaylight.yangtools.yang.common.Uint64 getElanMetadataLabel(long elanTag, boolean isSHFlagSet)
 - 
setupMacFlowspublic void setupMacFlows(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, long macTimeout, java.lang.String macAddress, boolean configureRemoteFlows, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeFlowGroupTx) Setting SMAC, DMAC, UDMAC in this DPN and optionally in other DPNs.- Parameters:
- elanInfo- the elan info
- interfaceInfo- the interface info
- macTimeout- the mac timeout
- macAddress- the mac address
- configureRemoteFlows- true if remote dmac flows should be configured as well
- writeFlowGroupTx- the flow group tx
 
 - 
setupDMacFlowOnRemoteDpnpublic void setupDMacFlowOnRemoteDpn(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, org.opendaylight.yangtools.yang.common.Uint64 dstDpId, java.lang.String macAddress, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeFlowTx) 
 - 
buildKnownSmacFlowpublic org.opendaylight.genius.mdsalutil.FlowEntity buildKnownSmacFlow(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, long macTimeout, java.lang.String macAddress) 
 - 
setupTermDmacFlowspublic void setupTermDmacFlows(org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalApiManager, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeFlowGroupTx)Installs a Flow in INTERNAL_TUNNEL_TABLE of the affected DPN that sends the packet through the specified interface if the tunnel_id matches the interface's lportTag.- Parameters:
- interfaceInfo- the interface info
- mdsalApiManager- the mdsal API manager
- writeFlowGroupTx- the writeFLowGroup tx
 
 - 
getIntTunnelTableFlowRefpublic static java.lang.String getIntTunnelTableFlowRef(short tableId, int elanTag)Constructs the FlowName for flows installed in the Internal Tunnel Table, consisting in tableId + elanTag.- Parameters:
- tableId- table Id
- elanTag- elan Tag
- Returns:
- the Internal tunnel
 
 - 
getTunnelIdMatchForFilterEqualsLPortTagpublic static java.util.List<org.opendaylight.genius.mdsalutil.MatchInfo> getTunnelIdMatchForFilterEqualsLPortTag(int lportTag) Constructs the Matches that checks that the tunnel_id field contains a specific lportTag.- Parameters:
- lportTag- lportTag that must be checked against the tunnel_id field
- Returns:
- the list of match Info
 
 - 
getInstructionsInPortForOutGrouppublic java.util.Map<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey,org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction> getInstructionsInPortForOutGroup(java.lang.String ifName) Constructs the Instructions that take the packet over a given interface.- Parameters:
- ifName- Name of the interface where the packet must be sent over. It can be a local interface or a tunnel interface (internal or external)
- Returns:
- the Instruction
 
 - 
getEgressActionsForInterfacepublic @NonNull java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action> getEgressActionsForInterface(java.lang.String ifName, @Nullable java.lang.Long tunnelKey)Returns the list of Actions to be taken when sending the packet through an Elan interface. Note that this interface can refer to an ElanInterface where the Elan VM is attached to a DPN or an ITM tunnel interface where Elan traffic can be sent through. In this latter case, the tunnelKey is mandatory and it can hold serviceId for internal tunnels or the VNI for external tunnels.- Parameters:
- ifName- the if name
- tunnelKey- the tunnel key
- Returns:
- the egress actions for interface
 
 - 
getInvolvedDpnsInElanpublic @NonNull java.util.List<DpnInterfaces> getInvolvedDpnsInElan(java.lang.String elanName) 
 - 
getElanDPNByNamepublic @NonNull java.util.List<DpnInterfaces> getElanDPNByName(java.lang.String elanInstanceName) 
 - 
getKnownDynamicmacFlowRefpublic static java.lang.String getKnownDynamicmacFlowRef(org.opendaylight.yangtools.yang.common.Uint32 elanTag, java.lang.String macAddress)
 - 
getKnownDynamicmacFlowRefpublic static java.lang.String getKnownDynamicmacFlowRef(short elanDmacTable, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String extDeviceNodeId, java.lang.String dstMacAddress, long elanTag, boolean shFlag)
 - 
buildLocalDmacFlowEntrypublic org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow buildLocalDmacFlowEntry(org.opendaylight.yangtools.yang.common.Uint32 elanTag, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String ifName, java.lang.String macAddress, ElanInstance elanInfo, long ifTag)Builds the flow to be programmed in the DMAC table of the local DPN (that is, where the MAC is attached to). This flow consists in:Match: + elanTag in metadata + packet goes to a MAC locally attached Actions: + optionally, pop-vlan + set-vlan-id + output to ifName's portNumber - Parameters:
- elanTag- the elan tag
- dpId- the dp id
- ifName- the if name
- macAddress- the mac address
- elanInfo- the elan info
- ifTag- the if tag
- Returns:
- the flow
 
 - 
setupRemoteDmacFlowpublic void setupRemoteDmacFlow(org.opendaylight.yangtools.yang.common.Uint64 srcDpId, org.opendaylight.yangtools.yang.common.Uint64 destDpId, int lportTag, org.opendaylight.yangtools.yang.common.Uint32 elanTag, java.lang.String macAddress, java.lang.String displayName, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeFlowGroupTx, java.lang.String interfaceName, ElanInstance elanInstance)
 - 
buildRemoteDmacFlowEntrypublic org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow buildRemoteDmacFlowEntry(org.opendaylight.yangtools.yang.common.Uint64 srcDpId, org.opendaylight.yangtools.yang.common.Uint64 destDpId, long lportTagOrVni, org.opendaylight.yangtools.yang.common.Uint32 elanTag, java.lang.String macAddress, java.lang.String displayName, ElanInstance elanInstance)Builds a Flow to be programmed in a remote DPN's DMAC table. This flow consists in: Match: + elanTag in packet's metadata + packet going to a MAC known to be located in another DPN Actions: + set_tunnel_id + output ITM internal tunnel interface with the other DPN- Parameters:
- srcDpId- the src Dpn Id
- destDpId- dest Dp Id
- lportTagOrVni- lportTag or network VNI
- elanTag- elan Tag
- macAddress- macAddress
- displayName- display Name
- elanInstance- elanInstance
- Returns:
- the flow remote Dmac
 
 - 
deleteMacFlowspublic void deleteMacFlows(@Nullable ElanInstance elanInfo, @Nullable org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, MacEntry macEntry, org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> flowTx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException - Throws:
- java.util.concurrent.ExecutionException
- java.lang.InterruptedException
 
 - 
deleteMacFlowspublic void deleteMacFlows(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, java.lang.String macAddress, boolean deleteSmac, org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> flowTx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException - Throws:
- java.util.concurrent.ExecutionException
- java.lang.InterruptedException
 
 - 
deleteSmacFlowOnlypublic void deleteSmacFlowOnly(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, java.lang.String macAddress, org.opendaylight.mdsal.binding.util.TypedReadWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> flowTx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException - Throws:
- java.util.concurrent.ExecutionException
- java.lang.InterruptedException
 
 - 
updateOperationalDataStorepublic static ElanInstance updateOperationalDataStore(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, ElanInstance elanInstanceAdded, java.util.List<java.lang.String> elanInterfaces, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> confTx, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> operTx) Updates the Elan information in the Operational DS. It also updates the ElanInstance in the Config DS by setting the adquired elanTag.- Parameters:
- idManager- the id manager
- elanInstanceAdded- the elan instance added
- elanInterfaces- the elan interfaces
- operTx- transaction
- Returns:
- the updated ELAN instance.
 
 - 
isDpnPresentpublic boolean isDpnPresent(org.opendaylight.yangtools.yang.common.Uint64 dpnId) 
 - 
getElanServiceNamepublic static java.lang.String getElanServiceName(java.lang.String elanName, java.lang.String interfaceName)
 - 
getBoundServicespublic static org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.services.info.BoundServices getBoundServices(java.lang.String serviceName, short servicePriority, int flowPriority, org.opendaylight.yangtools.yang.common.Uint64 cookie, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction> instructions)
 - 
buildServiceIdpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.services.info.BoundServices> buildServiceId(java.lang.String interfaceName, short serviceIndex)
 - 
getTunnelMatchesForServiceIdpublic static java.util.List<org.opendaylight.genius.mdsalutil.MatchInfo> getTunnelMatchesForServiceId(org.opendaylight.yangtools.yang.common.Uint32 elanTag) 
 - 
removeTerminatingServiceActionpublic void removeTerminatingServiceAction(org.opendaylight.yangtools.yang.common.Uint64 destDpId, int serviceId)
 - 
getExternalTunnelpublic @Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.external.tunnel.list.ExternalTunnel getExternalTunnel(java.lang.String sourceDevice, java.lang.String destinationDevice, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType)Gets the external tunnel.- Parameters:
- sourceDevice- the source device
- destinationDevice- the destination device
- datastoreType- the datastore type
- Returns:
- the external tunnel
 
 - 
getExternalTunnelpublic @Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.external.tunnel.list.ExternalTunnel getExternalTunnel(java.lang.String interfaceName, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType)Gets the external tunnel.- Parameters:
- interfaceName- the interface name
- datastoreType- the datastore type
- Returns:
- the external tunnel
 
 - 
getAllExternalTunnelspublic java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.external.tunnel.list.ExternalTunnel> getAllExternalTunnels(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType) Gets the all external tunnels.- Parameters:
- datastoreType- the data store type
- Returns:
- the all external tunnels
 
 - 
buildMatchesForElanTagShFlagAndDstMacpublic static java.util.List<org.opendaylight.genius.mdsalutil.MatchInfo> buildMatchesForElanTagShFlagAndDstMac(long elanTag, boolean shFlag, java.lang.String macAddr)
 - 
isInterfaceOperationalpublic static boolean isInterfaceOperational(java.lang.String interfaceName, org.opendaylight.mdsal.binding.api.DataBroker dataBroker)Checks if is interface operational.- Parameters:
- interfaceName- the interface name
- dataBroker- the data broker
- Returns:
- true, if is interface operational
 
 - 
getInterfaceStateFromOperDSpublic static @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface getInterfaceStateFromOperDS(java.lang.String interfaceName, org.opendaylight.mdsal.binding.api.DataBroker dataBroker)Gets the interface state from operational ds.- Parameters:
- interfaceName- the interface name
- dataBroker- the data broker
- Returns:
- the interface state from oper ds
 
 - 
createInterfaceStateInstanceIdentifierpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface> createInterfaceStateInstanceIdentifier(java.lang.String interfaceName) Creates the interface state instance identifier.- Parameters:
- interfaceName- the interface name
- Returns:
- the instance identifier
 
 - 
waitForTransactionToComplete@CheckReturnValue public static com.google.common.util.concurrent.ListenableFuture<?> waitForTransactionToComplete(com.google.common.util.concurrent.ListenableFuture<?> future) 
 - 
isVxlanpublic static boolean isVxlan(@Nullable ElanInstance elanInstance) 
 - 
isVxlanNetworkOrVxlanSegmentpublic static boolean isVxlanNetworkOrVxlanSegment(@Nullable ElanInstance elanInstance) 
 - 
getVxlanSegmentationIdpublic static org.opendaylight.yangtools.yang.common.Uint32 getVxlanSegmentationId(ElanInstance elanInstance) 
 - 
isVlanpublic static boolean isVlan(ElanInstance elanInstance) 
 - 
isFlatpublic static boolean isFlat(ElanInstance elanInstance) 
 - 
addDmacRedirectToDispatcherFlowspublic void addDmacRedirectToDispatcherFlows(org.opendaylight.yangtools.yang.common.Uint32 elanTag, java.lang.String displayName, java.lang.String macAddress, java.util.List<org.opendaylight.yangtools.yang.common.Uint64> dpnIds)
 - 
removeDmacRedirectToDispatcherFlowspublic void removeDmacRedirectToDispatcherFlows(org.opendaylight.yangtools.yang.common.Uint32 elanTag, java.lang.String macAddress, java.util.List<org.opendaylight.yangtools.yang.common.Uint64> dpnIds)
 - 
buildDmacRedirectToDispatcherFlowpublic static org.opendaylight.genius.mdsalutil.FlowEntity buildDmacRedirectToDispatcherFlow(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String dstMacAddress, java.lang.String displayName, org.opendaylight.yangtools.yang.common.Uint32 elanTag)
 - 
getExternalElanInterfacepublic @Nullable java.lang.String getExternalElanInterface(java.lang.String elanInstanceName, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
 - 
lockElanMacDPNpublic static org.opendaylight.infrautils.utils.concurrent.NamedSimpleReentrantLock.Acquired lockElanMacDPN(long elanTag, java.lang.String macAddress, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
 - 
returnFailedListenableFutureIfTransactionCommitFailedExceptionCauseOrElseThrowpublic static java.util.List<com.google.common.util.concurrent.ListenableFuture<?>> returnFailedListenableFutureIfTransactionCommitFailedExceptionCauseOrElseThrow(java.lang.RuntimeException exception) 
 - 
getPhysAddresspublic static java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress> getPhysAddress(java.util.List<java.lang.String> macAddress) 
 - 
getStaticMacEntriespublic static java.util.List<StaticMacEntries> getStaticMacEntries(java.util.List<java.lang.String> staticMacAddresses) 
 - 
getStaticMacEntriesCfgDataPathIdentifierpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<StaticMacEntries> getStaticMacEntriesCfgDataPathIdentifier(java.lang.String interfaceName, java.lang.String macAddress) 
 - 
diffOfpublic static <T> java.util.List<T> diffOf(java.util.List<T> orig, java.util.List<T> updated)
 - 
isEmptypublic static boolean isEmpty(java.util.Collection collection) 
 - 
isNotEmptypublic static boolean isNotEmpty(java.util.Collection collection) 
 - 
getSourceIpAddresspublic java.util.Optional<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress> getSourceIpAddress(org.opendaylight.genius.mdsalutil.packet.Ethernet ethernet) 
 - 
getElanMacEntriespublic java.util.List<MacEntry> getElanMacEntries(java.lang.String elanName) 
 - 
isTunnelInLogicalGrouppublic boolean isTunnelInLogicalGroup(java.lang.String interfaceName) 
 - 
getFlowIidpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow> getFlowIid(org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow flow, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
 - 
getElanInterfaceJobKeypublic static java.lang.String getElanInterfaceJobKey(java.lang.String interfaceName) 
 - 
removeArpResponderFlowpublic void removeArpResponderFlow(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String ingressInterfaceName, java.lang.String ipAddress, int lportTag)
 - 
getRouterPordIdFromElanInstancepublic static @Nullable java.lang.String getRouterPordIdFromElanInstance(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, java.lang.String elanInstanceName)
 - 
buildDpnNodeprotected org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node buildDpnNode(org.opendaylight.yangtools.yang.common.Uint64 dpnId) 
 - 
syncUpdateGrouppublic void syncUpdateGroup(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.Group newGroup, long delayTime, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> confTx)
 - 
getGroupInstanceidpublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.Group> getGroupInstanceid(org.opendaylight.yangtools.yang.common.Uint64 dpnId, long groupId)
 - 
getBcGroupUpdateKeypublic static java.lang.String getBcGroupUpdateKey(java.lang.String elanName) 
 
- 
 
-