@Singleton public class ElanDmacUtils extends Object
| Constructor and Description |
|---|
ElanDmacUtils(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
ElanItmUtils elanItmUtils,
ElanEtreeUtils elanEtreeUtils,
ElanInterfaceCache elanInterfaceCache) |
| Modifier and Type | Method and Description |
|---|---|
org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow |
buildDmacFlowForExternalRemoteMac(BigInteger dpId,
String extDeviceNodeId,
long elanTag,
Long vni,
String dstMacAddress,
String displayName)
Builds a Flow to be programmed in a DPN's DMAC table.
|
List<com.google.common.util.concurrent.ListenableFuture<Void>> |
deleteDmacFlowsToExternalMac(long elanTag,
BigInteger dpId,
String extDeviceNodeId,
String macToRemove)
Delete dmac flows to external mac.
|
List<com.google.common.util.concurrent.ListenableFuture<Void>> |
installDmacFlowsToExternalRemoteMac(BigInteger dpnId,
String extDeviceNodeId,
Long elanTag,
Long vni,
String macAddress,
String displayName,
String interfaceName)
Installs a Flow in the specified DPN's DMAC table.
|
List<com.google.common.util.concurrent.ListenableFuture<Void>> |
installDmacFlowsToExternalRemoteMacInBatch(BigInteger dpnId,
String extDeviceNodeId,
Long elanTag,
Long vni,
String macAddress,
String displayName,
String interfaceName) |
void |
setupDmacFlowsToExternalRemoteMac(BigInteger dpId,
String extNodeId,
Long elanTag,
Long vni,
String macAddress,
String elanInstanceName,
org.opendaylight.genius.mdsalutil.MDSALUtil.MdsalOp addOrRemove,
String interfaceName)
Installs or removes flows in DMAC table for MACs that are/were located in
an external Elan Device.
|
@Inject
public ElanDmacUtils(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
ElanItmUtils elanItmUtils,
ElanEtreeUtils elanEtreeUtils,
ElanInterfaceCache elanInterfaceCache)
public org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow buildDmacFlowForExternalRemoteMac(BigInteger dpId, String extDeviceNodeId, long elanTag, Long vni, String dstMacAddress, String displayName)
dpId - DPN whose DMAC table is going to be modifiedextDeviceNodeId - Hwvtep node where the mac is attached toelanTag - ElanId to which the MAC is being added tovni - the vnidstMacAddress - The mac address to be programmeddisplayName - the display namepublic List<com.google.common.util.concurrent.ListenableFuture<Void>> installDmacFlowsToExternalRemoteMac(BigInteger dpnId, String extDeviceNodeId, Long elanTag, Long vni, String macAddress, String displayName, String interfaceName) throws ElanException
dpnId - Id of the DPN where the flow must be installedextDeviceNodeId - the ext device node idelanTag - the elan tagvni - the vnimacAddress - the mac addressdisplayName - the display nameinterfaceName - the interface nameElanException - in case of issues creating the flow objectspublic void setupDmacFlowsToExternalRemoteMac(BigInteger dpId, String extNodeId, Long elanTag, Long vni, String macAddress, String elanInstanceName, org.opendaylight.genius.mdsalutil.MDSALUtil.MdsalOp addOrRemove, String interfaceName) throws ElanException
dpId - Id of the DPN where the DMAC table is going to be modifiedextNodeId - Id of the External Device where the MAC is locatedelanTag - Id of the ELANvni - VNI of the LogicalSwitch to which the MAC belongs to, and that
is associated with the ELANmacAddress - the mac addresselanInstanceName - the elan instance nameaddOrRemove - Indicates if flows must be installed or removed.interfaceName - the interface nameElanException - in case of issues creating the flow objectsMDSALUtil.MdsalOppublic List<com.google.common.util.concurrent.ListenableFuture<Void>> deleteDmacFlowsToExternalMac(long elanTag, BigInteger dpId, String extDeviceNodeId, String macToRemove)
elanTag - the elan tagdpId - the dp idextDeviceNodeId - the ext device node idmacToRemove - the mac to removepublic List<com.google.common.util.concurrent.ListenableFuture<Void>> installDmacFlowsToExternalRemoteMacInBatch(BigInteger dpnId, String extDeviceNodeId, Long elanTag, Long vni, String macAddress, String displayName, String interfaceName) throws ElanException
ElanExceptionCopyright © 2019 OpenDaylight. All rights reserved.