@Singleton public class ElanL2GatewayMulticastUtils extends Object
Constructor and Description |
---|
ElanL2GatewayMulticastUtils(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
ElanItmUtils elanItmUtils,
org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator,
ElanUtils elanUtils,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager) |
Modifier and Type | Method and Description |
---|---|
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ExternalTeps> |
buildExternalTepPath(String elan,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tepIp) |
protected ExternalTeps |
buildExternalTeps(L2GatewayDevice device) |
DesignatedSwitchForTunnel |
getDesignatedSwitchForExternalTunnel(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp,
String elanInstanceName)
Gets the designated switch for external tunnel.
|
List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket> |
getRemoteBCGroupBuckets(ElanInstance elanInfo,
DpnInterfaces dpnInterfaces,
BigInteger dpnId,
int bucketId,
long elanTag) |
List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket> |
getRemoteBCGroupBucketsOfElanExternalTeps(ElanInstance elanInfo,
BigInteger dpnId,
int bucketId) |
List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket> |
getRemoteBCGroupBucketsOfElanL2GwDevices(ElanInstance elanInfo,
BigInteger dpnId,
int bucketId) |
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress |
getTepIpOfDesignatedSwitchForExternalTunnel(L2GatewayDevice l2GwDevice,
String elanInstanceName)
Gets the tep ip of designated switch for external tunnel.
|
void |
handleMcastForElanL2GwDeviceAdd(String elanName,
L2GatewayDevice device)
Handle mcast for elan l2 gw device add.
|
List<com.google.common.util.concurrent.ListenableFuture<Void>> |
handleMcastForElanL2GwDeviceDelete(String elanName,
L2GatewayDevice l2GatewayDevice)
Handle mcast for elan l2 gw device delete.
|
void |
prepareRemoteMcastMacUpdateOnDevice(String elanName,
L2GatewayDevice device) |
void |
scheduleMcastMacUpdateJob(String elanName,
L2GatewayDevice device) |
void |
setupElanBroadcastGroups(ElanInstance elanInfo,
BigInteger dpnId,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
setupElanBroadcastGroups(ElanInstance elanInfo,
DpnInterfaces dpnInterfaces,
BigInteger dpnId,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
setupLeavesEtreeBroadcastGroups(ElanInstance elanInfo,
DpnInterfaces dpnInterfaces,
BigInteger dpnId,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
setupStandardElanBroadcastGroups(ElanInstance elanInfo,
DpnInterfaces dpnInterfaces,
BigInteger dpnId,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
updateRemoteBroadcastGroupForAllElanDpns(ElanInstance elanInfo,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
updateRemoteMcastMacOnElanL2GwDevice(String elanName,
L2GatewayDevice device)
Update remote mcast mac on elan l2 gw device.
|
void |
updateRemoteMcastMacOnElanL2GwDevices(String elanName)
Updates the remote mcast mac table for all the devices in this elan
includes all the dpn tep ips and other devices tep ips in broadcast
locator set.
|
@Inject public ElanL2GatewayMulticastUtils(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, ElanItmUtils elanItmUtils, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, ElanUtils elanUtils, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager)
public void handleMcastForElanL2GwDeviceAdd(String elanName, L2GatewayDevice device)
elanName
- the elan namedevice
- the devicepublic static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ExternalTeps> buildExternalTepPath(String elan, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tepIp)
protected ExternalTeps buildExternalTeps(L2GatewayDevice device)
public void updateRemoteMcastMacOnElanL2GwDevices(String elanName)
elanName
- the elan to be updatedpublic void scheduleMcastMacUpdateJob(String elanName, L2GatewayDevice device)
public void updateRemoteMcastMacOnElanL2GwDevice(String elanName, L2GatewayDevice device)
elanName
- the elan namedevice
- the devicepublic void prepareRemoteMcastMacUpdateOnDevice(String elanName, L2GatewayDevice device)
public void updateRemoteBroadcastGroupForAllElanDpns(ElanInstance elanInfo, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
public void setupElanBroadcastGroups(ElanInstance elanInfo, BigInteger dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
public void setupElanBroadcastGroups(ElanInstance elanInfo, @Nullable DpnInterfaces dpnInterfaces, BigInteger dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
public void setupStandardElanBroadcastGroups(ElanInstance elanInfo, @Nullable DpnInterfaces dpnInterfaces, BigInteger dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
public void setupLeavesEtreeBroadcastGroups(ElanInstance elanInfo, @Nullable DpnInterfaces dpnInterfaces, BigInteger dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
@Nonnull public List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket> getRemoteBCGroupBuckets(ElanInstance elanInfo, @Nullable DpnInterfaces dpnInterfaces, BigInteger dpnId, int bucketId, long elanTag)
public List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket> getRemoteBCGroupBucketsOfElanL2GwDevices(ElanInstance elanInfo, BigInteger dpnId, int bucketId)
public List<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket> getRemoteBCGroupBucketsOfElanExternalTeps(ElanInstance elanInfo, BigInteger dpnId, int bucketId)
public List<com.google.common.util.concurrent.ListenableFuture<Void>> handleMcastForElanL2GwDeviceDelete(String elanName, L2GatewayDevice l2GatewayDevice)
elanName
- the elan instance namel2GatewayDevice
- the l2 gateway devicepublic org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress getTepIpOfDesignatedSwitchForExternalTunnel(L2GatewayDevice l2GwDevice, String elanInstanceName)
l2GwDevice
- the l2 gw deviceelanInstanceName
- the elan instance namepublic DesignatedSwitchForTunnel getDesignatedSwitchForExternalTunnel(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress tunnelIp, String elanInstanceName)
tunnelIp
- the tunnel ipelanInstanceName
- the elan instance nameCopyright © 2019 OpenDaylight. All rights reserved.