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.mdsal.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 void
advertiseEvpnRT2Routes(EvpnAugmentation evpnAugmentation, java.lang.String elanName)
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)
void
advertisePrefix(ElanInstance elanInfo, java.lang.String macAddress, java.lang.String prefix, java.lang.String interfaceName, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
void
advertisePrefix(ElanInstance elanInfo, MacEntry macEntry)
<T extends org.opendaylight.yangtools.yang.binding.DataObject>
voidasyncReadAndExecute(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> iid, java.lang.String jobKey, java.util.function.Function<java.util.Optional<T>,java.lang.Void> function)
void
bindElanServiceToExternalTunnel(java.lang.String elanName, java.lang.String interfaceName)
java.util.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.String
getEndpointIpAddressForDPN(org.opendaylight.yangtools.yang.common.Uint64 dpnId)
static @Nullable java.lang.String
getEvpnNameFromElan(ElanInstance elanInfo)
@Nullable java.lang.String
getEvpnRd(ElanInstance elanInfo)
java.util.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()
java.util.Optional<java.lang.String>
getGatewayMacAddressForInterface(java.lang.String vpnName, java.lang.String ifName, java.lang.String ipAddress)
@Nullable java.lang.String
getL3vpnNameFromElan(ElanInstance elanInfo)
boolean
isAdvertiseEvpnRT2Routes(ElanInstance original, ElanInstance update)
boolean
isWithdrawEvpnRT2Routes(ElanInstance original, ElanInstance update)
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)
void
unbindElanServiceFromExternalTunnel(java.lang.String elanName, java.lang.String interfaceName)
void
withdrawEvpnRT2Routes(EvpnAugmentation evpnAugmentation, java.lang.String elanName)
void
withdrawPrefix(ElanInstance elanInfo, java.lang.String prefix)
void
withdrawPrefix(ElanInstance elanInfo, MacEntry macEntry)
-
-
-
Constructor Detail
-
EvpnUtils
@Inject public EvpnUtils(org.opendaylight.mdsal.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 java.util.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 java.util.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 java.util.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.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> iid, java.lang.String jobKey, java.util.function.Function<java.util.Optional<T>,java.lang.Void> function)
-
-