XrlCmdMap* _cmds | _cmds |
[protected]
XrlBgpTargetBase (XrlCmdMap* cmds = 0)
| XrlBgpTargetBase |
Constructor.
Parameters:
cmds | an XrlCmdMap that the commands associated with the target should be added to. This is typically the XrlRouter associated with the target. |
~XrlBgpTargetBase ()
| ~XrlBgpTargetBase |
[virtual]
Destructor.
Dissociates instance commands from command map.
bool set_command_map (XrlCmdMap* cmds)
| set_command_map |
Set command map.
Parameters:
cmds | pointer to command map to associate commands with. This argument is typically a pointer to the XrlRouter associated with the target. |
Returns: true on success, false if cmds is null or a command map has already been supplied.
inline const string& name ()
| name |
[const]
Get Xrl instance name associated with command map.
inline const char* version ()
| version |
[const]
Get version string of instance.
XrlCmdError common_0_1_get_target_name (
string& name)
| common_0_1_get_target_name |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError common_0_1_get_version (
string& version)
| common_0_1_get_version |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get version string from Xrl Target
XrlCmdError common_0_1_get_status (
uint32_t& status,
string& reason)
| common_0_1_get_status |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError common_0_1_shutdown ()
| common_0_1_shutdown |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Request clean shutdown of Xrl Target
XrlCmdError bgp_0_2_get_bgp_version (
uint32_t& version)
| bgp_0_2_get_bgp_version |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get the BGP version currently running.
XrlCmdError bgp_0_2_local_config (
const uint32_t& as,
const IPv4& id)
| bgp_0_2_local_config |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get local config
Parameters:
id | our BGP ID. |
XrlCmdError bgp_0_2_set_local_as (
const uint32_t& as)
| bgp_0_2_set_local_as |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Set the local AS number.
Parameters:
as | our AS number. |
XrlCmdError bgp_0_2_get_local_as (
uint32_t& as)
| bgp_0_2_get_local_as |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError bgp_0_2_set_bgp_id (
const IPv4& id)
| bgp_0_2_set_bgp_id |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Set the BGP id.
Parameters:
id | our BGP ID. |
XrlCmdError bgp_0_2_get_bgp_id (
IPv4& id)
| bgp_0_2_get_bgp_id |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError bgp_0_2_add_peer (
const string& local_ip,
const uint32_t& local_port,
const string& peer_ip,
const uint32_t& peer_port,
const uint32_t& as,
const IPv4& next_hop,
const uint32_t& holdtime)
| bgp_0_2_add_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Add peer.
Parameters:
as | the peer's AS number. |
next_hop | the local next hop. |
holdtime | expects traffic in this time interval. |
XrlCmdError bgp_0_2_delete_peer (
const string& local_ip,
const uint32_t& local_port,
const string& peer_ip,
const uint32_t& peer_port)
| bgp_0_2_delete_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError bgp_0_2_enable_peer (
const string& local_ip,
const uint32_t& local_port,
const string& peer_ip,
const uint32_t& peer_port)
| bgp_0_2_enable_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError bgp_0_2_disable_peer (
const string& local_ip,
const uint32_t& local_port,
const string& peer_ip,
const uint32_t& peer_port)
| bgp_0_2_disable_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError bgp_0_2_set_peer_state (
const string& local_ip,
const uint32_t& local_port,
const string& peer_ip,
const uint32_t& peer_port,
const bool& toggle)
| bgp_0_2_set_peer_state |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Set the peer state enabled or disabled.
Parameters:
toggle | enabled or disabled. |
XrlCmdError bgp_0_2_activate (
const string& local_ip,
const uint32_t& local_port,
const string& peer_ip,
const uint32_t& peer_port)
| bgp_0_2_activate |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Enable or disable the peering based on the peer state.
XrlCmdError bgp_0_2_set_parameter (
const string& local_ip,
const uint32_t& local_port,
const string& peer_ip,
const uint32_t& peer_port,
const string& parameter)
| bgp_0_2_set_parameter |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Set which parameters we support per peer
XrlCmdError bgp_0_2_next_hop_rewrite_filter (
const string& local_ip,
const uint32_t& local_port,
const string& peer_ip,
const uint32_t& peer_port,
const IPv4& next_hop)
| bgp_0_2_next_hop_rewrite_filter |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Set next hop rewrite filter. XXX - This is a temporary hack until we get programmable filters.
XrlCmdError bgp_0_2_originate_route4 (
const IPv4Net& nlri,
const IPv4& next_hop,
const bool& unicast,
const bool& multicast)
| bgp_0_2_originate_route4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Originate route IPv4
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 |
XrlCmdError bgp_0_2_originate_route6 (
const IPv6Net& nlri,
const IPv6& next_hop,
const bool& unicast,
const bool& multicast)
| bgp_0_2_originate_route6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Originate route IPv6
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 |
XrlCmdError bgp_0_2_withdraw_route4 (
const IPv4Net& nlri,
const bool& unicast,
const bool& multicast)
| bgp_0_2_withdraw_route4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Withdraw route IPv4
Parameters:
nlri | subnet to withdraw |
unicast | if true withdraw from unicast routing table |
multicast | if true withdraw from multicast routing table |
XrlCmdError bgp_0_2_withdraw_route6 (
const IPv6Net& nlri,
const bool& unicast,
const bool& multicast)
| bgp_0_2_withdraw_route6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Withdraw route IPv6
Parameters:
nlri | subnet to withdraw |
unicast | if true withdraw from unicast routing table |
multicast | if true withdraw from multicast routing table |
XrlCmdError bgp_0_2_get_peer_list_start (
uint32_t& token,
bool& more)
| bgp_0_2_get_peer_list_start |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get the first item of a list of BGP peers See RFC 1657 (BGP MIB) for full definitions of return values.
Parameters:
token | returned token to be provided when calling get_peer_list_next. |
more | returned to indicate whether there are more list items remaining. |
XrlCmdError bgp_0_2_get_peer_list_next (
const uint32_t& token,
IPv4& local_ip,
uint32_t& local_port,
IPv4& peer_ip,
uint32_t& peer_port,
bool& more)
| bgp_0_2_get_peer_list_next |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get the next item of a list of BGP peers
Parameters:
token | token from prior call to get_peer_list |
more | returned to indicate whether there are more list items remaining. |
XrlCmdError bgp_0_2_get_peer_id (
const IPv4& local_ip,
const uint32_t& local_port,
const IPv4& peer_ip,
const uint32_t& peer_port,
IPv4& peer_id)
| bgp_0_2_get_peer_id |
[protected pure virtual]
XrlCmdError bgp_0_2_get_peer_status (
const IPv4& local_ip,
const uint32_t& local_port,
const IPv4& peer_ip,
const uint32_t& peer_port,
uint32_t& peer_state,
uint32_t& admin_status)
| bgp_0_2_get_peer_status |
[protected pure virtual]
XrlCmdError bgp_0_2_get_peer_negotiated_version (
const IPv4& local_ip,
const uint32_t& local_port,
const IPv4& peer_ip,
const uint32_t& peer_port,
int32_t& neg_version)
| bgp_0_2_get_peer_negotiated_version |
[protected pure virtual]
XrlCmdError bgp_0_2_get_peer_as (
const IPv4& local_ip,
const uint32_t& local_port,
const IPv4& peer_ip,
const uint32_t& peer_port,
uint32_t& peer_as)
| bgp_0_2_get_peer_as |
[protected pure virtual]
XrlCmdError bgp_0_2_get_peer_msg_stats (
const IPv4& local_ip,
const uint32_t& local_port,
const IPv4& peer_ip,
const uint32_t& peer_port,
uint32_t& in_updates,
uint32_t& out_updates,
uint32_t& in_msgs,
uint32_t& out_msgs,
uint32_t& last_error,
uint32_t& in_update_elapsed)
| bgp_0_2_get_peer_msg_stats |
[protected pure virtual]
XrlCmdError bgp_0_2_get_peer_established_stats (
const IPv4& local_ip,
const uint32_t& local_port,
const IPv4& peer_ip,
const uint32_t& peer_port,
uint32_t& transitions,
uint32_t& established_time)
| bgp_0_2_get_peer_established_stats |
[protected pure virtual]
XrlCmdError bgp_0_2_get_peer_timer_config (
const IPv4& local_ip,
const uint32_t& local_port,
const IPv4& peer_ip,
const uint32_t& peer_port,
uint32_t& retry_interval,
uint32_t& hold_time,
uint32_t& keep_alive,
uint32_t& hold_time_conf,
uint32_t& keep_alive_conf,
uint32_t& min_as_orgination_interval,
uint32_t& min_route_adv_interval)
| bgp_0_2_get_peer_timer_config |
[protected pure virtual]
XrlCmdError bgp_0_2_register_rib (
const string& name)
| bgp_0_2_register_rib |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Register rib.
Parameters:
name | rib name. |
XrlCmdError bgp_0_2_get_v4_route_list_start (
const bool& unicast,
const bool& multicast,
uint32_t& token)
| bgp_0_2_get_v4_route_list_start |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get the first item of a list of BGP routes See RFC 1657 (BGP MIB) for full definitions of return values. NB Either unicast or multicast should be set to true, but not both.
Parameters:
unicast | request start of unicast routes. |
multicast | request start of unicast routes. |
token | returned token to be provided when calling get_route_list_next. |
XrlCmdError bgp_0_2_get_v6_route_list_start (
const bool& unicast,
const bool& multicast,
uint32_t& token)
| bgp_0_2_get_v6_route_list_start |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get the first item of a list of BGP routes See RFC 1657 (BGP MIB) for full definitions of return values. NB Either unicast or multicast should be set to true, but not both.
Parameters:
unicast | request start of unicast routes. |
multicast | request start of multicast routes. |
token | returned token to be provided when calling get_route_list_next. |
XrlCmdError bgp_0_2_get_v4_route_list_next (
const uint32_t& token,
IPv4& peer_id,
IPv4Net& net,
uint32_t& best_and_origin,
vector<uint8_t>& aspath,
IPv4& 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& valid,
bool& unicast,
bool& multicast)
| bgp_0_2_get_v4_route_list_next |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get the next route in the list See RFC 1657 (BGP MIB) for full definitions of return values.
XrlCmdError bgp_0_2_get_v6_route_list_next (
const uint32_t& token,
IPv4& peer_id,
IPv6Net& net,
uint32_t& best_and_origin,
vector<uint8_t>& aspath,
IPv6& 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& valid,
bool& unicast,
bool& multicast)
| bgp_0_2_get_v6_route_list_next |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get the next route in the list See RFC 1657 (BGP MIB) for full definitions of return values.
XrlCmdError rib_client_0_1_route_info_changed4 (
const IPv4& addr,
const uint32_t& prefix_len,
const IPv4& nexthop,
const uint32_t& metric,
const uint32_t& admin_distance,
const string& protocol_origin)
| rib_client_0_1_route_info_changed4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Route Info Changed route_info_changed is called by the RIB on the RIB client (typically a routing protocol) that had registered an interest in the routing of an address. This can be because the metric and/or nexthop changed.
Parameters:
addr | base address of the subnet that was registered |
prefix_len | prefix length of the subnet that was registered |
metric | the routing metric toward the address. |
admin_distance | the administratively defined distance toward the address. |
protocol_origin | the name of the protocol that originated this entry. |
XrlCmdError rib_client_0_1_route_info_changed6 (
const IPv6& addr,
const uint32_t& prefix_len,
const IPv6& nexthop,
const uint32_t& metric,
const uint32_t& admin_distance,
const string& protocol_origin)
| rib_client_0_1_route_info_changed6 |
[protected pure virtual]
XrlCmdError rib_client_0_1_route_info_invalid4 (
const IPv4& addr,
const uint32_t& prefix_len)
| rib_client_0_1_route_info_invalid4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Route Info Invalid route_info_invalid is called by the RIB on the RIB client (typically a routing protocol) that had registere d an interest in the routing of an address. This can be because the information previously reported as applying no longer applies for any number of reasons. When the RIB sends this message, it has automatically de-registered interest in the route, and the client will normally need to send a register_interest request again.
XrlCmdError rib_client_0_1_route_info_invalid6 (
const IPv6& addr,
const uint32_t& prefix_len)
| rib_client_0_1_route_info_invalid6 |
[protected pure virtual]
XrlCmdError finder_event_observer_0_1_xrl_target_birth (
const string& target_class,
const string& target_instance)
| finder_event_observer_0_1_xrl_target_birth |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError finder_event_observer_0_1_xrl_target_death (
const string& target_class,
const string& target_instance)
| finder_event_observer_0_1_xrl_target_death |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Announce target death.