Class NeutronvpnUtils


  • @Singleton
    public class NeutronvpnUtils
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      NeutronvpnUtils​(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, IPV6InternetDefaultRouteProgrammer ipV6InternetDefRt)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addToNetworkCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network network)  
      void addToPortCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)  
      void addToRouterCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router router)  
      void addToSubnetCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet subnet)  
      <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, com.google.common.base.Function<com.google.common.base.Optional<T>,​java.lang.Void> function)  
      static java.util.List<StaticMacEntries> buildStaticMacEntry​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)  
      protected static byte[] bytesFromHexString​(java.lang.String values)  
      protected void createVpnPortFixedIpToPort​(java.lang.String vpnName, java.lang.String fixedIp, java.lang.String portName, java.lang.String macAddress, boolean isSubnetIp, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn)  
      protected boolean doesVpnExist​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)  
      protected static AllowedAddressPairs getAclAllowedAddressPairs​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress macAddress, org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress ipAddress)
      Gets the acl allowed address pairs.
      protected static @Nullable java.util.List<AllowedAddressPairs> getAllowedAddressPairsDelta​(@Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> port1AllowedAddressPairs, @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> port2AllowedAddressPairs)
      Gets the allowed address pairs delta.
      protected static java.util.List<AllowedAddressPairs> getAllowedAddressPairsForAclService​(java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> portAllowedAddressPairs)
      Gets the allowed address pairs for acl service.
      protected static java.util.List<AllowedAddressPairs> getAllowedAddressPairsForAclService​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress macAddress, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> fixedIps)
      Gets the allowed address pairs for acl service.
      protected static java.util.List<AllowedAddressPairs> getAllowedAddressPairsForFixedIps​(java.util.List<AllowedAddressPairs> aclInterfaceAllowedAddressPairs, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress portMacAddress, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> origFixedIps, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> newFixedIps)
      Gets the allowed address pairs for fixed ips.
      java.util.Collection<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router> getAllRouters()  
      protected InterfaceAcl getDhcpInterfaceAcl​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)  
      @NonNull java.util.List<org.opendaylight.yangtools.yang.common.Uint64> getDpnsForRouter​(java.lang.String routerUuid)  
      java.util.List<java.lang.String> getExistingRDs()  
      protected org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getExternalNetworkUuidAttachedFromRouterUuid​(@NonNull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
      Get the Uuid of external network of the router (remember you that one router have only one external network).
      protected static java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> getFixedIpsDelta​(java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> port1FixedIps, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> port2FixedIps)
      Gets the fixed ips delta.
      org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getInternetvpnUuidBoundToRouterId​(@NonNull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)  
      @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getInternetvpnUuidBoundToSubnetRouter​(@NonNull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid)
      This method get Uuid of internet vpn if existing one bound to the same router of the subnetUuid arg.
      com.google.common.base.Optional<InterVpnLink> getInterVpnLinkByEndpointIp​(java.lang.String endpointIp)
      Returns an InterVpnLink by searching by one of its endpoint's IP.
      com.google.common.base.Optional<InterVpnLinkState> getInterVpnLinkState​(java.lang.String vpnLinkName)
      Get inter-VPN link state.
      protected @Nullable java.lang.Short getIPPrefixFromPort​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)  
      protected static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress getIpv6LinkLocalAddressFromMac​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress mac)  
      IpVersionChoice getIpVersionChoicesFromRouterUuid​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerUuid)
      Method to get an ipVersionChosen as IPV4 and/or IPV6 or undefined from the subnetmaps of the router.
      static IpVersionChoice getIpVersionFromString​(java.lang.String ipAddress)
      Get IpVersionChoice from String IP like x.x.x.x or an representation IPv6.
      static IpVersionChoice getIpVersionFromSubnet​(Subnetmap sm)
      Get IpVersionChoice from Uuid Subnet.
      protected @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getNetworkForSubnet​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)  
      protected @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getNetworksForVpn​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)  
      protected @Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network getNeutronNetwork​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)  
      protected @Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port getNeutronPort​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)  
      protected @Nullable java.lang.String getNeutronPortNameFromVpnPortFixedIp​(java.lang.String vpnName, java.lang.String fixedIp)  
      protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router getNeutronRouter​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)  
      org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router> getNeutronRouterIid​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)  
      protected @NonNull java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getNeutronRouterSubnetIds​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)  
      protected java.util.List<Subnetmap> getNeutronRouterSubnetMapList​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)  
      protected java.util.List<Subnetmap> getNeutronRouterSubnetMaps​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
      This method return the list of Subnetmap associated to the router or a empty list if any.
      protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet getNeutronSubnet​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)  
      protected com.google.common.base.Optional<Subnets> getOptionalExternalSubnets​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)  
      static java.lang.String getPhysicalNetworkName​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network network)  
      PortIdToSubport getPortIdToSubport​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)  
      protected static boolean getPortSecurityEnabled​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
      Returns port_security_enabled status with the port.
      @NonNull java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getPrivateSubnetsToExport​(@NonNull org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network extNet, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId)
      Get a list of Private Subnetmap Ids from router to export then its prefixes in Internet VPN.
      protected @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getRouterIdListforVpn​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)  
      protected static @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getSecurityGroupsDelta​(@Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> port1SecurityGroups, @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> port2SecurityGroups)
      Gets security group UUIDs delta .
      static java.lang.String getSegmentationIdFromNeutronNetwork​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network network)  
      static java.lang.Class<? extends SegmentTypeBase> getSegmentTypeFromNeutronNetwork​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network network)  
      int getSubnetCountFromRouter​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, IpVersionChoice ipVer)  
      java.util.Collection<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getSubnetIdsForGatewayIp​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress ipAddress)  
      protected @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getSubnetIdsFromNetworkId​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)  
      protected @Nullable java.util.List<SubnetInfo> getSubnetInfo​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)  
      protected @Nullable Subnetmap getSubnetmap​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)  
      protected java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getSubnetsforVpn​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnid)  
      protected static java.util.List<AllowedAddressPairs> getUpdatedAllowedAddressPairs​(java.util.List<AllowedAddressPairs> aclInterfaceAllowedAddressPairs, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> origAllowedAddressPairs, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> newAllowedAddressPairs)
      Gets the updated allowed address pairs.
      protected static java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getUpdatedSecurityGroups​(java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> aclInterfaceSecurityGroups, java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> origSecurityGroups, java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> newSecurityGroups)
      Gets the updated security groups.
      protected @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getVpnForNetwork​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid network)  
      protected @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getVpnForRouter​(@Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, boolean externalVpn)  
      protected @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getVpnForSubnet​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)  
      @org.eclipse.jdt.annotation.Nullable long getVpnId​(java.lang.String vpnName)  
      @Nullable VpnInstance getVpnInstance​(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)
      Get the vpnInstance from its Uuid.
      @Nullable VpnInstanceOpDataEntry getVpnInstanceOpDataEntryFromVpnId​(java.lang.String vpnName)  
      static RouterIds getvpnInstanceRouterIds​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)  
      static java.util.List<RouterIds> getVpnInstanceRouterIdsList​(java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> routerIds)  
      @Nullable VpnMap getVpnMap​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id)  
      protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInstanceOpDataEntry> getVpnOpDataIdentifier​(java.lang.String primaryRd)  
      @Nullable java.lang.String getVpnRd​(java.lang.String vpnName)
      Retrieves the VPN Route Distinguisher searching by its Vpn instance name.
      protected static boolean isDhcpServerPort​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)  
      static boolean isEmpty​(java.util.Collection<?> collection)  
      static boolean isNotEmpty​(java.util.Collection<?> collection)  
      protected boolean isV6SubnetPartOfRouter​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)  
      protected void populateInterfaceAclBuilder​(InterfaceAclBuilder interfaceAclBuilder, org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
      Populate interface acl builder.
      protected void populateSubnetInfo​(InterfaceAclBuilder interfaceAclBuilder, org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)  
      protected java.lang.Integer releaseId​(java.lang.String poolName, java.lang.String idKey)  
      void removeFromNetworkCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network network)  
      void removeFromPortCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)  
      void removeFromRouterCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router router)  
      void removeFromSubnetCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet subnet)  
      protected void removeLearntVpnVipToPort​(java.lang.String vpnName, java.lang.String fixedIp)  
      protected void removeVpnPortFixedIpToPort​(java.lang.String vpnName, java.lang.String fixedIp, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn)  
      boolean shouldVpnHandleIpVersionChangeToRemove​(Subnetmap sm, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)  
      boolean shouldVpnHandleIpVersionChoiceChange​(IpVersionChoice ipVersion, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, boolean add)  
      protected static AllowedAddressPairs updateIPv6LinkLocalAddressForAclService​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress macAddress)
      Gets the IPv6 Link Local Address corresponding to the MAC Address.
      void updateVpnInstanceOpWithType​(VpnInstanceOpDataEntry.BgpvpnType choice, @NonNull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpn)  
      void updateVpnInstanceWithFallback​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnName, boolean add)  
      void updateVpnInstanceWithIpFamily​(java.lang.String vpnName, IpVersionChoice ipVersion, boolean add)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NeutronvpnUtils

        @Inject
        public NeutronvpnUtils​(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
                               org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager,
                               org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator,
                               IPV6InternetDefaultRouteProgrammer ipV6InternetDefRt)
    • Method Detail

      • getSubnetmap

        protected @Nullable Subnetmap getSubnetmap​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
      • getVpnMap

        public @Nullable VpnMap getVpnMap​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id)
      • getVpnForNetwork

        protected @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getVpnForNetwork​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid network)
      • getVpnForSubnet

        protected @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getVpnForSubnet​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
      • getNetworkForSubnet

        protected @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getNetworkForSubnet​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
      • getVpnForRouter

        protected @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getVpnForRouter​(@Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
                                                                                                                                    boolean externalVpn)
      • getRouterIdListforVpn

        protected @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getRouterIdListforVpn​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)
      • getNetworksForVpn

        protected @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getNetworksForVpn​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)
      • getSubnetsforVpn

        protected java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getSubnetsforVpn​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnid)
      • getNeutronPortNameFromVpnPortFixedIp

        protected @Nullable java.lang.String getNeutronPortNameFromVpnPortFixedIp​(java.lang.String vpnName,
                                                                                  java.lang.String fixedIp)
      • getSubnetIdsFromNetworkId

        protected @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getSubnetIdsFromNetworkId​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)
      • getNeutronRouter

        protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router getNeutronRouter​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
      • getNeutronRouterIid

        public org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router> getNeutronRouterIid​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
      • getNeutronNetwork

        protected @Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network getNeutronNetwork​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)
      • getNeutronPort

        protected @Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port getNeutronPort​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)
      • getPortIdToSubport

        public PortIdToSubport getPortIdToSubport​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)
      • isDhcpServerPort

        protected static boolean isDhcpServerPort​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
      • getDhcpInterfaceAcl

        protected InterfaceAcl getDhcpInterfaceAcl​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
      • getPortSecurityEnabled

        protected static boolean getPortSecurityEnabled​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
        Returns port_security_enabled status with the port.
        Parameters:
        port - the port
        Returns:
        port_security_enabled status
      • getSecurityGroupsDelta

        protected static @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getSecurityGroupsDelta​(@Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> port1SecurityGroups,
                                                                                                                                                                  @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> port2SecurityGroups)
        Gets security group UUIDs delta .
        Parameters:
        port1SecurityGroups - the port 1 security groups
        port2SecurityGroups - the port 2 security groups
        Returns:
        the security groups delta
      • getFixedIpsDelta

        protected static java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> getFixedIpsDelta​(java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> port1FixedIps,
                                                                                                                                                         java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> port2FixedIps)
        Gets the fixed ips delta.
        Parameters:
        port1FixedIps - the port 1 fixed ips
        port2FixedIps - the port 2 fixed ips
        Returns:
        the fixed ips delta
      • getAllowedAddressPairsDelta

        protected static @Nullable java.util.List<AllowedAddressPairs> getAllowedAddressPairsDelta​(@Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> port1AllowedAddressPairs,
                                                                                                   @Nullable java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> port2AllowedAddressPairs)
        Gets the allowed address pairs delta.
        Parameters:
        port1AllowedAddressPairs - the port 1 allowed address pairs
        port2AllowedAddressPairs - the port 2 allowed address pairs
        Returns:
        the allowed address pairs delta
      • getAclAllowedAddressPairs

        protected static AllowedAddressPairs getAclAllowedAddressPairs​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress macAddress,
                                                                       org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress ipAddress)
        Gets the acl allowed address pairs.
        Parameters:
        macAddress - the mac address
        ipAddress - the ip address
        Returns:
        the acl allowed address pairs
      • getAllowedAddressPairsForAclService

        protected static java.util.List<AllowedAddressPairs> getAllowedAddressPairsForAclService​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress macAddress,
                                                                                                 java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> fixedIps)
        Gets the allowed address pairs for acl service.
        Parameters:
        macAddress - the mac address
        fixedIps - the fixed ips
        Returns:
        the allowed address pairs for acl service
      • getAllowedAddressPairsForAclService

        protected static java.util.List<AllowedAddressPairs> getAllowedAddressPairsForAclService​(java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> portAllowedAddressPairs)
        Gets the allowed address pairs for acl service.
        Parameters:
        portAllowedAddressPairs - the port allowed address pairs
        Returns:
        the allowed address pairs for acl service
      • updateIPv6LinkLocalAddressForAclService

        protected static AllowedAddressPairs updateIPv6LinkLocalAddressForAclService​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress macAddress)
        Gets the IPv6 Link Local Address corresponding to the MAC Address.
        Parameters:
        macAddress - the mac address
        Returns:
        the allowed address pairs for acl service which includes the MAC + IPv6LLA
      • getUpdatedSecurityGroups

        protected static java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getUpdatedSecurityGroups​(java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> aclInterfaceSecurityGroups,
                                                                                                                                                          java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> origSecurityGroups,
                                                                                                                                                          java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> newSecurityGroups)
        Gets the updated security groups.
        Parameters:
        aclInterfaceSecurityGroups - the acl interface security groups
        origSecurityGroups - the orig security groups
        newSecurityGroups - the new security groups
        Returns:
        the updated security groups
      • getAllowedAddressPairsForFixedIps

        protected static java.util.List<AllowedAddressPairs> getAllowedAddressPairsForFixedIps​(java.util.List<AllowedAddressPairs> aclInterfaceAllowedAddressPairs,
                                                                                               org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress portMacAddress,
                                                                                               java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> origFixedIps,
                                                                                               java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> newFixedIps)
        Gets the allowed address pairs for fixed ips.
        Parameters:
        aclInterfaceAllowedAddressPairs - the acl interface allowed address pairs
        portMacAddress - the port mac address
        origFixedIps - the orig fixed ips
        newFixedIps - the new fixed ips
        Returns:
        the allowed address pairs for fixed ips
      • getUpdatedAllowedAddressPairs

        protected static java.util.List<AllowedAddressPairs> getUpdatedAllowedAddressPairs​(java.util.List<AllowedAddressPairs> aclInterfaceAllowedAddressPairs,
                                                                                           java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> origAllowedAddressPairs,
                                                                                           java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.AllowedAddressPairs> newAllowedAddressPairs)
        Gets the updated allowed address pairs.
        Parameters:
        aclInterfaceAllowedAddressPairs - the acl interface allowed address pairs
        origAllowedAddressPairs - the orig allowed address pairs
        newAllowedAddressPairs - the new allowed address pairs
        Returns:
        the updated allowed address pairs
      • populateInterfaceAclBuilder

        protected void populateInterfaceAclBuilder​(InterfaceAclBuilder interfaceAclBuilder,
                                                   org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
        Populate interface acl builder.
        Parameters:
        interfaceAclBuilder - the interface acl builder
        port - the port
      • populateSubnetInfo

        protected void populateSubnetInfo​(InterfaceAclBuilder interfaceAclBuilder,
                                          org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
      • getSubnetInfo

        protected @Nullable java.util.List<SubnetInfo> getSubnetInfo​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
      • getNeutronSubnet

        protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet getNeutronSubnet​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
      • getNeutronRouterSubnetMapList

        protected java.util.List<Subnetmap> getNeutronRouterSubnetMapList​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
      • getNeutronRouterSubnetIds

        protected @NonNull java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getNeutronRouterSubnetIds​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
      • getIPPrefixFromPort

        protected @Nullable java.lang.Short getIPPrefixFromPort​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
      • createVpnPortFixedIpToPort

        protected void createVpnPortFixedIpToPort​(java.lang.String vpnName,
                                                  java.lang.String fixedIp,
                                                  java.lang.String portName,
                                                  java.lang.String macAddress,
                                                  boolean isSubnetIp,
                                                  org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn)
      • removeVpnPortFixedIpToPort

        protected void removeVpnPortFixedIpToPort​(java.lang.String vpnName,
                                                  java.lang.String fixedIp,
                                                  org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeConfigTxn)
      • removeLearntVpnVipToPort

        protected void removeLearntVpnVipToPort​(java.lang.String vpnName,
                                                java.lang.String fixedIp)
      • addToNetworkCache

        public void addToNetworkCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network network)
      • removeFromNetworkCache

        public void removeFromNetworkCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network network)
      • addToRouterCache

        public void addToRouterCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router router)
      • removeFromRouterCache

        public void removeFromRouterCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router router)
      • getAllRouters

        public java.util.Collection<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.Router> getAllRouters()
      • addToPortCache

        public void addToPortCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
      • removeFromPortCache

        public void removeFromPortCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
      • addToSubnetCache

        public void addToSubnetCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet subnet)
      • removeFromSubnetCache

        public void removeFromSubnetCache​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet subnet)
      • getSegmentationIdFromNeutronNetwork

        public static java.lang.String getSegmentationIdFromNeutronNetwork​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network network)
      • getSegmentTypeFromNeutronNetwork

        public static java.lang.Class<? extends SegmentTypeBase> getSegmentTypeFromNeutronNetwork​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network network)
      • getPhysicalNetworkName

        public static java.lang.String getPhysicalNetworkName​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network network)
      • getSubnetIdsForGatewayIp

        public java.util.Collection<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getSubnetIdsForGatewayIp​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress ipAddress)
      • getInterVpnLinkState

        public com.google.common.base.Optional<InterVpnLinkState> getInterVpnLinkState​(java.lang.String vpnLinkName)
        Get inter-VPN link state.
        Parameters:
        vpnLinkName - VPN link name
        Returns:
        Optional of InterVpnLinkState
      • getInterVpnLinkByEndpointIp

        public com.google.common.base.Optional<InterVpnLink> getInterVpnLinkByEndpointIp​(java.lang.String endpointIp)
        Returns an InterVpnLink by searching by one of its endpoint's IP.
        Parameters:
        endpointIp - IP to search for
        Returns:
        a InterVpnLink
      • releaseId

        protected java.lang.Integer releaseId​(java.lang.String poolName,
                                              java.lang.String idKey)
      • getIpv6LinkLocalAddressFromMac

        protected static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress getIpv6LinkLocalAddressFromMac​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress mac)
      • bytesFromHexString

        protected static byte[] bytesFromHexString​(java.lang.String values)
      • getExistingRDs

        public java.util.List<java.lang.String> getExistingRDs()
      • doesVpnExist

        protected boolean doesVpnExist​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)
      • getOptionalExternalSubnets

        protected com.google.common.base.Optional<Subnets> getOptionalExternalSubnets​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
      • buildStaticMacEntry

        public static java.util.List<StaticMacEntries> buildStaticMacEntry​(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port)
      • isEmpty

        public static boolean isEmpty​(java.util.Collection<?> collection)
      • isNotEmpty

        public static boolean isNotEmpty​(java.util.Collection<?> collection)
      • getIpVersionChoicesFromRouterUuid

        public IpVersionChoice getIpVersionChoicesFromRouterUuid​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerUuid)
        Method to get an ipVersionChosen as IPV4 and/or IPV6 or undefined from the subnetmaps of the router.
        Parameters:
        routerUuid - the Uuid for which find out the IP version associated
        Returns:
        an IpVersionChoice used by the router from its attached subnetmaps. IpVersionChoice.UNDEFINED if any
      • getNeutronRouterSubnetMaps

        protected java.util.List<Subnetmap> getNeutronRouterSubnetMaps​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
        This method return the list of Subnetmap associated to the router or a empty list if any.
        Parameters:
        routerId - the Uuid of router for which subnetmap is find out
        Returns:
        a list of Subnetmap associated to the router. it could be empty if any
      • getVpnRd

        public @Nullable 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
      • 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
      • getIpVersionFromSubnet

        public static IpVersionChoice getIpVersionFromSubnet​(Subnetmap sm)
        Get IpVersionChoice from Uuid Subnet.
        Parameters:
        sm - Subnetmap structure
        Returns:
        the IpVersionChoice of the version or IpVersionChoice.UNDEFINED otherwise
      • getVpnInstanceOpDataEntryFromVpnId

        public @Nullable VpnInstanceOpDataEntry getVpnInstanceOpDataEntryFromVpnId​(java.lang.String vpnName)
      • getVpnOpDataIdentifier

        protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnInstanceOpDataEntry> getVpnOpDataIdentifier​(java.lang.String primaryRd)
      • shouldVpnHandleIpVersionChoiceChange

        public boolean shouldVpnHandleIpVersionChoiceChange​(IpVersionChoice ipVersion,
                                                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
                                                            boolean add)
      • shouldVpnHandleIpVersionChangeToRemove

        public boolean shouldVpnHandleIpVersionChangeToRemove​(Subnetmap sm,
                                                              org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)
      • getSubnetCountFromRouter

        public int getSubnetCountFromRouter​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
                                            IpVersionChoice ipVer)
      • updateVpnInstanceWithIpFamily

        public void updateVpnInstanceWithIpFamily​(java.lang.String vpnName,
                                                  IpVersionChoice ipVersion,
                                                  boolean add)
      • getVpnInstance

        public @Nullable VpnInstance getVpnInstance​(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
                                                    org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)
        Get the vpnInstance from its Uuid.
        Parameters:
        broker - to get informations from ds
        vpnId - the Uuid of the VPN
        Returns:
        the VpnInstance or null if unfindable
      • getExternalNetworkUuidAttachedFromRouterUuid

        protected org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getExternalNetworkUuidAttachedFromRouterUuid​(@NonNull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
        Get the Uuid of external network of the router (remember you that one router have only one external network).
        Parameters:
        routerId - the Uuid of the router which you try to reach the external network
        Returns:
        Uuid of externalNetwork or null if is not exist
      • getInternetvpnUuidBoundToRouterId

        public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getInternetvpnUuidBoundToRouterId​(@NonNull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
      • getInternetvpnUuidBoundToSubnetRouter

        public @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getInternetvpnUuidBoundToSubnetRouter​(@NonNull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetUuid)
        This method get Uuid of internet vpn if existing one bound to the same router of the subnetUuid arg. Explanation: If the subnet (of arg subnetUuid) have a router bound and this router have an externalVpn (vpn on externalProvider network) then its Uuid will be returned.
        Parameters:
        subnetUuid - Uuid of subnet where you are finding a link to an external network
        Returns:
        Uuid of externalVpn or null if it is not found
      • getPrivateSubnetsToExport

        public @NonNull java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getPrivateSubnetsToExport​(@NonNull org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network extNet,
                                                                                                                                                          org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId)
        Get a list of Private Subnetmap Ids from router to export then its prefixes in Internet VPN.
        Parameters:
        extNet - Provider Network, which has a port attached as external network gateway to router
        Returns:
        a list of Private Subnetmap Ids of the router with external network gateway
      • updateVpnInstanceWithFallback

        public void updateVpnInstanceWithFallback​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
                                                  org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnName,
                                                  boolean add)
      • updateVpnInstanceOpWithType

        public void updateVpnInstanceOpWithType​(VpnInstanceOpDataEntry.BgpvpnType choice,
                                                @NonNull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpn)
      • getvpnInstanceRouterIds

        public static RouterIds getvpnInstanceRouterIds​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
      • getVpnInstanceRouterIdsList

        public static java.util.List<RouterIds> getVpnInstanceRouterIdsList​(java.util.List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> routerIds)
      • getDpnsForRouter

        public @NonNull java.util.List<org.opendaylight.yangtools.yang.common.Uint64> getDpnsForRouter​(java.lang.String routerUuid)
      • getVpnId

        public @org.eclipse.jdt.annotation.Nullable long getVpnId​(java.lang.String vpnName)
      • isV6SubnetPartOfRouter

        protected boolean isV6SubnetPartOfRouter​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
      • 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,
                                                                                                       com.google.common.base.Function<com.google.common.base.Optional<T>,​java.lang.Void> function)