Class VpnInterfaceManager
- java.lang.Object
-
- org.opendaylight.serviceutils.tools.listener.AbstractAsyncDataTreeChangeListener<VpnInterface>
-
- org.opendaylight.netvirt.vpnmanager.VpnInterfaceManager
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,java.util.EventListener
,org.opendaylight.mdsal.binding.api.DataTreeChangeListener<VpnInterface>
,org.opendaylight.serviceutils.tools.listener.ChainableDataTreeChangeListener<VpnInterface>
@Singleton public class VpnInterfaceManager extends org.opendaylight.serviceutils.tools.listener.AbstractAsyncDataTreeChangeListener<VpnInterface>
-
-
Constructor Summary
Constructors Constructor Description VpnInterfaceManager(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, IBgpManager bgpManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, IFibManager fibManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService ifaceMgrRpcService, VpnFootprintService vpnFootprintService, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, IVpnManager vpnManager, ArpResponderHandler arpResponderHandler, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, org.opendaylight.infrautils.caches.CacheProvider cacheProvider, VpnUtil vpnUtil)
-
Method Summary
All Methods Instance Methods Concrete Methods Default Methods Deprecated Methods Modifier and Type Method Description void
add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterface> identifier, VpnInterface vpnInterface)
void
add(T arg0)
Deprecated.void
addAfterListener(org.opendaylight.mdsal.binding.api.DataTreeChangeListener<T> arg0)
void
addBeforeListener(org.opendaylight.mdsal.binding.api.DataTreeChangeListener<T> arg0)
protected void
addNewAdjToVpnInterface(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterfaceOpDataEntry> identifier, java.lang.String primaryRd, Adjacency adj, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeInvTxn, java.util.Set<java.lang.String> prefixListForRefreshFib)
void
close()
protected void
createFibEntryForRouterInterface(java.lang.String primaryRd, VpnInterface vpnInterface, java.lang.String interfaceName, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, java.lang.String vpnName)
protected void
delAdjFromVpnInterface(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterfaceOpDataEntry> identifier, Adjacency adj, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn)
protected void
deleteFibEntryForRouterInterface(VpnInterface vpnInterface, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, java.lang.String vpnName)
protected org.opendaylight.mdsal.binding.api.DataBroker
getDataBroker()
protected org.opendaylight.serviceutils.tools.listener.DataStoreMetrics
getDataStoreMetrics()
void
importSubnetRouteForNewVpn(java.lang.String rd, java.lang.String prefix, java.lang.String nextHop, org.opendaylight.yangtools.yang.common.Uint32 label, SubnetRoute route, java.lang.String parentVpnRd, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn)
java.lang.Runnable
isNotifyTaskQueued(java.lang.String intfName)
boolean
isVpnInstanceReady(java.lang.String vpnInstanceName)
default void
onDataTreeChanged(java.util.Collection<org.opendaylight.mdsal.binding.api.DataTreeModification<T>> arg0, org.opendaylight.serviceutils.tools.listener.DataStoreMetrics arg1)
void
processSavedInterfaces(java.lang.String vpnInstanceName, boolean hasVpnInstanceCreatedSuccessfully)
protected void
processVpnInterfaceAdjacencies(org.opendaylight.yangtools.yang.common.Uint64 dpnId, int lportTag, java.lang.String vpnName, java.lang.String primaryRd, java.lang.String interfaceName, org.opendaylight.yangtools.yang.common.Uint32 vpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeInvTxn, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface interfaceState, java.util.Set<java.lang.String> prefixListForRefreshFib)
protected void
processVpnInterfaceDown(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String interfaceName, int lportTag, java.lang.String gwMac, VpnInterfaceOpDataEntry vpnOpInterface, boolean isInterfaceStateDown, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeInvTxn)
protected void
processVpnInterfaceUp(org.opendaylight.yangtools.yang.common.Uint64 dpId, VpnInterface vpnInterface, java.lang.String primaryRd, int lportTag, boolean isInterfaceUp, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeInvTxn, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface interfaceState, java.lang.String vpnName, java.util.Set<java.lang.String> prefixListForRefreshFib)
void
register()
void
remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterface> identifier, VpnInterface vpnInterface)
void
remove(T arg0)
Deprecated.void
start()
void
update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterface> identifier, VpnInterface original, VpnInterface update)
void
update(T arg0, T arg1)
Deprecated.void
updateVpnInterfaceOnTepAdd(VpnInterfaceOpDataEntry vpnInterface, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state.StateTunnelList stateTunnelList, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn)
void
updateVpnInterfaceOnTepDelete(VpnInterfaceOpDataEntry vpnInterface, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state.StateTunnelList stateTunnelList, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn)
void
updateVpnInterfacesForUnProcessAdjancencies(java.lang.String vpnName)
void
vpnInstanceFailed(java.lang.String vpnInstanceName)
void
vpnInstanceIsReady(java.lang.String vpnInstanceName)
-
Methods inherited from class org.opendaylight.serviceutils.tools.listener.AbstractAsyncDataTreeChangeListener
getExecutorService, onDataTreeChanged
-
-
-
-
Constructor Detail
-
VpnInterfaceManager
@Inject public VpnInterfaceManager(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, IBgpManager bgpManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, IFibManager fibManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService ifaceMgrRpcService, VpnFootprintService vpnFootprintService, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, IVpnManager vpnManager, ArpResponderHandler arpResponderHandler, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, org.opendaylight.infrautils.caches.CacheProvider cacheProvider, VpnUtil vpnUtil)
-
-
Method Detail
-
isNotifyTaskQueued
public java.lang.Runnable isNotifyTaskQueued(java.lang.String intfName)
-
start
public void start()
-
close
@PreDestroy public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
-
add
public void add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterface> identifier, VpnInterface vpnInterface)
-
processVpnInterfaceUp
protected void processVpnInterfaceUp(org.opendaylight.yangtools.yang.common.Uint64 dpId, VpnInterface vpnInterface, java.lang.String primaryRd, int lportTag, boolean isInterfaceUp, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeInvTxn, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface interfaceState, java.lang.String vpnName, java.util.Set<java.lang.String> prefixListForRefreshFib) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
processVpnInterfaceAdjacencies
protected void processVpnInterfaceAdjacencies(org.opendaylight.yangtools.yang.common.Uint64 dpnId, int lportTag, java.lang.String vpnName, java.lang.String primaryRd, java.lang.String interfaceName, org.opendaylight.yangtools.yang.common.Uint32 vpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeInvTxn, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface interfaceState, java.util.Set<java.lang.String> prefixListForRefreshFib) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
updateVpnInterfaceOnTepAdd
public void updateVpnInterfaceOnTepAdd(VpnInterfaceOpDataEntry vpnInterface, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state.StateTunnelList stateTunnelList, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn)
-
updateVpnInterfaceOnTepDelete
public void updateVpnInterfaceOnTepDelete(VpnInterfaceOpDataEntry vpnInterface, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.tunnels_state.StateTunnelList stateTunnelList, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn)
-
remove
public void remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterface> identifier, VpnInterface vpnInterface)
-
processVpnInterfaceDown
protected void processVpnInterfaceDown(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String interfaceName, int lportTag, java.lang.String gwMac, VpnInterfaceOpDataEntry vpnOpInterface, boolean isInterfaceStateDown, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeInvTxn) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
update
public void update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterface> identifier, VpnInterface original, VpnInterface update)
-
importSubnetRouteForNewVpn
public void importSubnetRouteForNewVpn(java.lang.String rd, java.lang.String prefix, java.lang.String nextHop, org.opendaylight.yangtools.yang.common.Uint32 label, SubnetRoute route, java.lang.String parentVpnRd, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn)
-
addNewAdjToVpnInterface
protected void addNewAdjToVpnInterface(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterfaceOpDataEntry> identifier, java.lang.String primaryRd, Adjacency adj, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeInvTxn, java.util.Set<java.lang.String> prefixListForRefreshFib) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
delAdjFromVpnInterface
protected void delAdjFromVpnInterface(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterfaceOpDataEntry> identifier, Adjacency adj, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn)
-
createFibEntryForRouterInterface
protected void createFibEntryForRouterInterface(java.lang.String primaryRd, VpnInterface vpnInterface, java.lang.String interfaceName, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, java.lang.String vpnName)
-
deleteFibEntryForRouterInterface
protected void deleteFibEntryForRouterInterface(VpnInterface vpnInterface, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn, java.lang.String vpnName)
-
isVpnInstanceReady
public boolean isVpnInstanceReady(java.lang.String vpnInstanceName)
-
processSavedInterfaces
public void processSavedInterfaces(java.lang.String vpnInstanceName, boolean hasVpnInstanceCreatedSuccessfully)
-
vpnInstanceIsReady
public void vpnInstanceIsReady(java.lang.String vpnInstanceName)
-
vpnInstanceFailed
public void vpnInstanceFailed(java.lang.String vpnInstanceName)
-
updateVpnInterfacesForUnProcessAdjancencies
public void updateVpnInterfacesForUnProcessAdjancencies(java.lang.String vpnName)
-
addBeforeListener
public void addBeforeListener(org.opendaylight.mdsal.binding.api.DataTreeChangeListener<T> arg0)
- Specified by:
addBeforeListener
in interfaceorg.opendaylight.serviceutils.tools.listener.ChainableDataTreeChangeListener<T extends org.opendaylight.yangtools.yang.binding.DataObject>
-
addAfterListener
public void addAfterListener(org.opendaylight.mdsal.binding.api.DataTreeChangeListener<T> arg0)
- Specified by:
addAfterListener
in interfaceorg.opendaylight.serviceutils.tools.listener.ChainableDataTreeChangeListener<T extends org.opendaylight.yangtools.yang.binding.DataObject>
-
register
@PostConstruct public void register()
-
getDataBroker
protected org.opendaylight.mdsal.binding.api.DataBroker getDataBroker()
-
getDataStoreMetrics
protected org.opendaylight.serviceutils.tools.listener.DataStoreMetrics getDataStoreMetrics()
-
add
@Deprecated public void add(T arg0)
Deprecated.
-
remove
@Deprecated public void remove(T arg0)
Deprecated.
-
update
@Deprecated public void update(T arg0, T arg1)
Deprecated.
-
onDataTreeChanged
public default void onDataTreeChanged(java.util.Collection<org.opendaylight.mdsal.binding.api.DataTreeModification<T>> arg0, org.opendaylight.serviceutils.tools.listener.DataStoreMetrics arg1)
-
-