Class FibManagerImpl

  • All Implemented Interfaces:
    IFibManager

    @Singleton
    public class FibManagerImpl
    extends java.lang.Object
    implements IFibManager
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addFibEntryForRouterInterface​(java.lang.String rd, java.lang.String prefix, RouterInterface routerInterface, org.opendaylight.yangtools.yang.common.Uint32 label, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)  
      void addOrUpdateFibEntry​(java.lang.String rd, java.lang.String macAddress, java.lang.String prefix, java.util.List<java.lang.String> nextHopList, VrfEntryBase.EncapType encapType, org.opendaylight.yangtools.yang.common.Uint32 label, org.opendaylight.yangtools.yang.common.Uint32 l3vni, java.lang.String gwMacAddress, java.lang.String parentVpnRd, RouteOrigin origin, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)  
      void addVrfTable​(java.lang.String rd, org.opendaylight.mdsal.binding.api.WriteTransaction writeConfigTxn)  
      boolean checkFibEntryExist​(org.opendaylight.mdsal.binding.api.DataBroker broker, java.lang.String rd, java.lang.String prefix, java.lang.String nextHopIp)  
      void cleanUpDpnForVpn​(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, com.google.common.util.concurrent.FutureCallback<java.util.List<?>> callback)  
      void cleanUpExternalRoutesOnDpn​(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String localNextHopIp, java.lang.String remoteNextHopIp)  
      java.lang.String getConfTransType()  
      java.lang.String getReqTransType()  
      java.lang.String getTransportTypeStr​(java.lang.String tunType)  
      boolean isVPNConfigured()  
      void manageRemoteRouteOnDPN​(boolean action, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String destPrefix, java.lang.String destTepIp, org.opendaylight.yangtools.yang.common.Uint32 label)  
      void populateExternalRoutesOnDpn​(org.opendaylight.yangtools.yang.common.Uint64 localDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String localNextHopIp, java.lang.String remoteNextHopIp)  
      void populateFibOnNewDpn​(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, com.google.common.util.concurrent.FutureCallback<java.util.List<?>> callback)  
      void programDcGwLoadBalancingGroup​(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destinationIp, int addRemoveOrUpdate, boolean isTunnelUp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)  
      void refreshVrfEntry​(java.lang.String rd, java.lang.String prefix)  
      void removeFibEntry​(java.lang.String rd, java.lang.String prefix, java.lang.String eventSource, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)  
      void removeInterVPNLinkRouteFlows​(java.lang.String interVpnLinkName, boolean isVpnFirstEndPoint, VrfEntry vrfEntry)  
      void removeOrUpdateFibEntry​(java.lang.String rd, java.lang.String prefix, java.lang.String nextHopToRemove, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)  
      void removeVrfTable​(java.lang.String rd, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)  
      void setConfTransType​(java.lang.String service, java.lang.String transportType)  
      void updateRoutePathForFibEntry​(java.lang.String rd, java.lang.String prefix, java.lang.String nextHop, org.opendaylight.yangtools.yang.common.Uint32 label, boolean nextHopAdd, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)  
      void writeConfTransTypeConfigDS()  
      • Methods inherited from class java.lang.Object

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

      • FibManagerImpl

        @Inject
        public FibManagerImpl​(NexthopManager nexthopManager,
                              VrfEntryListener vrfEntryListener,
                              org.osgi.framework.BundleContext bundleContext,
                              FibUtil fibUtil)
    • Method Detail

      • populateFibOnNewDpn

        public void populateFibOnNewDpn​(org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                        org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                        java.lang.String rd,
                                        com.google.common.util.concurrent.FutureCallback<java.util.List<?>> callback)
        Specified by:
        populateFibOnNewDpn in interface IFibManager
      • populateExternalRoutesOnDpn

        public void populateExternalRoutesOnDpn​(org.opendaylight.yangtools.yang.common.Uint64 localDpnId,
                                                org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                                java.lang.String rd,
                                                java.lang.String localNextHopIp,
                                                java.lang.String remoteNextHopIp)
        Specified by:
        populateExternalRoutesOnDpn in interface IFibManager
      • cleanUpExternalRoutesOnDpn

        public void cleanUpExternalRoutesOnDpn​(org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                               org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                               java.lang.String rd,
                                               java.lang.String localNextHopIp,
                                               java.lang.String remoteNextHopIp)
        Specified by:
        cleanUpExternalRoutesOnDpn in interface IFibManager
      • cleanUpDpnForVpn

        public void cleanUpDpnForVpn​(org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                     org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                     java.lang.String rd,
                                     com.google.common.util.concurrent.FutureCallback<java.util.List<?>> callback)
        Specified by:
        cleanUpDpnForVpn in interface IFibManager
      • setConfTransType

        public void setConfTransType​(java.lang.String service,
                                     java.lang.String transportType)
        Specified by:
        setConfTransType in interface IFibManager
      • getTransportTypeStr

        public java.lang.String getTransportTypeStr​(java.lang.String tunType)
        Specified by:
        getTransportTypeStr in interface IFibManager
      • manageRemoteRouteOnDPN

        public void manageRemoteRouteOnDPN​(boolean action,
                                           org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                           org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                           java.lang.String rd,
                                           java.lang.String destPrefix,
                                           java.lang.String destTepIp,
                                           org.opendaylight.yangtools.yang.common.Uint32 label)
        Specified by:
        manageRemoteRouteOnDPN in interface IFibManager
      • addOrUpdateFibEntry

        public void addOrUpdateFibEntry​(java.lang.String rd,
                                        java.lang.String macAddress,
                                        java.lang.String prefix,
                                        java.util.List<java.lang.String> nextHopList,
                                        VrfEntryBase.EncapType encapType,
                                        org.opendaylight.yangtools.yang.common.Uint32 label,
                                        org.opendaylight.yangtools.yang.common.Uint32 l3vni,
                                        java.lang.String gwMacAddress,
                                        java.lang.String parentVpnRd,
                                        RouteOrigin origin,
                                        org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
        Specified by:
        addOrUpdateFibEntry in interface IFibManager
      • addFibEntryForRouterInterface

        public void addFibEntryForRouterInterface​(java.lang.String rd,
                                                  java.lang.String prefix,
                                                  RouterInterface routerInterface,
                                                  org.opendaylight.yangtools.yang.common.Uint32 label,
                                                  org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
        Specified by:
        addFibEntryForRouterInterface in interface IFibManager
      • removeOrUpdateFibEntry

        public void removeOrUpdateFibEntry​(java.lang.String rd,
                                           java.lang.String prefix,
                                           java.lang.String nextHopToRemove,
                                           org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
        Specified by:
        removeOrUpdateFibEntry in interface IFibManager
      • removeFibEntry

        public void removeFibEntry​(java.lang.String rd,
                                   java.lang.String prefix,
                                   java.lang.String eventSource,
                                   org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
        Specified by:
        removeFibEntry in interface IFibManager
      • updateRoutePathForFibEntry

        public void updateRoutePathForFibEntry​(java.lang.String rd,
                                               java.lang.String prefix,
                                               java.lang.String nextHop,
                                               org.opendaylight.yangtools.yang.common.Uint32 label,
                                               boolean nextHopAdd,
                                               org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
        Specified by:
        updateRoutePathForFibEntry in interface IFibManager
      • removeVrfTable

        public void removeVrfTable​(java.lang.String rd,
                                   org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
        Specified by:
        removeVrfTable in interface IFibManager
      • addVrfTable

        public void addVrfTable​(java.lang.String rd,
                                org.opendaylight.mdsal.binding.api.WriteTransaction writeConfigTxn)
        Specified by:
        addVrfTable in interface IFibManager
      • checkFibEntryExist

        public boolean checkFibEntryExist​(org.opendaylight.mdsal.binding.api.DataBroker broker,
                                          java.lang.String rd,
                                          java.lang.String prefix,
                                          java.lang.String nextHopIp)
        Specified by:
        checkFibEntryExist in interface IFibManager
      • programDcGwLoadBalancingGroup

        public void programDcGwLoadBalancingGroup​(org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                                  java.lang.String destinationIp,
                                                  int addRemoveOrUpdate,
                                                  boolean isTunnelUp,
                                                  java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
        Specified by:
        programDcGwLoadBalancingGroup in interface IFibManager
      • refreshVrfEntry

        public void refreshVrfEntry​(java.lang.String rd,
                                    java.lang.String prefix)
        Specified by:
        refreshVrfEntry in interface IFibManager