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 classVpnUtil.MicroTimestampClass to generate timestamps with microsecond precision. 
- 
Field Summary
Fields Modifier and Type Field Description static intSINGLE_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.StringbuildIpMonitorJobKey(java.lang.String ip, java.lang.String vpnName)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfTables>buildVrfTableForPrimaryRd(java.lang.String primaryRd)voidcreateLearntVpnVipToPort(java.lang.String vpnName, java.lang.String fixedIp, java.lang.String portName, java.lang.String macAddress, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn)voidcreateLearntVpnVipToPortEvent(java.lang.String vpnName, java.lang.String srcIp, java.lang.String destIP, java.lang.String portName, java.lang.String macAddress, LearntVpnVipToPortEventAction action, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn)voidcreateVpnPortFixedIpToPort(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 voidenableArpLearning(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.StringgetAssociatedExternalSubnet(java.lang.String extIp)static org.opendaylight.yangtools.yang.common.Uint64getCookieL3(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 intgetIpFamilyValueToAdd(VpnInstanceOpDataEntry original, VpnInstanceOpDataEntry update)static intgetIpFamilyValueToRemove(VpnInstanceOpDataEntry original, VpnInstanceOpDataEntry update)static java.lang.StringgetIpPrefix(java.lang.String prefix)static java.util.List<java.lang.String>getIpsListFromExternalIps(java.util.List<ExternalIps> externalIps)static IpVersionChoicegetIpVersionFromString(java.lang.String ipAddress)Get IpVersionChoice from String IP like x.x.x.x or an representation IPv6.@Nullable LearntVpnVipToPortgetLearntVpnVipToPort(java.lang.String vpnName, java.lang.String fixedIp)@Nullable VpnPortipToPortgetNeutronPortFromVpnPortFixedIp(java.lang.String vpnName, java.lang.String fixedIp)static @Nullable VpnPortipToPortgetNeutronPortFromVpnPortFixedIp(org.opendaylight.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, java.lang.String vpnName, java.lang.String fixedIp)static java.lang.StringgetNextHopLabelKey(java.lang.String rd, java.lang.String prefix)java.lang.StringgetPrimaryRd(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 RouteOrigingetRouteOrigin(Adjacency.AdjacencyType adjacencyType)@Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.UuidgetSubnetFromExternalRouterByIp(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, java.lang.String ip)@Nullable SubnetmapgetSubnetmapFromItsUuid(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.Uint32getUniqueId(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.Uint32getVpnId(java.lang.String vpnName)Retrieves the dataplane identifier of a specific VPN, searching by its VpnInstance name.@Nullable VpnInstancegetVpnInstance(java.lang.String vpnInstanceName)@Nullable VpnInstanceOpDataEntrygetVpnInstanceOpData(java.lang.String rd)VpnInstanceOpDataEntrygetVpnInstanceOpDataEntryFromVpnName(java.lang.String vpnName)static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInstanceOpDataEntry>getVpnInstanceOpDataIdentifier(java.lang.String rd)static AdjacenciesgetVpnInterfaceAugmentation(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 VpnPortipToPortgetVpnPortipToPort(java.lang.String vpnName, java.lang.String fixedIp)java.lang.StringgetVpnRd(java.lang.String vpnName)Retrieves the VPN Route Distinguisher searching by its Vpn instance name.static java.lang.StringgetVpnRd(org.opendaylight.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.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.BooleanisArpLearningEnabled()static booleanisDualRouterVpnUpdate(java.util.List<java.lang.String> oldVpnListCopy, java.util.List<java.lang.String> newVpnListCopy)static booleanisEligibleForBgp(@Nullable java.lang.String rd, @Nullable java.lang.String vpnName, @Nullable org.opendaylight.yangtools.yang.common.Uint64 dpnId, @Nullable java.lang.String networkName)static booleanisMatchedPrefixToInterface(Prefixes prefix, VpnInterfaceOpDataEntry vpnInterface)booleanisVpnPendingDelete(java.lang.String rd)voidremoveLearntVpnVipToPort(java.lang.String vpnName, java.lang.String fixedIp, @Nullable org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn)voidremoveLearntVpnVipToPortEvent(java.lang.String eventId, @Nullable org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn)voidremoveMipAdjacency(java.lang.String vpnInterface, java.lang.String ipAddress)voidremoveMipAdjacency(java.lang.String vpnName, java.lang.String vpnInterface, java.lang.String prefix, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn)voidremoveMipAdjAndLearntIp(java.lang.String vpnName, java.lang.String vpnInterface, java.lang.String prefix)booleanremoveOrUpdateDSForExtraRoute(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.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> operTx)static voidremoveVpnPortFixedIpToPort(org.opendaylight.mdsal.binding.api.DataBroker broker, java.lang.String vpnName, java.lang.String fixedIp, @Nullable org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn)voidremoveVrfEntries(java.lang.String rd, java.util.List<VrfEntry> vrfEntries)voidremoveVrfEntriesByOrigin(java.lang.String rd, RouteOrigin origin)Remove from MDSAL all those VrfEntries in a VPN that have an specific RouteOrigin.static voidsendNeighborSolicationToOfGroup(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)voidsetVpnInstanceOpDataWithAddressFamily(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.voidunlockSubnet(java.lang.String subnetId)voidupdateVpnInstanceOpDataWithRdList(java.lang.String vpnName, java.util.List<java.lang.String> updatedRdList, org.opendaylight.mdsal.binding.api.WriteTransaction writeOperTxn)voidupdateVpnInstanceOpDataWithVpnType(java.lang.String vpnName, VpnInstance.BgpvpnType bgpvpnType, org.opendaylight.mdsal.binding.api.WriteTransaction writeOperTxn)voidupdateVpnInstanceWithRdList(java.lang.String vpnName, java.util.List<java.lang.String> updatedRdList)voidwithdrawRoutes(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.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.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.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.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.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn) 
- 
removeLearntVpnVipToPort
public void removeLearntVpnVipToPort(java.lang.String vpnName, java.lang.String fixedIp, @Nullable org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.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.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.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.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn) 
- 
removeLearntVpnVipToPortEvent
public void removeLearntVpnVipToPortEvent(java.lang.String eventId, @Nullable org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.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.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.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.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.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) 
 - 
 
 -