Class 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.
    • Constructor Summary

      Constructors 
      Constructor Description
      VpnUtil​(org.opendaylight.controller.md.sal.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)  
      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)  
      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)  
      void createVpnPortFixedIpToPort​(java.lang.String vpnName, java.lang.String fixedIp, java.lang.String portName, boolean isLearntIp, java.lang.String macAddress, org.opendaylight.controller.md.sal.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)  
      com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress> getGatewayIpAddressFromInterface​(MacEntry macEntry)  
      com.google.common.base.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 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.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.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)  
      com.google.common.base.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)  
      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.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, java.lang.String vpnName)  
      java.util.List<VpnInstanceOpDataEntry> getVpnsImportingMyRoute​(java.lang.String vpnName)  
      com.google.common.base.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 removeLearntVpnVipToPortEvent​(java.lang.String eventId, @Nullable org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> writeOperTxn)  
      void removeMipAdjacency​(java.lang.String vpnInterface, java.lang.String ipAddress)  
      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.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> operTx)  
      protected static void removeVpnPortFixedIpToPort​(org.opendaylight.controller.md.sal.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)  
      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)  
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      void
      syncUpdate​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data)
      Deprecated.
      <T extends org.opendaylight.yangtools.yang.binding.DataObject>
      void
      syncWrite​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data)
      Deprecated.
      void unlockSubnet​(java.lang.String subnetId)  
      void updateVpnInstanceWithRdList​(java.lang.String vpnName, java.util.List<java.lang.String> updatedRdList)  
      void withdrawRoutes​(java.lang.String rd, java.util.List<VrfEntry> vrfEntries)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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.controller.md.sal.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 VPN
        originsToConsider - 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 Distinguisher
        origin - Origin of the Routes to be removed (see RouteOrigin)
      • 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 com.google.common.base.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.controller.md.sal.common.api.data.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.controller.md.sal.common.api.data.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)
      • removeVpnPortFixedIpToPort

        protected static void removeVpnPortFixedIpToPort​(org.opendaylight.controller.md.sal.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 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 com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress> getGatewayIpAddressFromInterface​(MacEntry macEntry)
      • getGWMacAddressFromInterface

        public com.google.common.base.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 com.google.common.base.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)
      • 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)
      • 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)
      • 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.controller.md.sal.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()