BGP path management module.
Border Gateway Protocol (BGP) is a standardized exterior gateway routing protocol designed to exchange routing and reachability information among autonomous systems (AS). In EOS, BGP follows RFC4271.
This module provides APIs to query BGP paths in the Adj-RIB-In.
An example of the API usage is in examples/BgpPathAgent.cpp.
An iterator that yields an bgp_path_t for each BGP path in Adj-RIB-In.
Private Functions
Friends
A manager of BGP RIB paths.
Public Functions
Returns an iterator over IPv6 Unicast BGP paths in Adj-RIB-In, which contains unprocessed routing information that has been advertised to the local BGP speaker by its peers.
Protected Functions
Private Members
Enums
The BGP path stage before/after the inbound policies are applied on the route.
Values:
The BGP path option to enable lookup of additional path attributes fields.
Public Functions
Create BGP path attribute field options.
Getter for ‘next_hop’: true if these path attribute options enable next hop lookup, false otherwise.
Setter for ‘next_hop’.
Getter for ‘community_list’: true if these path attribute options enable community list lookup, false otherwise.
Setter for ‘community_list’.
The hash function for type bgp_path_attr_fields_t.
Returns a string representation of the current object’s values.
Private Members
Friends
A utility stream operator that adds a string representation of bgp_path_attr_fields_t to the ostream.
The BGP path lookup options.
Public Functions
Create BGP path options.
Getter for ‘receive_route_stage’: The received routes stage of a path to lookup when retrieving the path entry.
Setter for ‘receive_route_stage’.
Getter for ‘path_attr_fields’: The additional path attributes to populate when retrieving the path entry.
Setter for ‘path_attr_fields’.
The hash function for type bgp_path_options_t.
Returns a string representation of the current object’s values.
Private Members
Friends
A utility stream operator that adds a string representation of bgp_path_options_t to the ostream.
The BGP path attribute entry.
Public Functions
Getter for ‘next_hop’: The nexthop address for the route.
Setter for ‘next_hop’.
Getter for ‘origin’: The route origin.
Setter for ‘origin’.
Getter for ‘med’: The Multi Exit Discriminator for the route.
Setter for ‘med’.
Getter for ‘local_pref’: The I-BGP Local preference indicator.
Setter for ‘local_pref’.
Getter for ‘community_list’: The route community list.
Setter for ‘community_list’.
Inserts one community_list of ‘value’ to the set.
Deletes one community_list of ‘value’ from the set.
The hash function for type bgp_path_attr_t.
Returns a string representation of the current object’s values.
Private Members
Friends
A utility stream operator that adds a string representation of bgp_path_attr_t to the ostream.
The key which uniquely identifies a BGP path. Supports IPV4/IPV6 Unicast.
Public Functions
Create BGP path key.
Getter for ‘prefix’: IPv4/IPv6 network prefix.
Setter for ‘prefix’.
Getter for ‘peer_addr’: BGP peer address.
Setter for ‘peer_addr’.
Getter for ‘vrf_name’: VRF name.
Setter for ‘vrf_name’.
The hash function for type bgp_path_key_t.
Returns a string representation of the current object’s values.
Friends
A utility stream operator that adds a string representation of bgp_path_key_t to the ostream.
The BGP path entry.
Public Functions
Getter for ‘path_key’: The BGP path key.
Setter for ‘path_key’.
Getter for ‘path_attr’: The BGP path attributes.
Setter for ‘path_attr’.
The hash function for type bgp_path_t.
Returns a string representation of the current object’s values.
Friends
A utility stream operator that adds a string representation of bgp_path_t to the ostream.