@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.
|
com.google.common.util.concurrent.ListenableFuture<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) |
void |
setupElanBroadcastGroups(ElanInstance elanInfo,
DpnInterfaces dpnInterfaces,
BigInteger dpnId) |
void |
setupLeavesEtreeBroadcastGroups(ElanInstance elanInfo,
DpnInterfaces dpnInterfaces,
BigInteger dpnId) |
void |
setupStandardElanBroadcastGroups(ElanInstance elanInfo,
DpnInterfaces dpnInterfaces,
BigInteger dpnId) |
void |
updateRemoteBroadcastGroupForAllElanDpns(ElanInstance elanInfo) |
com.google.common.util.concurrent.ListenableFuture<Void> |
updateRemoteMcastMacOnElanL2GwDevice(String elanName,
L2GatewayDevice device)
Update remote mcast mac on elan l2 gw device.
|
com.google.common.util.concurrent.ListenableFuture<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 com.google.common.util.concurrent.ListenableFuture<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 com.google.common.util.concurrent.ListenableFuture<Void> updateRemoteMcastMacOnElanL2GwDevices(String elanName)
elanName
- the elan to be updatedpublic void scheduleMcastMacUpdateJob(String elanName, L2GatewayDevice device)
public com.google.common.util.concurrent.ListenableFuture<Void> updateRemoteMcastMacOnElanL2GwDevice(String elanName, L2GatewayDevice device)
elanName
- the elan namedevice
- the devicepublic void prepareRemoteMcastMacUpdateOnDevice(String elanName, L2GatewayDevice device)
public void updateRemoteBroadcastGroupForAllElanDpns(ElanInstance elanInfo)
public void setupElanBroadcastGroups(ElanInstance elanInfo, BigInteger dpnId)
public void setupElanBroadcastGroups(ElanInstance elanInfo, DpnInterfaces dpnInterfaces, BigInteger dpnId)
public void setupStandardElanBroadcastGroups(ElanInstance elanInfo, DpnInterfaces dpnInterfaces, BigInteger dpnId)
public void setupLeavesEtreeBroadcastGroups(ElanInstance elanInfo, DpnInterfaces dpnInterfaces, BigInteger dpnId)
@Nonnull public 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)
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.