mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-11-02 01:01:03 +01:00
[ONOS-2606] Bgp local rib interface.
Change-Id: I1e501051e767f627367853c62ef90a0be15ffdb1
This commit is contained in:
parent
ad881bda37
commit
eca7cec027
60
bgp/api/src/main/java/org/onosproject/bgp/controller/BgpLocalRib.java
Executable file
60
bgp/api/src/main/java/org/onosproject/bgp/controller/BgpLocalRib.java
Executable file
@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Copyright 2015 Open Networking Laboratory
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
|
||||
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations under the License.
|
||||
*/
|
||||
|
||||
package org.onosproject.bgp.controller;
|
||||
|
||||
import org.onosproject.bgpio.protocol.BGPLSNlri;
|
||||
import org.onosproject.bgpio.protocol.linkstate.PathAttrNlriDetails;
|
||||
import org.onosproject.bgpio.types.RouteDistinguisher;
|
||||
|
||||
/**
|
||||
* Abstraction of BGP local RIB.
|
||||
*/
|
||||
public interface BgpLocalRib {
|
||||
|
||||
/**
|
||||
* Add NLRI to local RIB.
|
||||
*
|
||||
* @param sessionInfo session info
|
||||
* @param nlri network layer reach info
|
||||
* @param details nlri details
|
||||
*/
|
||||
void add(BgpSessionInfo sessionInfo, BGPLSNlri nlri, PathAttrNlriDetails details);
|
||||
|
||||
/**
|
||||
* Removes NLRI identifier if it exists.
|
||||
*
|
||||
* @param nlri info
|
||||
*/
|
||||
void delete(BGPLSNlri nlri);
|
||||
|
||||
/**
|
||||
* Update NLRI identifier mapped with route distinguisher if it exists in tree otherwise add NLRI infomation mapped
|
||||
* to respective route distinguisher.
|
||||
*
|
||||
* @param sessionInfo BGP session info
|
||||
* @param nlri info
|
||||
* @param details has pathattribute, protocol id and identifier
|
||||
* @param routeDistinguisher unique for each VPN
|
||||
*/
|
||||
void add(BgpSessionInfo sessionInfo, BGPLSNlri nlri, PathAttrNlriDetails details,
|
||||
RouteDistinguisher routeDistinguisher);
|
||||
|
||||
/**
|
||||
* Removes VPN NLRI identifier mapped to route distinguisher if it exists.
|
||||
*
|
||||
* @param nlri info
|
||||
* @param routeDistinguisher unique for each VPN
|
||||
*/
|
||||
void delete(BGPLSNlri nlri, RouteDistinguisher routeDistinguisher);
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user