Class EvpnUtils
- java.lang.Object
-
- org.opendaylight.netvirt.elan.evpn.utils.EvpnUtils
-
@Singleton public class EvpnUtils extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description EvpnUtils(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, ElanUtils elanUtils, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService, IVpnManager vpnManager, IBgpManager bgpManager, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, ElanInstanceCache elanInstanceCache)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadvertiseEvpnRT2Routes(EvpnAugmentation evpnAugmentation, java.lang.String elanName)voidadvertisePrefix(ElanInstance elanInfo, java.lang.String rd, java.lang.String macAddress, java.lang.String prefix, java.lang.String interfaceName, org.opendaylight.yangtools.yang.common.Uint64 dpnId)voidadvertisePrefix(ElanInstance elanInfo, java.lang.String macAddress, java.lang.String prefix, java.lang.String interfaceName, org.opendaylight.yangtools.yang.common.Uint64 dpnId)voidadvertisePrefix(ElanInstance elanInfo, MacEntry macEntry)<T extends org.opendaylight.yangtools.yang.binding.DataObject>
voidasyncReadAndExecute(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> iid, java.lang.String jobKey, java.util.function.Function<com.google.common.base.Optional<T>,java.lang.Void> function)voidbindElanServiceToExternalTunnel(java.lang.String elanName, java.lang.String interfaceName)com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList>getDcGatewayIpList()static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList>getDcGatewayIpListIdentifier()java.util.List<java.lang.String>getDcGatewayTunnelInterfaceNameList()@Nullable java.lang.StringgetEndpointIpAddressForDPN(org.opendaylight.yangtools.yang.common.Uint64 dpnId)static @Nullable java.lang.StringgetEvpnNameFromElan(ElanInstance elanInfo)@Nullable java.lang.StringgetEvpnRd(ElanInstance elanInfo)com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.ExternalTunnelList>getExternalTunnelList()static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.ExternalTunnelList>getExternaTunnelListIdentifier()com.google.common.base.Optional<java.lang.String>getGatewayMacAddressForInterface(java.lang.String vpnName, java.lang.String ifName, java.lang.String ipAddress)@Nullable java.lang.StringgetL3vpnNameFromElan(ElanInstance elanInfo)booleanisAdvertiseEvpnRT2Routes(ElanInstance original, ElanInstance update)booleanisWithdrawEvpnRT2Routes(ElanInstance original, ElanInstance update)voidprogramEvpnL2vniDemuxTable(java.lang.String elanName, java.util.function.BiConsumer<java.lang.String,java.lang.String> serviceHandler, java.util.function.BiConsumer<org.opendaylight.yangtools.yang.common.Uint64,org.opendaylight.genius.mdsalutil.FlowEntity> flowHandler)voidunbindElanServiceFromExternalTunnel(java.lang.String elanName, java.lang.String interfaceName)voidwithdrawEvpnRT2Routes(EvpnAugmentation evpnAugmentation, java.lang.String elanName)voidwithdrawPrefix(ElanInstance elanInfo, java.lang.String prefix)voidwithdrawPrefix(ElanInstance elanInfo, MacEntry macEntry)
-
-
-
Constructor Detail
-
EvpnUtils
@Inject public EvpnUtils(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, ElanUtils elanUtils, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService, IVpnManager vpnManager, IBgpManager bgpManager, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, ElanInstanceCache elanInstanceCache)
-
-
Method Detail
-
isWithdrawEvpnRT2Routes
public boolean isWithdrawEvpnRT2Routes(ElanInstance original, ElanInstance update)
-
isAdvertiseEvpnRT2Routes
public boolean isAdvertiseEvpnRT2Routes(ElanInstance original, ElanInstance update)
-
advertiseEvpnRT2Routes
public void advertiseEvpnRT2Routes(EvpnAugmentation evpnAugmentation, java.lang.String elanName)
-
getEndpointIpAddressForDPN
public @Nullable java.lang.String getEndpointIpAddressForDPN(org.opendaylight.yangtools.yang.common.Uint64 dpnId)
-
getGatewayMacAddressForInterface
public com.google.common.base.Optional<java.lang.String> getGatewayMacAddressForInterface(java.lang.String vpnName, java.lang.String ifName, java.lang.String ipAddress)
-
getL3vpnNameFromElan
public @Nullable java.lang.String getL3vpnNameFromElan(ElanInstance elanInfo)
-
getEvpnNameFromElan
public static @Nullable java.lang.String getEvpnNameFromElan(ElanInstance elanInfo)
-
getEvpnRd
public @Nullable java.lang.String getEvpnRd(ElanInstance elanInfo)
-
advertisePrefix
public void advertisePrefix(ElanInstance elanInfo, java.lang.String macAddress, java.lang.String prefix, java.lang.String interfaceName, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
-
advertisePrefix
public void advertisePrefix(ElanInstance elanInfo, java.lang.String rd, java.lang.String macAddress, java.lang.String prefix, java.lang.String interfaceName, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
-
advertisePrefix
public void advertisePrefix(ElanInstance elanInfo, MacEntry macEntry)
-
withdrawEvpnRT2Routes
public void withdrawEvpnRT2Routes(EvpnAugmentation evpnAugmentation, java.lang.String elanName)
-
withdrawPrefix
public void withdrawPrefix(ElanInstance elanInfo, java.lang.String prefix)
-
withdrawPrefix
public void withdrawPrefix(ElanInstance elanInfo, MacEntry macEntry)
-
getExternaTunnelListIdentifier
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.ExternalTunnelList> getExternaTunnelListIdentifier()
-
getExternalTunnelList
public com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.ExternalTunnelList> getExternalTunnelList()
-
getDcGatewayIpListIdentifier
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList> getDcGatewayIpListIdentifier()
-
getDcGatewayIpList
public com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList> getDcGatewayIpList()
-
getDcGatewayTunnelInterfaceNameList
public java.util.List<java.lang.String> getDcGatewayTunnelInterfaceNameList()
-
bindElanServiceToExternalTunnel
public void bindElanServiceToExternalTunnel(java.lang.String elanName, java.lang.String interfaceName)
-
unbindElanServiceFromExternalTunnel
public void unbindElanServiceFromExternalTunnel(java.lang.String elanName, java.lang.String interfaceName)
-
programEvpnL2vniDemuxTable
public void programEvpnL2vniDemuxTable(java.lang.String elanName, java.util.function.BiConsumer<java.lang.String,java.lang.String> serviceHandler, java.util.function.BiConsumer<org.opendaylight.yangtools.yang.common.Uint64,org.opendaylight.genius.mdsalutil.FlowEntity> flowHandler)
-
asyncReadAndExecute
public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void asyncReadAndExecute(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> iid, java.lang.String jobKey, java.util.function.Function<com.google.common.base.Optional<T>,java.lang.Void> function)
-
-