@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.MdsalOp
public 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
ElanException
Copyright © 2019 OpenDaylight. All rights reserved.