Class ConntrackBasedSnatService

    • Constructor Summary

      Constructors 
      Constructor Description
      ConntrackBasedSnatService​(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, NAPTSwitchSelector naptSwitchSelector, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService odlInterfaceRpcService, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, IVpnFootprintService vpnFootprintService, IFibManager fibManager, NatDataUtil natDataUtil, org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addInboundEntry​(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String externalIp, int elanId, org.opendaylight.yangtools.yang.common.Uint32 extSubnetId)  
      protected void addNaptPfibEntry​(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)  
      protected void addNaptPfibFlow​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 extSubnetId)  
      protected void addOutboundTblEntry​(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String externalIp, int elanId, java.lang.String extGwMacAddress)  
      protected void addOutboundTblTrackEntry​(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String extGwMacAddress)  
      protected void addSnatMissEntryForPrimrySwch​(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, int elanId)  
      protected void addSnatSpecificEntriesForNaptSwitch​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId)  
      protected void addSnatSpecificEntriesForNonNaptSwitch()  
      protected void removeInboundEntry​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)  
      protected void removeNaptPfibEntry​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)  
      protected void removeNaptPfibFlow​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)  
      protected void removeOutboundTblEntry​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)  
      protected void removeOutboundTblTrackEntry​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)  
      protected void removeSnatMissEntryForPrimrySwch​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)  
      protected void removeSnatSpecificEntriesForNaptSwitch​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId)  
      protected void removeSnatSpecificEntriesForNonNaptSwitch()  
      • Methods inherited from class java.lang.Object

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

      • ConntrackBasedSnatService

        public ConntrackBasedSnatService​(org.opendaylight.mdsal.binding.api.DataBroker dataBroker,
                                         org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager,
                                         org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmManager,
                                         org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager,
                                         NAPTSwitchSelector naptSwitchSelector,
                                         org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService odlInterfaceRpcService,
                                         org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager,
                                         IVpnFootprintService vpnFootprintService,
                                         IFibManager fibManager,
                                         NatDataUtil natDataUtil,
                                         org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)
    • Method Detail

      • addSnatSpecificEntriesForNaptSwitch

        protected void addSnatSpecificEntriesForNaptSwitch​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                                           Routers routers,
                                                           org.opendaylight.yangtools.yang.common.Uint64 dpnId)
        Specified by:
        addSnatSpecificEntriesForNaptSwitch in class AbstractSnatService
      • removeSnatSpecificEntriesForNaptSwitch

        protected void removeSnatSpecificEntriesForNaptSwitch​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                                              Routers routers,
                                                              org.opendaylight.yangtools.yang.common.Uint64 dpnId)
                                                       throws java.util.concurrent.ExecutionException,
                                                              java.lang.InterruptedException
        Specified by:
        removeSnatSpecificEntriesForNaptSwitch in class AbstractSnatService
        Throws:
        java.util.concurrent.ExecutionException
        java.lang.InterruptedException
      • addSnatMissEntryForPrimrySwch

        protected void addSnatMissEntryForPrimrySwch​(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                                     org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                                     org.opendaylight.yangtools.yang.common.Uint32 routerId,
                                                     int elanId)
      • removeSnatMissEntryForPrimrySwch

        protected void removeSnatMissEntryForPrimrySwch​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                                        org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                                        org.opendaylight.yangtools.yang.common.Uint32 routerId)
                                                 throws java.util.concurrent.ExecutionException,
                                                        java.lang.InterruptedException
        Throws:
        java.util.concurrent.ExecutionException
        java.lang.InterruptedException
      • addOutboundTblTrackEntry

        protected void addOutboundTblTrackEntry​(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                                org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                                org.opendaylight.yangtools.yang.common.Uint32 routerId,
                                                java.lang.String extGwMacAddress)
      • removeOutboundTblTrackEntry

        protected void removeOutboundTblTrackEntry​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                                   org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                                   org.opendaylight.yangtools.yang.common.Uint32 routerId)
                                            throws java.util.concurrent.ExecutionException,
                                                   java.lang.InterruptedException
        Throws:
        java.util.concurrent.ExecutionException
        java.lang.InterruptedException
      • addOutboundTblEntry

        protected void addOutboundTblEntry​(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                           org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                           org.opendaylight.yangtools.yang.common.Uint32 routerId,
                                           java.lang.String externalIp,
                                           int elanId,
                                           java.lang.String extGwMacAddress)
      • removeOutboundTblEntry

        protected void removeOutboundTblEntry​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                              org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                              org.opendaylight.yangtools.yang.common.Uint32 routerId)
                                       throws java.util.concurrent.ExecutionException,
                                              java.lang.InterruptedException
        Throws:
        java.util.concurrent.ExecutionException
        java.lang.InterruptedException
      • addNaptPfibFlow

        protected void addNaptPfibFlow​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                       Routers routers,
                                       org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                       org.opendaylight.yangtools.yang.common.Uint32 routerId,
                                       org.opendaylight.yangtools.yang.common.Uint32 extSubnetId)
      • removeNaptPfibFlow

        protected void removeNaptPfibFlow​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                          Routers routers,
                                          org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                          org.opendaylight.yangtools.yang.common.Uint32 routerId)
                                   throws java.util.concurrent.ExecutionException,
                                          java.lang.InterruptedException
        Throws:
        java.util.concurrent.ExecutionException
        java.lang.InterruptedException
      • addInboundEntry

        protected void addInboundEntry​(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                       org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                       org.opendaylight.yangtools.yang.common.Uint32 routerId,
                                       java.lang.String externalIp,
                                       int elanId,
                                       org.opendaylight.yangtools.yang.common.Uint32 extSubnetId)
      • removeInboundEntry

        protected void removeInboundEntry​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                          org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                          org.opendaylight.yangtools.yang.common.Uint32 routerId)
                                   throws java.util.concurrent.ExecutionException,
                                          java.lang.InterruptedException
        Throws:
        java.util.concurrent.ExecutionException
        java.lang.InterruptedException
      • addNaptPfibEntry

        protected void addNaptPfibEntry​(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                        org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                        org.opendaylight.yangtools.yang.common.Uint32 routerId)
      • removeNaptPfibEntry

        protected void removeNaptPfibEntry​(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
                                           org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                           org.opendaylight.yangtools.yang.common.Uint32 routerId)
                                    throws java.util.concurrent.ExecutionException,
                                           java.lang.InterruptedException
        Throws:
        java.util.concurrent.ExecutionException
        java.lang.InterruptedException