Class IfMgr

  • All Implemented Interfaces:
    java.lang.AutoCloseable, ElementCache

    @Singleton
    public class IfMgr
    extends java.lang.Object
    implements ElementCache, java.lang.AutoCloseable
    • Constructor Summary

      Constructors 
      Constructor Description
      IfMgr​(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, IElanService elanProvider, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService interfaceManagerRpc, org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService packetService, Ipv6ServiceUtils ipv6ServiceUtils, Ipv6ServiceEosHandler ipv6ServiceEosHandler, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addHostIntf​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid snetId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress fixedIp, java.lang.String macAddress, java.lang.String deviceOwner)  
      void addNetwork​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, int mtu)  
      void addRouter​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid rtrUuid, java.lang.String rtrName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenantId)
      Add router.
      void addRouterIntf​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid rtrId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid snetId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress fixedIp, java.lang.String macAddress, java.lang.String deviceOwner)  
      void addSubnet​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid snetId, java.lang.String name, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenantId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress gatewayIp, java.lang.String ipVersion, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix subnetCidr, java.lang.String ipV6AddressMode, java.lang.String ipV6RaMode)
      Add Subnet.
      void addUnprocessed​(java.util.Map<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid,​java.util.Set<VirtualPort>> unprocessed, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id, VirtualPort intf)  
      void addUnprocessedRSFlows​(java.util.Map<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid,​java.lang.Integer> unprocessed, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id, java.lang.Integer action)  
      void clearAnyExistingSubnetInfo​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)  
      void close()  
      void deleteInterface​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid interfaceUuid, java.lang.String dpId)  
      java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action> getEgressAction​(java.lang.String interfaceName)  
      java.util.List<IVirtualPort> getInterfaceCache()  
      java.lang.String getInterfaceNameFromTag​(long portTag)  
      java.util.List<IVirtualNetwork> getNetworkCache()  
      @Nullable java.lang.Long getNetworkElanTag​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)  
      @org.eclipse.jdt.annotation.Nullable int getNetworkMtu​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)  
      java.util.List<IVirtualRouter> getRouterCache()  
      @Nullable VirtualPort getRouterV6InterfaceForNetwork​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)  
      java.util.List<IVirtualSubnet> getSubnetCache()  
      java.util.List<VirtualPort> getVmPortsInSubnetByDpId​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid snetId, org.opendaylight.yangtools.yang.common.Uint64 dpId)  
      void handleInterfaceStateEvent​(VirtualPort port, org.opendaylight.yangtools.yang.common.Uint64 dpId, VirtualPort routerPort, int addOrRemove)  
      @Nullable VirtualPort obtainV6Interface​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id)  
      void removeNetwork​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)  
      void removePort​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)  
      void removeRouter​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid rtrUuid)
      Remove Router.
      void removeSubnet​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid snetId)
      Remove Subnet.
      @Nullable java.util.Set<VirtualPort> removeUnprocessed​(java.util.Map<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid,​java.util.Set<VirtualPort>> unprocessed, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id)  
      java.lang.Integer removeUnprocessedRSFlows​(java.util.Map<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid,​java.lang.Integer> unprocessed, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id)  
      void transmitUnsolicitedRA​(VirtualPort port)  
      void transmitUnsolicitedRA​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)  
      void updateDpnInfo​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId, org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.Long ofPort)  
      void updateHostIntf​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId, java.lang.Boolean portIncludesV6Address)  
      void updateInterfaceDpidOfPortInfo​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)  
      @Nullable java.lang.Long updateNetworkElanTag​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)  
      void updateNetworkMtuInfo​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, int mtu)  
      void updateRouterIntf​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid rtrId, java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> fixedIpsList, java.util.Set<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> deletedIps)  
      • Methods inherited from class java.lang.Object

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

      • IfMgr

        @Inject
        public IfMgr​(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
                     IElanService elanProvider,
                     org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService interfaceManagerRpc,
                     org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService packetService,
                     Ipv6ServiceUtils ipv6ServiceUtils,
                     Ipv6ServiceEosHandler ipv6ServiceEosHandler,
                     org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator)
    • Method Detail

      • close

        @PreDestroy
        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
      • addRouter

        public void addRouter​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid rtrUuid,
                              java.lang.String rtrName,
                              org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenantId)
        Add router.
        Parameters:
        rtrUuid - router uuid
        rtrName - router name
        tenantId - tenant id
      • removeRouter

        public void removeRouter​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid rtrUuid)
        Remove Router.
        Parameters:
        rtrUuid - router uuid
      • addSubnet

        public void addSubnet​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid snetId,
                              java.lang.String name,
                              org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenantId,
                              org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress gatewayIp,
                              java.lang.String ipVersion,
                              org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix subnetCidr,
                              java.lang.String ipV6AddressMode,
                              java.lang.String ipV6RaMode)
        Add Subnet.
        Parameters:
        snetId - subnet id
        name - subnet name
        tenantId - tenant id
        gatewayIp - gateway ip address
        ipVersion - IP Version "IPv4 or IPv6"
        subnetCidr - subnet CIDR
        ipV6AddressMode - Address Mode of IPv6 Subnet
        ipV6RaMode - RA Mode of IPv6 Subnet.
      • removeSubnet

        public void removeSubnet​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid snetId)
        Remove Subnet.
        Parameters:
        snetId - subnet id
      • addRouterIntf

        public void addRouterIntf​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId,
                                  org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid rtrId,
                                  org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid snetId,
                                  org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId,
                                  org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress fixedIp,
                                  java.lang.String macAddress,
                                  java.lang.String deviceOwner)
      • updateRouterIntf

        public void updateRouterIntf​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId,
                                     org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid rtrId,
                                     java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> fixedIpsList,
                                     java.util.Set<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.port.attributes.FixedIps> deletedIps)
      • addHostIntf

        public void addHostIntf​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId,
                                org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid snetId,
                                org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId,
                                org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress fixedIp,
                                java.lang.String macAddress,
                                java.lang.String deviceOwner)
      • clearAnyExistingSubnetInfo

        public void clearAnyExistingSubnetInfo​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)
      • updateHostIntf

        public void updateHostIntf​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId,
                                   java.lang.Boolean portIncludesV6Address)
      • updateDpnInfo

        public void updateDpnInfo​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId,
                                  org.opendaylight.yangtools.yang.common.Uint64 dpId,
                                  java.lang.Long ofPort)
      • updateInterfaceDpidOfPortInfo

        public void updateInterfaceDpidOfPortInfo​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)
      • removePort

        public void removePort​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)
      • deleteInterface

        public void deleteInterface​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid interfaceUuid,
                                    java.lang.String dpId)
      • addUnprocessed

        public void addUnprocessed​(java.util.Map<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid,​java.util.Set<VirtualPort>> unprocessed,
                                   org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id,
                                   VirtualPort intf)
      • removeUnprocessed

        public @Nullable java.util.Set<VirtualPort> removeUnprocessed​(java.util.Map<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid,​java.util.Set<VirtualPort>> unprocessed,
                                                                      org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id)
      • addUnprocessedRSFlows

        public void addUnprocessedRSFlows​(java.util.Map<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid,​java.lang.Integer> unprocessed,
                                          org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id,
                                          java.lang.Integer action)
      • removeUnprocessedRSFlows

        public java.lang.Integer removeUnprocessedRSFlows​(java.util.Map<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid,​java.lang.Integer> unprocessed,
                                                          org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id)
      • getRouterV6InterfaceForNetwork

        public @Nullable VirtualPort getRouterV6InterfaceForNetwork​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)
      • obtainV6Interface

        public @Nullable VirtualPort obtainV6Interface​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid id)
      • handleInterfaceStateEvent

        public void handleInterfaceStateEvent​(VirtualPort port,
                                              org.opendaylight.yangtools.yang.common.Uint64 dpId,
                                              VirtualPort routerPort,
                                              int addOrRemove)
      • getVmPortsInSubnetByDpId

        public java.util.List<VirtualPort> getVmPortsInSubnetByDpId​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid snetId,
                                                                    org.opendaylight.yangtools.yang.common.Uint64 dpId)
      • getInterfaceNameFromTag

        public java.lang.String getInterfaceNameFromTag​(long portTag)
      • updateNetworkElanTag

        public @Nullable java.lang.Long updateNetworkElanTag​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)
      • updateNetworkMtuInfo

        public void updateNetworkMtuInfo​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId,
                                         int mtu)
      • getNetworkElanTag

        public @Nullable java.lang.Long getNetworkElanTag​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)
      • getNetworkMtu

        public @org.eclipse.jdt.annotation.Nullable int getNetworkMtu​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)
      • addNetwork

        public void addNetwork​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId,
                               int mtu)
      • removeNetwork

        public void removeNetwork​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)
      • transmitUnsolicitedRA

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

        public void transmitUnsolicitedRA​(VirtualPort port)
      • getEgressAction

        public java.util.List<org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action> getEgressAction​(java.lang.String interfaceName)