blob: 121f3397430f506c48408a4da30cf29c2fee4567 [file] [log] [blame]
Shashikanth VH533841d2015-11-18 17:08:08 +05301/*
2 * Copyright 2015 Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
5 * the License. You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
10 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
11 * specific language governing permissions and limitations under the License.
12 */
13package org.onosproject.bgp.controller;
14
Shashikanth VH5dd8dbe2015-11-26 13:22:18 +053015import org.onosproject.bgpio.protocol.linkstate.BgpNodeLSNlriVer4;
Priyanka Bfc51c952016-03-26 14:30:33 +053016import org.onosproject.bgpio.protocol.linkstate.PathAttrNlriDetails;
Shashikanth VH533841d2015-11-18 17:08:08 +053017
18/**
19 * Allows for providers interested in node events to be notified.
20 */
21public interface BgpNodeListener {
22
23 /**
24 * Notifies that the node was added.
25 *
Priyanka Bfc51c952016-03-26 14:30:33 +053026 * @param nodeNlri node reachability info
27 * @param details attributes and nlri details
Shashikanth VH533841d2015-11-18 17:08:08 +053028 */
Priyanka Bfc51c952016-03-26 14:30:33 +053029 void addNode(BgpNodeLSNlriVer4 nodeNlri, PathAttrNlriDetails details);
Shashikanth VH533841d2015-11-18 17:08:08 +053030
31 /**
32 * Notifies that the node was removed.
33 *
Priyanka Bfc51c952016-03-26 14:30:33 +053034 * @param nodeNlri node reachability info
Shashikanth VH533841d2015-11-18 17:08:08 +053035 */
Shashikanth VH5dd8dbe2015-11-26 13:22:18 +053036 void deleteNode(BgpNodeLSNlriVer4 nodeNlri);
Shashikanth VH533841d2015-11-18 17:08:08 +053037}