Class BaseVrfEntryHandler

    • Constructor Summary

      Constructors 
      Constructor Description
      BaseVrfEntryHandler​(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, NexthopManager nexthopManager, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, FibUtil fibUtil, org.opendaylight.serviceutils.upgrade.UpgradeState upgradeState, org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addRewriteDstMacAction​(org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, @Nullable Prefixes prefixInfo, java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos)  
      protected void addTunnelInterfaceActions​(org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult adjacencyResult, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos, java.lang.String rd)  
      org.opendaylight.genius.mdsalutil.FlowEntity buildL3vpnGatewayFlow​(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String gwMacAddress, org.opendaylight.yangtools.yang.common.Uint32 vpnId)  
      boolean checkDpnDeleteFibEntry​(VpnNexthop localNextHopInfo, org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.lang.String rd, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)  
      void close()  
      protected void deleteLocalAdjacency​(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String ipAddress, java.lang.String ipPrefixAddress)  
      void deleteRemoteRoute​(@Nullable org.opendaylight.yangtools.yang.common.Uint64 localDpnId, org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfTablesKey vrfTableKey, VrfEntry vrfEntry, com.google.common.base.Optional<Routes> extraRouteOptional, @Nullable org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx)  
      protected FibUtil getFibUtil()  
      protected NexthopManager getNextHopManager()  
      @Nullable Routes getVpnToExtraroute​(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String vpnRd, java.lang.String destPrefix)  
      static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routes> getVpnToExtrarouteIdentifier​(java.lang.String vpnName, java.lang.String vrfId, java.lang.String ipPrefix)  
      void installPingResponderFlowEntry​(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String routerInternalIp, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress routerMac, org.opendaylight.yangtools.yang.common.Uint32 label, int addOrRemove)  
      protected void makeConnectedRoute​(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.lang.String rd, @Nullable java.util.List<org.opendaylight.genius.mdsalutil.InstructionInfo> instructions, int addOrRemove, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)  
      void programRemoteFib​(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, java.lang.String rd, java.util.List<org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult> adjacencyResults, @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)  
      protected @NonNull java.util.List<org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult> resolveAdjacency​(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.lang.String rd)  
      • Methods inherited from class java.lang.Object

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

      • BaseVrfEntryHandler

        @Inject
        public BaseVrfEntryHandler​(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
                                   NexthopManager nexthopManager,
                                   org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager,
                                   FibUtil fibUtil,
                                   org.opendaylight.serviceutils.upgrade.UpgradeState upgradeState,
                                   org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)
    • Method Detail

      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
      • getFibUtil

        protected FibUtil getFibUtil()
      • deleteLocalAdjacency

        protected void deleteLocalAdjacency​(org.opendaylight.yangtools.yang.common.Uint64 dpId,
                                            org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                            java.lang.String ipAddress,
                                            java.lang.String ipPrefixAddress)
      • resolveAdjacency

        protected @NonNull java.util.List<org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult> resolveAdjacency​(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId,
                                                                                                                               org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                                                                                                               VrfEntry vrfEntry,
                                                                                                                               java.lang.String rd)
      • makeConnectedRoute

        protected void makeConnectedRoute​(org.opendaylight.yangtools.yang.common.Uint64 dpId,
                                          org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                          VrfEntry vrfEntry,
                                          java.lang.String rd,
                                          @Nullable java.util.List<org.opendaylight.genius.mdsalutil.InstructionInfo> instructions,
                                          int addOrRemove,
                                          org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx,
                                          @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
      • addRewriteDstMacAction

        protected void addRewriteDstMacAction​(org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                              VrfEntry vrfEntry,
                                              @Nullable Prefixes prefixInfo,
                                              java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos)
      • addTunnelInterfaceActions

        protected void addTunnelInterfaceActions​(org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult adjacencyResult,
                                                 org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                                 VrfEntry vrfEntry,
                                                 java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos,
                                                 java.lang.String rd)
      • programRemoteFib

        public void programRemoteFib​(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId,
                                     org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                     VrfEntry vrfEntry,
                                     org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx,
                                     java.lang.String rd,
                                     java.util.List<org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult> adjacencyResults,
                                     @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
      • checkDpnDeleteFibEntry

        public boolean checkDpnDeleteFibEntry​(VpnNexthop localNextHopInfo,
                                              org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId,
                                              org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                              VrfEntry vrfEntry,
                                              java.lang.String rd,
                                              org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx,
                                              @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
      • deleteRemoteRoute

        public void deleteRemoteRoute​(@Nullable org.opendaylight.yangtools.yang.common.Uint64 localDpnId,
                                      org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId,
                                      org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                      VrfTablesKey vrfTableKey,
                                      VrfEntry vrfEntry,
                                      com.google.common.base.Optional<Routes> extraRouteOptional,
                                      @Nullable org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx)
      • getVpnToExtrarouteIdentifier

        public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routes> getVpnToExtrarouteIdentifier​(java.lang.String vpnName,
                                                                                                                      java.lang.String vrfId,
                                                                                                                      java.lang.String ipPrefix)
      • getVpnToExtraroute

        public @Nullable Routes getVpnToExtraroute​(org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                                   java.lang.String vpnRd,
                                                   java.lang.String destPrefix)
      • buildL3vpnGatewayFlow

        public org.opendaylight.genius.mdsalutil.FlowEntity buildL3vpnGatewayFlow​(org.opendaylight.yangtools.yang.common.Uint64 dpId,
                                                                                  java.lang.String gwMacAddress,
                                                                                  org.opendaylight.yangtools.yang.common.Uint32 vpnId)
      • installPingResponderFlowEntry

        public void installPingResponderFlowEntry​(org.opendaylight.yangtools.yang.common.Uint64 dpnId,
                                                  org.opendaylight.yangtools.yang.common.Uint32 vpnId,
                                                  java.lang.String routerInternalIp,
                                                  org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress routerMac,
                                                  org.opendaylight.yangtools.yang.common.Uint32 label,
                                                  int addOrRemove)