Class ApplicationPeer

    • Constructor Detail

      • ApplicationPeer

        public ApplicationPeer​(BGPTableTypeRegistryConsumer tableTypeRegistry,
                               ApplicationRibId applicationRibId,
                               org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone ipAddress,
                               RIB rib)
    • Method Detail

      • instantiateServiceInstance

        public void instantiateServiceInstance​(org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService dataTreeChangeService,
                                               org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier appPeerDOMId)
      • onInitialData

        public void onInitialData()
        Specified by:
        onInitialData in interface org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener
      • onDataTreeChanged

        public void onDataTreeChanged​(Collection<org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate> changes)
        Routes come from application RIB that is identified by (configurable) name. Each route is pushed into AdjRibsInWriter with it's whole context. In this method, it doesn't matter if the routes are removed or added, this will be determined in LocRib.
        Specified by:
        onDataTreeChanged in interface org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener
      • close

        public com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> close()
        Description copied from interface: Peer
        Close Peers and performs asynchronously DS clean up.
        Specified by:
        close in interface Peer
        Returns:
        future
      • supportsTable

        public boolean supportsTable​(TablesKey tableKey)
        Description copied from interface: PeerTrackerInformation
        Returns true if we have advertized support for a table, i.e. any prefix from this table should be subject to export towards the peer.
        Specified by:
        supportsTable in interface PeerTrackerInformation
        Parameters:
        tableKey - table
        Returns:
        true if the table is being advertized to the peer.
      • getRibOutIId

        public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier getRibOutIId​(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates tablekey)
        Description copied from interface: PeerTrackerInformation
        Creates Table Adj Rib Out Instance identifier.
        Specified by:
        getRibOutIId in interface PeerTrackerInformation
        Parameters:
        tablekey - table key
        Returns:
        instance identifier.
      • onTransactionChainFailed

        public void onTransactionChainFailed​(org.opendaylight.mdsal.dom.api.DOMTransactionChain chain,
                                             org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction transaction,
                                             Throwable cause)
        Specified by:
        onTransactionChainFailed in interface org.opendaylight.mdsal.dom.api.DOMTransactionChainListener
      • onTransactionChainSuccessful

        public final void onTransactionChainSuccessful​(org.opendaylight.mdsal.dom.api.DOMTransactionChain chain)
        Specified by:
        onTransactionChainSuccessful in interface org.opendaylight.mdsal.dom.api.DOMTransactionChainListener
      • getName

        public final String getName()
        Description copied from interface: Peer
        Return peer's symbolic name.
        Specified by:
        getName in interface Peer
        Returns:
        symbolic name.
      • getLocalAs

        public final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber getLocalAs()
        Description copied from interface: PeerTrackerInformation
        Returns Local AS.
        Specified by:
        getLocalAs in interface PeerTrackerInformation
        Returns:
        AS
      • getDomChain

        public org.opendaylight.mdsal.dom.api.DOMTransactionChain getDomChain()
        Description copied from interface: PeerTransactionChain
        Returns Peer DOMTransactionChain.
        Specified by:
        getDomChain in interface PeerTransactionChain
        Returns:
        DOMTransactionChain
      • initializeRibOut

        public final <C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,​S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C>> void initializeRibOut​(RouteEntryDependenciesContainer entryDep,
                                                                                                                                                                                                                                                         List<ActualBestPathRoutes<C,​S>> routesToStore)
        Description copied from interface: Peer
        Stores under peers rib Out already present routes, before proceed to process any new route advertizement.
        Specified by:
        initializeRibOut in interface Peer
        Parameters:
        entryDep - RouteEntryDependenciesContainer
        routesToStore - routes to be advertized.
      • refreshRibOut

        public final <C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,​S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C>> void refreshRibOut​(RouteEntryDependenciesContainer entryDep,
                                                                                                                                                                                                                                                      List<StaleBestPathRoute> staleRoutes,
                                                                                                                                                                                                                                                      List<AdvertizedRoute<C,​S>> newRoutes)
        Description copied from interface: Peer
        Update peers ribout after path selection processing.
        Specified by:
        refreshRibOut in interface Peer
        Parameters:
        entryDep - RouteEntryDependenciesContainer
        staleRoutes - routes to be removed.
        newRoutes - routes to be advertized.
      • reEvaluateAdvertizement

        public final <C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,​S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C>> void reEvaluateAdvertizement​(RouteEntryDependenciesContainer entryDep,
                                                                                                                                                                                                                                                                List<ActualBestPathRoutes<C,​S>> routesToStore)
        Description copied from interface: Peer
        Applies all policies through all present routes, and advertize/withdraws based on new results. Scenario would be for example a removal of RT membership. And reprocess VPN routes.
        Specified by:
        reEvaluateAdvertizement in interface Peer
        Parameters:
        entryDep - RouteEntryDependenciesContainer
        routesToStore - routes to be updated.