@Singleton public class ElanInterfaceManager extends org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<ElanInterface,ElanInterfaceManager> implements org.opendaylight.serviceutils.srm.RecoverableListener
ElanInterface
Constructor and Description |
---|
ElanInterfaceManager(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService managerService,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalApiManager,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager,
ElanForwardingEntriesHandler elanForwardingEntriesHandler,
INeutronVpnManager neutronVpnManager,
ElanItmUtils elanItmUtils,
ElanEtreeUtils elanEtreeUtils,
ElanL2GatewayUtils elanL2GatewayUtils,
ElanUtils elanUtils,
org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator,
ElanL2GatewayMulticastUtils elanL2GatewayMulticastUtils,
ElanInstanceCache elanInstanceCache,
ElanInterfaceCache elanInterfaceCache,
ElanServiceRecoveryHandler elanServiceRecoveryHandler,
org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry serviceRecoveryRegistry) |
Modifier and Type | Method and Description |
---|---|
protected void |
add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> identifier,
ElanInterface elanInterfaceAdded) |
protected ElanInterfaceManager |
getDataTreeChangeListener() |
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> |
getWildCardPath() |
void |
handleExternalInterfaceEvent(ElanInstance elanInstance,
DpnInterfaces dpnInterfaces,
BigInteger dpId) |
void |
handleInternalTunnelStateEvent(BigInteger srcDpId,
BigInteger dstDpId) |
void |
init() |
List<com.google.common.util.concurrent.ListenableFuture<Void>> |
installDMacAddressTables(ElanInstance elanInfo,
org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo,
BigInteger dstDpId) |
void |
registerListener() |
protected void |
remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> identifier,
ElanInterface del) |
void |
removeElanBroadcastGroup(ElanInstance elanInfo,
org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo,
org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> deleteFlowGroupTx) |
List<com.google.common.util.concurrent.ListenableFuture<Void>> |
removeElanInterface(ElanInstance elanInfo,
String interfaceName,
org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo) |
void |
removeFilterEqualsTable(ElanInstance elanInfo,
org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo,
org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> flowTx) |
protected void |
removeInterfaceStaticMacEntries(String elanInstanceName,
String interfaceName,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress) |
void |
removeLocalBroadcastGroup(ElanInstance elanInfo,
org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo,
org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> deleteFlowGroupTx) |
void |
setupFilterEqualsTable(ElanInstance elanInfo,
org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowGroupTx) |
void |
setupTerminateServiceTable(ElanInstance elanInfo,
BigInteger dpId,
long elanTag,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowGroupTx) |
void |
setupTerminateServiceTable(ElanInstance elanInfo,
BigInteger dpId,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowGroupTx) |
void |
setupUnknownDMacTable(ElanInstance elanInfo,
BigInteger dpId,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowGroupTx) |
protected void |
unbindService(String interfaceName,
org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> tx) |
protected void |
update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> identifier,
ElanInterface original,
ElanInterface update) |
addAfterListener, addBeforeListener, close, deregisterListener, onDataTreeChanged, registerListener
@Inject public ElanInterfaceManager(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService managerService, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalApiManager, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, ElanForwardingEntriesHandler elanForwardingEntriesHandler, INeutronVpnManager neutronVpnManager, ElanItmUtils elanItmUtils, ElanEtreeUtils elanEtreeUtils, ElanL2GatewayUtils elanL2GatewayUtils, ElanUtils elanUtils, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, ElanL2GatewayMulticastUtils elanL2GatewayMulticastUtils, ElanInstanceCache elanInstanceCache, ElanInterfaceCache elanInterfaceCache, ElanServiceRecoveryHandler elanServiceRecoveryHandler, org.opendaylight.serviceutils.srm.ServiceRecoveryRegistry serviceRecoveryRegistry)
@PostConstruct public void init()
init
in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<ElanInterface,ElanInterfaceManager>
public void registerListener()
registerListener
in interface org.opendaylight.serviceutils.srm.RecoverableListener
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> getWildCardPath()
getWildCardPath
in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<ElanInterface,ElanInterfaceManager>
protected void remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> identifier, ElanInterface del)
remove
in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<ElanInterface,ElanInterfaceManager>
public List<com.google.common.util.concurrent.ListenableFuture<Void>> removeElanInterface(ElanInstance elanInfo, String interfaceName, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo)
protected void update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> identifier, ElanInterface original, ElanInterface update)
update
in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<ElanInterface,ElanInterfaceManager>
protected void add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanInterface> identifier, ElanInterface elanInterfaceAdded)
add
in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<ElanInterface,ElanInterfaceManager>
protected void removeInterfaceStaticMacEntries(String elanInstanceName, String interfaceName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress physAddress)
public void setupFilterEqualsTable(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowGroupTx)
public void removeFilterEqualsTable(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> flowTx) throws ExecutionException, InterruptedException
public List<com.google.common.util.concurrent.ListenableFuture<Void>> installDMacAddressTables(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, BigInteger dstDpId)
public void removeLocalBroadcastGroup(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> deleteFlowGroupTx) throws ExecutionException, InterruptedException
public void removeElanBroadcastGroup(ElanInstance elanInfo, org.opendaylight.genius.interfacemanager.globals.InterfaceInfo interfaceInfo, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> deleteFlowGroupTx) throws ExecutionException, InterruptedException
public void setupTerminateServiceTable(ElanInstance elanInfo, BigInteger dpId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowGroupTx)
public void setupTerminateServiceTable(ElanInstance elanInfo, BigInteger dpId, long elanTag, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowGroupTx)
public void setupUnknownDMacTable(ElanInstance elanInfo, BigInteger dpId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowGroupTx)
protected void unbindService(String interfaceName, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> tx) throws ExecutionException, InterruptedException
public void handleInternalTunnelStateEvent(BigInteger srcDpId, BigInteger dstDpId)
protected ElanInterfaceManager getDataTreeChangeListener()
getDataTreeChangeListener
in class org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<ElanInterface,ElanInterfaceManager>
public void handleExternalInterfaceEvent(ElanInstance elanInstance, DpnInterfaces dpnInterfaces, BigInteger dpId)
Copyright © 2019 OpenDaylight. All rights reserved.