mirror of
				https://github.com/opennetworkinglab/onos.git
				synced 2025-11-04 10:11:16 +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