Class ElanDmacUtils
- java.lang.Object
-
- org.opendaylight.netvirt.elan.utils.ElanDmacUtils
-
@Singleton public class ElanDmacUtils extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description ElanDmacUtils(ElanItmUtils elanItmUtils, ElanEtreeUtils elanEtreeUtils, ElanInterfaceCache elanInterfaceCache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow
buildDmacFlowForExternalRemoteMac(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String extDeviceNodeId, long elanTag, java.lang.Long vni, java.lang.String dstMacAddress, java.lang.String displayName)
Builds a Flow to be programmed in a DPN's DMAC table.java.util.List<com.google.common.util.concurrent.ListenableFuture<java.lang.Void>>
deleteDmacFlowsToExternalMac(long elanTag, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String extDeviceNodeId, java.lang.String macToRemove)
Delete dmac flows to external mac.java.util.List<com.google.common.util.concurrent.ListenableFuture<java.lang.Void>>
installDmacFlowsToExternalRemoteMacInBatch(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String extDeviceNodeId, java.lang.Long elanTag, java.lang.Long vni, java.lang.String macAddress, java.lang.String displayName, @Nullable java.lang.String interfaceName)
-
-
-
Constructor Detail
-
ElanDmacUtils
@Inject public ElanDmacUtils(ElanItmUtils elanItmUtils, ElanEtreeUtils elanEtreeUtils, ElanInterfaceCache elanInterfaceCache)
-
-
Method Detail
-
buildDmacFlowForExternalRemoteMac
public org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow buildDmacFlowForExternalRemoteMac(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String extDeviceNodeId, long elanTag, java.lang.Long vni, java.lang.String dstMacAddress, java.lang.String displayName)
Builds a Flow to be programmed in a DPN's DMAC table. This method must be used when the MAC is located in an External Device (TOR). The flow matches on the specified MAC and 1) sends the packet over the CSS-TOR tunnel if SHFlag is not set, or 2) drops it if SHFlag is set (what means the packet came from an external tunnel)- Parameters:
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 name- Returns:
- the flow
-
deleteDmacFlowsToExternalMac
public java.util.List<com.google.common.util.concurrent.ListenableFuture<java.lang.Void>> deleteDmacFlowsToExternalMac(long elanTag, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String extDeviceNodeId, java.lang.String macToRemove)
Delete dmac flows to external mac.- Parameters:
elanTag
- the elan tagdpId
- the dp idextDeviceNodeId
- the ext device node idmacToRemove
- the mac to remove- Returns:
- dmac flow
-
installDmacFlowsToExternalRemoteMacInBatch
public java.util.List<com.google.common.util.concurrent.ListenableFuture<java.lang.Void>> installDmacFlowsToExternalRemoteMacInBatch(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String extDeviceNodeId, java.lang.Long elanTag, java.lang.Long vni, java.lang.String macAddress, java.lang.String displayName, @Nullable java.lang.String interfaceName)
-
-