Class ElanDmacUtils


  • @Singleton
    public class ElanDmacUtils
    extends java.lang.Object
    • 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 modified
        extDeviceNodeId - Hwvtep node where the mac is attached to
        elanTag - ElanId to which the MAC is being added to
        vni - the vni
        dstMacAddress - The mac address to be programmed
        displayName - 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 tag
        dpId - the dp id
        extDeviceNodeId - the ext device node id
        macToRemove - 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)