blob: 938aa1522a33ce4634d70b69b5a9464f68025750 [file] [log] [blame]
Jonathan Hart41349e92015-02-09 14:14:02 -08001/*
Brian O'Connor5ab426f2016-04-09 01:19:45 -07002 * Copyright 2015-present Open Networking Laboratory
Jonathan Hart41349e92015-02-09 14:14:02 -08003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.routing.bgp;
17
18import java.util.Collection;
19
20/**
21 * Provides information about BGP peering and routes.
22 */
23public interface BgpInfoService {
24
25 /**
26 * Gets the BGP sessions.
27 *
28 * @return the BGP sessions
29 */
Sho SHIMIZU3310a342015-05-13 12:14:05 -070030 Collection<BgpSession> getBgpSessions();
Jonathan Hart41349e92015-02-09 14:14:02 -080031
32 /**
33 * Gets the selected IPv4 BGP routes among all BGP sessions.
34 *
35 * @return the selected IPv4 BGP routes among all BGP sessions
36 */
Sho SHIMIZU3310a342015-05-13 12:14:05 -070037 Collection<BgpRouteEntry> getBgpRoutes4();
Jonathan Hart41349e92015-02-09 14:14:02 -080038
39 /**
40 * Gets the selected IPv6 BGP routes among all BGP sessions.
41 *
42 * @return the selected IPv6 BGP routes among all BGP sessions
43 */
Sho SHIMIZU3310a342015-05-13 12:14:05 -070044 Collection<BgpRouteEntry> getBgpRoutes6();
Jonathan Hart41349e92015-02-09 14:14:02 -080045}