|
| ||||||||||||||||
The set of different topologies that we support.
| BGPMain ()
| BGPMain |
| ~BGPMain ()
| ~BGPMain |
| ProcessStatus status (string& reason)
| status |
| void local_config (const uint32_t& as, const IPv4& id)
| local_config |
Set the local configuration.
Parameters:
| as | as number. |
| id | router id. |
| void attach_peer (BGPPeer *p)
| attach_peer |
attach peer to peerlist
Parameters:
| p | BGP peer. |
| void detach_peer (BGPPeer *p)
| detach_peer |
detach peer from the peerlist.
Parameters:
| p | BGP peer. |
| BGPPeer * find_peer (const Iptuple& search)
| find_peer |
Find peer with this iptuple
Parameters:
| search | iptuple. |
Returns: A pointer to a peer if one is found NULL otherwise.
| bool create_peer (BGPPeerData *pd)
| create_peer |
create a new peer and attach it to the peerlist.
Parameters:
| pd | BGP peer data. |
Returns: true on success
| bool delete_peer (const Iptuple& iptuple)
| delete_peer |
delete peer tear down connection and remove for peerlist.
XrlBgpTarget xbt(bgp.get_router(), bgp);
Parameters:
| iptuple | iptuple. |
Returns: true on success
| bool enable_peer (const Iptuple& iptuple)
| enable_peer |
enable peer
Parameters:
| iptuple | iptuple. |
Returns: true on success
| bool disable_peer (const Iptuple& iptuple)
| disable_peer |
disable peer
Parameters:
| iptuple | iptuple. |
Returns: true on success
| bool set_peer_state (const Iptuple& iptuple, bool state)
| set_peer_state |
Set peer state.
@ return true on success.
Parameters:
| iptuple | iptuple. |
| state | should the peering be enable or disabled. |
| bool activate (const Iptuple& iptuple)
| activate |
Activate peer.
Enable the peering based on the peer state.
@ return true on success.
Parameters:
| iptuple | iptuple. |
| bool next_hop_rewrite_filter (const Iptuple& iptuple, const IPv4& next_hop)
| next_hop_rewrite_filter |
| bool get_peer_list_start (uint32_t& token)
| get_peer_list_start |
| bool get_peer_list_next (const uint32_t& token,
IPv4& local_ip,
uint32_t& local_port,
IPv4& peer_ip,
uint32_t& peer_port)
| get_peer_list_next |
| bool get_peer_id (const Iptuple& iptuple, IPv4& peer_id)
| get_peer_id |
| bool get_peer_status (const Iptuple& iptuple, uint32_t& peer_state,
uint32_t& admin_status)
| get_peer_status |
| bool get_peer_negotiated_version (const Iptuple& iptuple,
int32_t& neg_version)
| get_peer_negotiated_version |
| bool get_peer_as (const Iptuple& iptuple, uint32_t& peer_as)
| get_peer_as |
| bool get_peer_msg_stats (const Iptuple& iptuple,
uint32_t& in_updates,
uint32_t& out_updates,
uint32_t& in_msgs,
uint32_t& out_msgs,
uint16_t& last_error,
uint32_t& in_update_elapsed)
| get_peer_msg_stats |
| bool get_peer_established_stats (const Iptuple& iptuple,
uint32_t& transitions,
uint32_t& established_time)
| get_peer_established_stats |
| bool get_peer_timer_config (const Iptuple& iptuple,
uint32_t& retry_interval,
uint32_t& hold_time,
uint32_t& keep_alive,
uint32_t& hold_time_configured,
uint32_t& keep_alive_configured,
uint32_t& min_as_origination_interval,
uint32_t& min_route_adv_interval)
| get_peer_timer_config |
| bool register_ribname (const string& name)
| register_ribname |
| void main_loop ()
| main_loop |
| void terminate ()
| terminate |
| bool run ()
| run |
| int create_listener (const Iptuple& iptuple)
| create_listener |
| LocalData * get_local_data ()
| get_local_data |
| void start_server (const Iptuple& iptuple)
| start_server |
| void stop_server (const Iptuple& iptuple)
| stop_server |
| void stop_all_servers ()
| stop_all_servers |
Stop listening for incoming connections.
| bool originate_route (const IPv4Net& nlri,
const IPv4& next_hop,
const bool& unicast,
const bool& multicast)
| originate_route |
Originate an IPv4 route
Parameters:
| nlri | subnet to announce |
| next_hop | to forward to |
| unicast | if true install in unicast routing table |
| multicast | if true install in multicast routing table |
Returns: true on success
| bool originate_route (const IPv6Net& nlri,
const IPv6& next_hop,
const bool& unicast,
const bool& multicast)
| originate_route |
Originate an IPv6 route
Parameters:
| nlri | subnet to announce |
| next_hop | to forward to |
| unicast | if true install in unicast routing table |
| multicast | if true install in multicast routing table |
Returns: true on success
| bool withdraw_route (const IPv4Net& nlri,
const bool& unicast,
const bool& multicast)
| withdraw_route |
[const]
Withdraw an IPv4 route
Parameters:
| nlri | subnet to withdraw |
| unicast | if true withdraw from unicast routing table |
| multicast | if true withdraw from multicast routing table |
Returns: true on success
| bool withdraw_route (const IPv6Net& nlri,
const bool& unicast,
const bool& multicast)
| withdraw_route |
[const]
Withdraw an IPv6 route
Returns: true on success
| template <typename A>
bool get_route_list_start (uint32_t& token,
const bool& unicast,
const bool& multicast)
| get_route_list_start |
| template <typename A>
bool get_route_list_next (
const uint32_t& token,
IPv4& peer_id,
IPNet<A>& net,
uint32_t& origin,
vector<uint8_t>& aspath,
A& nexthop,
int32_t& med,
int32_t& localpref,
int32_t& atomic_agg,
vector<uint8_t>& aggregator,
int32_t& calc_localpref,
vector<uint8_t>& attr_unknown,
bool& best,
bool& unicast,
bool& multicast)
| get_route_list_next |
| bool rib_client_route_info_changed4 (
const IPv4& addr,
const uint32_t& prefix_len,
const IPv4& nexthop,
const uint32_t& metric)
| rib_client_route_info_changed4 |
| bool rib_client_route_info_changed6 (
const IPv6& addr,
const uint32_t& prefix_len,
const IPv6& nexthop,
const uint32_t& metric)
| rib_client_route_info_changed6 |
| bool rib_client_route_info_invalid4 (
const IPv4& addr,
const uint32_t& prefix_len)
| rib_client_route_info_invalid4 |
| bool rib_client_route_info_invalid6 (
const IPv6& addr,
const uint32_t& prefix_len)
| rib_client_route_info_invalid6 |
| bool set_parameter (
const Iptuple& iptuple,
const string& parameter)
| set_parameter |
set parameter
Typically called via XRL's to set which parameters we support per peer.
Parameters:
| iptuple | iptuple |
| parameter | we are setting for this peer. |
| BGPPlumbing * plumbing_unicast ()
| plumbing_unicast |
[const]
Originally inserted for testing. However, now used by all the "rib_client_route_info_*" methods.
| BGPPlumbing * plumbing_multicast ()
| plumbing_multicast |
[const]
| XrlStdRouter * get_router ()
| get_router |
| EventLoop& eventloop ()
| eventloop |
| XrlBgpTarget * get_xrl_target ()
| get_xrl_target |
| void notify_birth (const string& target_class,
const string& target_instance)
| notify_birth |
Call via XrlBgpTarget when the finder reports that a process has started.
Parameters:
| target_class | Class of process that has started. |
| target_instance | Instance name of process that has started. |
| void notify_death (const string& target_class,
const string& target_instance)
| notify_death |
Call via XrlBgpTarget when the finder reports that a process has terminated.
Parameters:
| target_class | Class of process that has terminated. |
| target_instance | Instance name of process that has terminated. |
| bool processes_ready ()
| processes_ready |
Returns: Return true when all the processes that BGP is dependent on are ready.
| string bgp_mib_name ()
| bgp_mib_name |
[const]
Returns: Return the bgp mib name.
| bool do_snmp_trap ()
| do_snmp_trap |
[const]
Check to see if the bgp snmp entity is running.
| void finder_death (const char *file, const int lineno)
| finder_death |
To be called when the finder dies.