2 * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.protocol.bgp.rib.spi.entry;
10 import javax.annotation.Nonnull;
11 import org.opendaylight.protocol.bgp.rib.spi.ExportPolicyPeerTracker;
12 import org.opendaylight.protocol.bgp.rib.spi.RIBSupport;
13 import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRibRoutingPolicy;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev171207.rib.TablesKey;
15 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
18 * Container wrapper for all dependencies related to Route Entry, required for process and storage.
20 public interface RouteEntryDependenciesContainer {
22 * Returns rib support.
27 RIBSupport getRibSupport();
31 * Returns the table key(AFI/SAFI) corresponding to the Route Entry.
36 TablesKey getLocalTablesKey();
40 * Returns the loc-rib table to be updated and to which corresponds this Route Entry.
42 * @return YangInstanceIdentifier containing the path to loc-rib table.
45 YangInstanceIdentifier getLocRibTableTarget();
48 * Return the ExportPolicyPeerTracker which tracks peers.
50 * @return ExportPolicyPeerTracker
53 ExportPolicyPeerTracker getExportPolicyPeerTracker();
56 * Return routing policies defined per RIB.
58 * @return BGPRibRoutingPolicy
61 BGPRibRoutingPolicy getRoutingPolicies();