2 * Copyright (c) 2016 Cisco Systems, Inc. and others. 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.state;
11 import org.eclipse.jdt.annotation.NonNull;
12 import org.opendaylight.protocol.bgp.rib.RibReference;
13 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.TablesKey;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev200120.BgpId;
18 * Representing RIB Operational State information.
20 * Total Paths / Total Prefixes counters, representing the paths / prefixes installed on Loc-rib
22 public interface BGPRibState extends RibReference {
24 * Indicates whether this instance is being actively managed and updated.
31 * Prefixes count per tablesKey Type.
33 * @return Prefixes count
35 @NonNull Map<TablesKey, Long> getTablesPrefixesCount();
38 * Mapped Total Paths Count per TableKey.
40 * @return Prefixes count
42 @NonNull Map<TablesKey, Long> getPathsCount();
45 * Total Paths Installed.
49 long getTotalPathsCount();
52 * Total Prefixes Installed.
56 long getTotalPrefixesCount();
59 * Total Path Installed per specific TableKey.
61 * @param tablesKey table key
64 long getPathCount(TablesKey tablesKey);
67 * Total Prefixes Installed per specific TableKey.
69 * @param tablesKey table key
72 long getPrefixesCount(TablesKey tablesKey);
79 @NonNull AsNumber getAs();
84 * @return BGP identifier
86 @NonNull BgpId getRouteId();