Class VpnUtil
- java.lang.Object
-
- org.opendaylight.netvirt.vpnmanager.VpnUtil
-
@Singleton public final class VpnUtil extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VpnUtil.MicroTimestamp
Class to generate timestamps with microsecond precision.
-
Field Summary
Fields Modifier and Type Field Description static int
SINGLE_TRANSACTION_BROKER_NO_RETRY
-
Constructor Summary
Constructors Constructor Description VpnUtil(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, IFibManager fibManager, IBgpManager bgpManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService lockManager, INeutronVpnManager neutronVpnService, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService ifmRpcService)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static java.lang.String
buildIpMonitorJobKey(java.lang.String ip, java.lang.String vpnName)
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfTables>
buildVrfTableForPrimaryRd(java.lang.String primaryRd)
void
createLearntVpnVipToPort(java.lang.String vpnName, java.lang.String fixedIp, java.lang.String portName, java.lang.String macAddress, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> writeOperTxn)
void
createLearntVpnVipToPortEvent(java.lang.String vpnName, java.lang.String srcIp, java.lang.String destIP, java.lang.String portName, java.lang.String macAddress, LearntVpnVipToPortEventAction action, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> writeOperTxn)
void
createVpnPortFixedIpToPort(java.lang.String vpnName, java.lang.String fixedIp, java.lang.String portName, boolean isLearntIp, java.lang.String macAddress, org.opendaylight.mdsal.binding.api.WriteTransaction writeConfigTxn)
static void
enableArpLearning(java.lang.Boolean isArpLearningEnabled)
java.util.List<VrfEntry>
findVrfEntriesByNexthop(java.lang.String rd, java.lang.String nexthop)
@Nullable java.util.List<Adjacency>
getAdjacenciesForVpnInterfaceFromConfig(java.lang.String intfName)
java.util.List<VrfEntry>
getAllVrfEntries(java.lang.String rd)
Retrieves all the VrfEntries that belong to a given VPN searching by its Route-Distinguisher.@Nullable java.lang.String
getAssociatedExternalSubnet(java.lang.String extIp)
static org.opendaylight.yangtools.yang.common.Uint64
getCookieL3(int vpnId)
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<DpnInterfaces>
getElanDpnInterfaceOperationalDataPath(java.lang.String elanInstanceName, org.opendaylight.yangtools.yang.common.Uint64 dpId)
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanDpnInterfacesList>
getElanDpnOperationalDataPath(java.lang.String elanInstanceName)
@NonNull java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid>
getExternalNetworkRouterIds(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)
java.util.Optional<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress>
getGatewayIpAddressFromInterface(MacEntry macEntry)
java.util.Optional<java.lang.String>
getGWMacAddressFromInterface(MacEntry macEntry, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress gatewayIp)
static int
getIpFamilyValueToAdd(VpnInstanceOpDataEntry original, VpnInstanceOpDataEntry update)
static int
getIpFamilyValueToRemove(VpnInstanceOpDataEntry original, VpnInstanceOpDataEntry update)
static java.lang.String
getIpPrefix(java.lang.String prefix)
static java.util.List<java.lang.String>
getIpsListFromExternalIps(java.util.List<ExternalIps> externalIps)
static IpVersionChoice
getIpVersionFromString(java.lang.String ipAddress)
Get IpVersionChoice from String IP like x.x.x.x or an representation IPv6.@Nullable LearntVpnVipToPort
getLearntVpnVipToPort(java.lang.String vpnName, java.lang.String fixedIp)
@Nullable VpnPortipToPort
getNeutronPortFromVpnPortFixedIp(java.lang.String vpnName, java.lang.String fixedIp)
static @Nullable VpnPortipToPort
getNeutronPortFromVpnPortFixedIp(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> confTx, java.lang.String vpnName, java.lang.String fixedIp)
static java.lang.String
getNextHopLabelKey(java.lang.String rd, java.lang.String prefix)
java.lang.String
getPrimaryRd(java.lang.String vpnName)
Retrieves the primary rd of a vpn instance Primary rd will be the first rd in the list of rds configured for a vpn instance If rd list is empty, primary rd will be vpn instance name Use this function only during create operation cycles.static RouteOrigin
getRouteOrigin(Adjacency.AdjacencyType adjacencyType)
@Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid
getSubnetFromExternalRouterByIp(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, java.lang.String ip)
@Nullable Subnetmap
getSubnetmapFromItsUuid(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid)
Get Subnetmap from its Uuid.org.opendaylight.yangtools.yang.common.Uint32
getUniqueId(java.lang.String poolName, java.lang.String idKey)
java.util.Optional<java.util.List<java.lang.String>>
getVpnHandlingIpv4AssociatedWithInterface(java.lang.String interfaceName)
org.opendaylight.yangtools.yang.common.Uint32
getVpnId(java.lang.String vpnName)
Retrieves the dataplane identifier of a specific VPN, searching by its VpnInstance name.@Nullable VpnInstance
getVpnInstance(java.lang.String vpnInstanceName)
@Nullable VpnInstanceOpDataEntry
getVpnInstanceOpData(java.lang.String rd)
VpnInstanceOpDataEntry
getVpnInstanceOpDataEntryFromVpnName(java.lang.String vpnName)
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInstanceOpDataEntry>
getVpnInstanceOpDataIdentifier(java.lang.String rd)
static Adjacencies
getVpnInterfaceAugmentation(java.util.List<Adjacency> nextHopList)
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterface>
getVpnInterfaceIdentifier(java.lang.String vpnInterfaceName)
static java.util.List<java.lang.String>
getVpnListForVpnInterface(VpnInterface vpnInter)
protected VpnPortipToPort
getVpnPortipToPort(java.lang.String vpnName, java.lang.String fixedIp)
java.lang.String
getVpnRd(java.lang.String vpnName)
Retrieves the VPN Route Distinguisher searching by its Vpn instance name.static java.lang.String
getVpnRd(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> confTx, java.lang.String vpnName)
java.util.List<VpnInstanceOpDataEntry>
getVpnsImportingMyRoute(java.lang.String vpnName)
java.util.Optional<java.lang.String>
getVpnSubnetGatewayIp(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid)
java.util.List<VrfEntry>
getVrfEntriesByOrigin(java.lang.String rd, java.util.List<RouteOrigin> originsToConsider)
Retrieves the VrfEntries that belong to a given VPN filtered out by Origin, searching by its Route-Distinguisher.static java.lang.Boolean
isArpLearningEnabled()
static boolean
isDualRouterVpnUpdate(java.util.List<java.lang.String> oldVpnListCopy, java.util.List<java.lang.String> newVpnListCopy)
static boolean
isEligibleForBgp(@Nullable java.lang.String rd, @Nullable java.lang.String vpnName, @Nullable org.opendaylight.yangtools.yang.common.Uint64 dpnId, @Nullable java.lang.String networkName)
static boolean
isMatchedPrefixToInterface(Prefixes prefix, VpnInterfaceOpDataEntry vpnInterface)
boolean
isVpnPendingDelete(java.lang.String rd)
void
removeLearntVpnVipToPort(java.lang.String vpnName, java.lang.String fixedIp, @Nullable org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> writeOperTxn)
void
removeLearntVpnVipToPortEvent(java.lang.String eventId, @Nullable org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> writeOperTxn)
void
removeMipAdjacency(java.lang.String vpnInterface, java.lang.String ipAddress)
void
removeMipAdjacency(java.lang.String vpnName, java.lang.String vpnInterface, java.lang.String prefix, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
void
removeMipAdjAndLearntIp(java.lang.String vpnName, java.lang.String vpnInterface, java.lang.String prefix)
boolean
removeOrUpdateDSForExtraRoute(java.lang.String vpnName, java.lang.String primaryRd, java.lang.String extraRouteRd, java.lang.String vpnInterfaceName, java.lang.String prefix, java.lang.String nextHop, java.lang.String nextHopTunnelIp, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> operTx)
static void
removeVpnPortFixedIpToPort(org.opendaylight.mdsal.binding.api.DataBroker broker, java.lang.String vpnName, java.lang.String fixedIp, @Nullable org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
void
removeVrfEntries(java.lang.String rd, java.util.List<VrfEntry> vrfEntries)
void
removeVrfEntriesByOrigin(java.lang.String rd, RouteOrigin origin)
Remove from MDSAL all those VrfEntries in a VPN that have an specific RouteOrigin.static void
sendNeighborSolicationToOfGroup(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.util.rev170210.Ipv6NdUtilService ipv6NdUtilService, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address srcIpv6Address, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress srcMac, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address dstIpv6Address, java.lang.Long ofGroupId, org.opendaylight.yangtools.yang.common.Uint64 dpId)
void
setVpnInstanceOpDataWithAddressFamily(java.lang.String vpnName, VpnInstance.IpAddressFamilyConfigured ipVersion, org.opendaylight.mdsal.binding.api.WriteTransaction writeOperTxn)
<T extends org.opendaylight.yangtools.yang.binding.DataObject>
voidsyncUpdate(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data)
Deprecated.<T extends org.opendaylight.yangtools.yang.binding.DataObject>
voidsyncWrite(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data)
Deprecated.void
unlockSubnet(java.lang.String subnetId)
void
updateVpnInstanceOpDataWithRdList(java.lang.String vpnName, java.util.List<java.lang.String> updatedRdList, org.opendaylight.mdsal.binding.api.WriteTransaction writeOperTxn)
void
updateVpnInstanceOpDataWithVpnType(java.lang.String vpnName, VpnInstance.BgpvpnType bgpvpnType, org.opendaylight.mdsal.binding.api.WriteTransaction writeOperTxn)
void
updateVpnInstanceWithRdList(java.lang.String vpnName, java.util.List<java.lang.String> updatedRdList)
void
withdrawRoutes(java.lang.String rd, java.util.List<VrfEntry> vrfEntries)
-
-
-
Field Detail
-
SINGLE_TRANSACTION_BROKER_NO_RETRY
public static final int SINGLE_TRANSACTION_BROKER_NO_RETRY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
VpnUtil
public VpnUtil(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, IFibManager fibManager, IBgpManager bgpManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService lockManager, INeutronVpnManager neutronVpnService, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService ifmRpcService)
-
-
Method Detail
-
getVpnInterfaceIdentifier
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInterface> getVpnInterfaceIdentifier(java.lang.String vpnInterfaceName)
-
getVrfEntriesByOrigin
public java.util.List<VrfEntry> getVrfEntriesByOrigin(java.lang.String rd, java.util.List<RouteOrigin> originsToConsider)
Retrieves the VrfEntries that belong to a given VPN filtered out by Origin, searching by its Route-Distinguisher.- Parameters:
rd
- Route-distinguisher of the VPNoriginsToConsider
- Only entries whose origin is included in this list will be considered- Returns:
- the list of VrfEntries
-
getAllVrfEntries
public java.util.List<VrfEntry> getAllVrfEntries(java.lang.String rd)
Retrieves all the VrfEntries that belong to a given VPN searching by its Route-Distinguisher.- Parameters:
rd
- Route-distinguisher of the VPN- Returns:
- the list of VrfEntries
-
getVpnInstance
public @Nullable VpnInstance getVpnInstance(java.lang.String vpnInstanceName)
-
getAdjacenciesForVpnInterfaceFromConfig
public @Nullable java.util.List<Adjacency> getAdjacenciesForVpnInterfaceFromConfig(java.lang.String intfName)
-
getVpnInterfaceAugmentation
public static Adjacencies getVpnInterfaceAugmentation(java.util.List<Adjacency> nextHopList)
-
getCookieL3
public static org.opendaylight.yangtools.yang.common.Uint64 getCookieL3(int vpnId)
-
getUniqueId
public org.opendaylight.yangtools.yang.common.Uint32 getUniqueId(java.lang.String poolName, java.lang.String idKey)
-
getNextHopLabelKey
public static java.lang.String getNextHopLabelKey(java.lang.String rd, java.lang.String prefix)
-
getVpnId
public org.opendaylight.yangtools.yang.common.Uint32 getVpnId(java.lang.String vpnName)
Retrieves the dataplane identifier of a specific VPN, searching by its VpnInstance name.- Parameters:
vpnName
- Name of the VPN- Returns:
- the dataplane identifier of the VPN, the VrfTag.
-
getVpnRd
public java.lang.String getVpnRd(java.lang.String vpnName)
Retrieves the VPN Route Distinguisher searching by its Vpn instance name.- Parameters:
vpnName
- Name of the VPN- Returns:
- the route-distinguisher of the VPN
-
getVpnRd
public static java.lang.String getVpnRd(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> confTx, java.lang.String vpnName)
-
removeVrfEntriesByOrigin
public void removeVrfEntriesByOrigin(java.lang.String rd, RouteOrigin origin)
Remove from MDSAL all those VrfEntries in a VPN that have an specific RouteOrigin.- Parameters:
rd
- Route Distinguisherorigin
- Origin of the Routes to be removed (seeRouteOrigin
)
-
findVrfEntriesByNexthop
public java.util.List<VrfEntry> findVrfEntriesByNexthop(java.lang.String rd, java.lang.String nexthop)
-
removeVrfEntries
public void removeVrfEntries(java.lang.String rd, java.util.List<VrfEntry> vrfEntries)
-
withdrawRoutes
public void withdrawRoutes(java.lang.String rd, java.util.List<VrfEntry> vrfEntries)
-
removeOrUpdateDSForExtraRoute
public boolean removeOrUpdateDSForExtraRoute(java.lang.String vpnName, java.lang.String primaryRd, java.lang.String extraRouteRd, java.lang.String vpnInterfaceName, java.lang.String prefix, java.lang.String nextHop, java.lang.String nextHopTunnelIp, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> operTx)
-
getVpnInstanceOpDataIdentifier
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInstanceOpDataEntry> getVpnInstanceOpDataIdentifier(java.lang.String rd)
-
getVpnInstanceOpData
public @Nullable VpnInstanceOpDataEntry getVpnInstanceOpData(java.lang.String rd)
-
getVpnHandlingIpv4AssociatedWithInterface
public java.util.Optional<java.util.List<java.lang.String>> getVpnHandlingIpv4AssociatedWithInterface(java.lang.String interfaceName)
-
getIpPrefix
public static java.lang.String getIpPrefix(java.lang.String prefix)
-
syncWrite
@Deprecated public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void syncWrite(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data)
Deprecated.
-
syncUpdate
@Deprecated public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void syncUpdate(org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data)
Deprecated.
-
createLearntVpnVipToPort
public void createLearntVpnVipToPort(java.lang.String vpnName, java.lang.String fixedIp, java.lang.String portName, java.lang.String macAddress, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> writeOperTxn)
-
removeLearntVpnVipToPort
public void removeLearntVpnVipToPort(java.lang.String vpnName, java.lang.String fixedIp, @Nullable org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> writeOperTxn)
-
removeVpnPortFixedIpToPort
public static void removeVpnPortFixedIpToPort(org.opendaylight.mdsal.binding.api.DataBroker broker, java.lang.String vpnName, java.lang.String fixedIp, @Nullable org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
-
createLearntVpnVipToPortEvent
public void createLearntVpnVipToPortEvent(java.lang.String vpnName, java.lang.String srcIp, java.lang.String destIP, java.lang.String portName, java.lang.String macAddress, LearntVpnVipToPortEventAction action, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> writeOperTxn)
-
removeLearntVpnVipToPortEvent
public void removeLearntVpnVipToPortEvent(java.lang.String eventId, @Nullable org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Operational> writeOperTxn)
-
removeMipAdjAndLearntIp
public void removeMipAdjAndLearntIp(java.lang.String vpnName, java.lang.String vpnInterface, java.lang.String prefix)
-
removeMipAdjacency
public void removeMipAdjacency(java.lang.String vpnName, java.lang.String vpnInterface, java.lang.String prefix, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
-
removeMipAdjacency
public void removeMipAdjacency(java.lang.String vpnInterface, java.lang.String ipAddress)
-
getNeutronPortFromVpnPortFixedIp
public @Nullable VpnPortipToPort getNeutronPortFromVpnPortFixedIp(java.lang.String vpnName, java.lang.String fixedIp)
-
getNeutronPortFromVpnPortFixedIp
public static @Nullable VpnPortipToPort getNeutronPortFromVpnPortFixedIp(org.opendaylight.mdsal.binding.util.TypedReadTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> confTx, java.lang.String vpnName, java.lang.String fixedIp)
-
getLearntVpnVipToPort
public @Nullable LearntVpnVipToPort getLearntVpnVipToPort(java.lang.String vpnName, java.lang.String fixedIp)
-
getAssociatedExternalSubnet
public @Nullable java.lang.String getAssociatedExternalSubnet(java.lang.String extIp)
-
getExternalNetworkRouterIds
public @NonNull java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getExternalNetworkRouterIds(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)
-
unlockSubnet
public void unlockSubnet(java.lang.String subnetId)
-
getGatewayIpAddressFromInterface
public java.util.Optional<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress> getGatewayIpAddressFromInterface(MacEntry macEntry)
-
getGWMacAddressFromInterface
public java.util.Optional<java.lang.String> getGWMacAddressFromInterface(MacEntry macEntry, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress gatewayIp)
-
getVpnSubnetGatewayIp
public java.util.Optional<java.lang.String> getVpnSubnetGatewayIp(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid)
-
getPrimaryRd
public java.lang.String getPrimaryRd(java.lang.String vpnName)
Retrieves the primary rd of a vpn instance Primary rd will be the first rd in the list of rds configured for a vpn instance If rd list is empty, primary rd will be vpn instance name Use this function only during create operation cycles. For other operations, use getVpnRd() method.- Parameters:
vpnName
- Name of the VPN- Returns:
- the primary rd of the VPN
-
getIpsListFromExternalIps
public static java.util.List<java.lang.String> getIpsListFromExternalIps(java.util.List<ExternalIps> externalIps)
-
getSubnetFromExternalRouterByIp
public @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getSubnetFromExternalRouterByIp(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, java.lang.String ip)
-
isEligibleForBgp
public static boolean isEligibleForBgp(@Nullable java.lang.String rd, @Nullable java.lang.String vpnName, @Nullable org.opendaylight.yangtools.yang.common.Uint64 dpnId, @Nullable java.lang.String networkName)
-
isVpnPendingDelete
public boolean isVpnPendingDelete(java.lang.String rd)
-
getVpnsImportingMyRoute
public java.util.List<VpnInstanceOpDataEntry> getVpnsImportingMyRoute(java.lang.String vpnName)
-
getSubnetmapFromItsUuid
public @Nullable Subnetmap getSubnetmapFromItsUuid(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid)
Get Subnetmap from its Uuid.- Parameters:
subnetUuid
- the subnet's Uuid- Returns:
- the Subnetmap of Uuid or null if it is not found
-
getIpVersionFromString
public static IpVersionChoice getIpVersionFromString(java.lang.String ipAddress)
Get IpVersionChoice from String IP like x.x.x.x or an representation IPv6.- Parameters:
ipAddress
- String of an representation IP address V4 or V6- Returns:
- the IpVersionChoice of the version or IpVersionChoice.UNDEFINED otherwise
-
getElanDpnInterfaceOperationalDataPath
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<DpnInterfaces> getElanDpnInterfaceOperationalDataPath(java.lang.String elanInstanceName, org.opendaylight.yangtools.yang.common.Uint64 dpId)
-
getElanDpnOperationalDataPath
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ElanDpnInterfacesList> getElanDpnOperationalDataPath(java.lang.String elanInstanceName)
-
isMatchedPrefixToInterface
public static boolean isMatchedPrefixToInterface(Prefixes prefix, VpnInterfaceOpDataEntry vpnInterface)
-
sendNeighborSolicationToOfGroup
public static void sendNeighborSolicationToOfGroup(org.opendaylight.yang.gen.v1.urn.opendaylight.genius.ipv6.nd.util.rev170210.Ipv6NdUtilService ipv6NdUtilService, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address srcIpv6Address, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress srcMac, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address dstIpv6Address, java.lang.Long ofGroupId, org.opendaylight.yangtools.yang.common.Uint64 dpId)
-
getIpFamilyValueToRemove
public static int getIpFamilyValueToRemove(VpnInstanceOpDataEntry original, VpnInstanceOpDataEntry update)
-
getIpFamilyValueToAdd
public static int getIpFamilyValueToAdd(VpnInstanceOpDataEntry original, VpnInstanceOpDataEntry update)
-
buildIpMonitorJobKey
public static java.lang.String buildIpMonitorJobKey(java.lang.String ip, java.lang.String vpnName)
-
getVpnListForVpnInterface
public static java.util.List<java.lang.String> getVpnListForVpnInterface(VpnInterface vpnInter)
-
updateVpnInstanceWithRdList
public void updateVpnInstanceWithRdList(java.lang.String vpnName, java.util.List<java.lang.String> updatedRdList)
-
getRouteOrigin
public static RouteOrigin getRouteOrigin(Adjacency.AdjacencyType adjacencyType)
-
isDualRouterVpnUpdate
public static boolean isDualRouterVpnUpdate(java.util.List<java.lang.String> oldVpnListCopy, java.util.List<java.lang.String> newVpnListCopy)
-
createVpnPortFixedIpToPort
public void createVpnPortFixedIpToPort(java.lang.String vpnName, java.lang.String fixedIp, java.lang.String portName, boolean isLearntIp, java.lang.String macAddress, org.opendaylight.mdsal.binding.api.WriteTransaction writeConfigTxn)
-
getVpnPortipToPort
protected VpnPortipToPort getVpnPortipToPort(java.lang.String vpnName, java.lang.String fixedIp)
-
enableArpLearning
public static void enableArpLearning(java.lang.Boolean isArpLearningEnabled)
-
isArpLearningEnabled
public static java.lang.Boolean isArpLearningEnabled()
-
buildVrfTableForPrimaryRd
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfTables> buildVrfTableForPrimaryRd(java.lang.String primaryRd)
-
setVpnInstanceOpDataWithAddressFamily
public void setVpnInstanceOpDataWithAddressFamily(java.lang.String vpnName, VpnInstance.IpAddressFamilyConfigured ipVersion, org.opendaylight.mdsal.binding.api.WriteTransaction writeOperTxn)
-
updateVpnInstanceOpDataWithVpnType
public void updateVpnInstanceOpDataWithVpnType(java.lang.String vpnName, VpnInstance.BgpvpnType bgpvpnType, org.opendaylight.mdsal.binding.api.WriteTransaction writeOperTxn)
-
getVpnInstanceOpDataEntryFromVpnName
public VpnInstanceOpDataEntry getVpnInstanceOpDataEntryFromVpnName(java.lang.String vpnName)
-
updateVpnInstanceOpDataWithRdList
public void updateVpnInstanceOpDataWithRdList(java.lang.String vpnName, java.util.List<java.lang.String> updatedRdList, org.opendaylight.mdsal.binding.api.WriteTransaction writeOperTxn)
-
-