XrlCmdMap* _cmds | _cmds |
[protected]
XrlRibTargetBase (XrlCmdMap* cmds = 0)
| XrlRibTargetBase |
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. |
~XrlRibTargetBase ()
| ~XrlRibTargetBase |
[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 rib_0_1_enable_rib ()
| rib_0_1_enable_rib |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Enable/disable/start/stop RIB.
XrlCmdError rib_0_1_disable_rib ()
| rib_0_1_disable_rib |
[protected pure virtual]
XrlCmdError rib_0_1_start_rib ()
| rib_0_1_start_rib |
[protected pure virtual]
XrlCmdError rib_0_1_stop_rib ()
| rib_0_1_stop_rib |
[protected pure virtual]
XrlCmdError rib_0_1_add_rib_client4 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_add_rib_client4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Add/delete/enable/disable a RIB client. Add/delete/enable/disable a RIB client for a given target name, address family, and unicast/multicast flags.
Parameters:
target_name | the target name of the RIB client. |
unicast | true if a client for the unicast RIB. |
multicast | true if a client for the multicast RIB. |
XrlCmdError rib_0_1_add_rib_client6 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_add_rib_client6 |
[protected pure virtual]
XrlCmdError rib_0_1_delete_rib_client4 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_delete_rib_client4 |
[protected pure virtual]
XrlCmdError rib_0_1_delete_rib_client6 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_delete_rib_client6 |
[protected pure virtual]
XrlCmdError rib_0_1_enable_rib_client4 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_enable_rib_client4 |
[protected pure virtual]
XrlCmdError rib_0_1_enable_rib_client6 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_enable_rib_client6 |
[protected pure virtual]
XrlCmdError rib_0_1_disable_rib_client4 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_disable_rib_client4 |
[protected pure virtual]
XrlCmdError rib_0_1_disable_rib_client6 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_disable_rib_client6 |
[protected pure virtual]
XrlCmdError rib_0_1_make_errors_fatal ()
| rib_0_1_make_errors_fatal |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Make errors fatal; used to detect errors we'd normally mask
XrlCmdError rib_0_1_add_igp_table4 (
const string& protocol,
const string& target_class,
const string& target_instance,
const bool& unicast,
const bool& multicast)
| rib_0_1_add_igp_table4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Add/delete an IGP or EGP table.
Parameters:
protocol | the name of the protocol. |
target_class | the target class of the protocol. |
target_instance | the target instance of the protocol. |
unicast | true if the table is for the unicast RIB. |
multicast | true if the table is for the multicast RIB. |
XrlCmdError rib_0_1_add_igp_table6 (
const string& protocol,
const string& target_class,
const string& target_instance,
const bool& unicast,
const bool& multicast)
| rib_0_1_add_igp_table6 |
[protected pure virtual]
XrlCmdError rib_0_1_delete_igp_table4 (
const string& protocol,
const string& target_class,
const string& target_instance,
const bool& unicast,
const bool& multicast)
| rib_0_1_delete_igp_table4 |
[protected pure virtual]
XrlCmdError rib_0_1_delete_igp_table6 (
const string& protocol,
const string& target_class,
const string& target_instance,
const bool& unicast,
const bool& multicast)
| rib_0_1_delete_igp_table6 |
[protected pure virtual]
XrlCmdError rib_0_1_add_egp_table4 (
const string& protocol,
const string& target_class,
const string& target_instance,
const bool& unicast,
const bool& multicast)
| rib_0_1_add_egp_table4 |
[protected pure virtual]
XrlCmdError rib_0_1_add_egp_table6 (
const string& protocol,
const string& target_class,
const string& target_instance,
const bool& unicast,
const bool& multicast)
| rib_0_1_add_egp_table6 |
[protected pure virtual]
XrlCmdError rib_0_1_delete_egp_table4 (
const string& protocol,
const string& target_class,
const string& target_instance,
const bool& unicast,
const bool& multicast)
| rib_0_1_delete_egp_table4 |
[protected pure virtual]
XrlCmdError rib_0_1_delete_egp_table6 (
const string& protocol,
const string& target_class,
const string& target_instance,
const bool& unicast,
const bool& multicast)
| rib_0_1_delete_egp_table6 |
[protected pure virtual]
XrlCmdError rib_0_1_add_route4 (
const string& protocol,
const bool& unicast,
const bool& multicast,
const IPv4Net& network,
const IPv4& nexthop,
const uint32_t& metric)
| rib_0_1_add_route4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Add/replace/delete a route.
Parameters:
protocol | the name of the protocol this route comes from. |
unicast | true if the route is for the unicast RIB. |
multicast | true if the route is for the multicast RIB. |
network | the network address prefix of the route. |
nexthop | the address of the next-hop router toward the destination. |
metric | the routing metric. |
XrlCmdError rib_0_1_add_route6 (
const string& protocol,
const bool& unicast,
const bool& multicast,
const IPv6Net& network,
const IPv6& nexthop,
const uint32_t& metric)
| rib_0_1_add_route6 |
[protected pure virtual]
XrlCmdError rib_0_1_replace_route4 (
const string& protocol,
const bool& unicast,
const bool& multicast,
const IPv4Net& network,
const IPv4& nexthop,
const uint32_t& metric)
| rib_0_1_replace_route4 |
[protected pure virtual]
XrlCmdError rib_0_1_replace_route6 (
const string& protocol,
const bool& unicast,
const bool& multicast,
const IPv6Net& network,
const IPv6& nexthop,
const uint32_t& metric)
| rib_0_1_replace_route6 |
[protected pure virtual]
XrlCmdError rib_0_1_delete_route4 (
const string& protocol,
const bool& unicast,
const bool& multicast,
const IPv4Net& network)
| rib_0_1_delete_route4 |
[protected pure virtual]
XrlCmdError rib_0_1_delete_route6 (
const string& protocol,
const bool& unicast,
const bool& multicast,
const IPv6Net& network)
| rib_0_1_delete_route6 |
[protected pure virtual]
XrlCmdError rib_0_1_add_interface_route4 (
const string& protocol,
const bool& unicast,
const bool& multicast,
const IPv4Net& network,
const IPv4& nexthop,
const string& ifname,
const string& vifname,
const uint32_t& metric)
| rib_0_1_add_interface_route4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Add/replace a route by explicitly specifying the network interface toward the destination.
Parameters:
protocol | the name of the protocol this route comes from. |
unicast | true if the route is for the unicast RIB. |
multicast | true if the route is for the multicast RIB. |
network | the network address prefix of the route. |
nexthop | the address of the next-hop router toward the destination. |
ifname | of the name of the physical interface toward the destination. |
vifname | of the name of the virtual interface toward the destination. |
metric | the routing metric. |
XrlCmdError rib_0_1_add_interface_route6 (
const string& protocol,
const bool& unicast,
const bool& multicast,
const IPv6Net& network,
const IPv6& nexthop,
const string& ifname,
const string& vifname,
const uint32_t& metric)
| rib_0_1_add_interface_route6 |
[protected pure virtual]
XrlCmdError rib_0_1_replace_interface_route4 (
const string& protocol,
const bool& unicast,
const bool& multicast,
const IPv4Net& network,
const IPv4& nexthop,
const string& ifname,
const string& vifname,
const uint32_t& metric)
| rib_0_1_replace_interface_route4 |
[protected pure virtual]
XrlCmdError rib_0_1_replace_interface_route6 (
const string& protocol,
const bool& unicast,
const bool& multicast,
const IPv6Net& network,
const IPv6& nexthop,
const string& ifname,
const string& vifname,
const uint32_t& metric)
| rib_0_1_replace_interface_route6 |
[protected pure virtual]
XrlCmdError rib_0_1_lookup_route4 (
const IPv4& addr,
const bool& unicast,
const bool& multicast,
IPv4& nexthop)
| rib_0_1_lookup_route4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Lookup nexthop.
Parameters:
addr | address to lookup. |
unicast | look in unicast RIB. |
multicast | look in multicast RIB. |
nexthop | contains the resolved nexthop if successful, IPv4::ZERO otherwise. It is an error for the unicast and multicast fields to both be true or both false. |
XrlCmdError rib_0_1_lookup_route6 (
const IPv6& addr,
const bool& unicast,
const bool& multicast,
IPv6& nexthop)
| rib_0_1_lookup_route6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Lookup nexthop.
Parameters:
addr | address to lookup. |
unicast | look in unicast RIB. |
multicast | look in multicast RIB. |
nexthop | contains the resolved nexthop if successful, IPv6::ZERO otherwise. It is an error for the unicast and multicast fields to both be true or both false. |
XrlCmdError rib_0_1_new_vif (
const string& name)
| rib_0_1_new_vif |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Add a vif or a vif address to the RIB. This interface should be used only for testing purpose.
Parameters:
name | the name of the vif. |
XrlCmdError rib_0_1_add_vif_addr4 (
const string& name,
const IPv4& addr,
const IPv4Net& subnet)
| rib_0_1_add_vif_addr4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Add a vif address to the RIB. This interface should be used only for testing purpose.
Parameters:
name | the name of the vif. |
addr | the address to add. |
subnet | the subnet address to add. |
XrlCmdError rib_0_1_add_vif_addr6 (
const string& name,
const IPv6& addr,
const IPv6Net& subnet)
| rib_0_1_add_vif_addr6 |
[protected pure virtual]
XrlCmdError rib_0_1_redist_enable4 (
const string& to_xrl_target,
const string& from_protocol,
const bool& unicast,
const bool& multicast,
const string& cookie)
| rib_0_1_redist_enable4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Enable route redistribution from one routing protocol to another.
Parameters:
to_xrl_target | the XRL Target instance name of the caller. The caller must implement redist4/0.1. |
from_protocol | the name of the routing process routes are to be redistributed from. |
unicast | enable for unicast RIBs matching from and to. |
multicast | enable for multicast RIBs matching from and to. |
cookie | a text value passed back to creator in each call from the RIB. This allows creators to identity the source of updates it receives through the redist4/0.1 interface. |
XrlCmdError rib_0_1_redist_enable6 (
const string& to_xrl_target,
const string& from_protocol,
const bool& unicast,
const bool& multicast,
const string& cookie)
| rib_0_1_redist_enable6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Enable route redistribution from one routing protocol to another.
Parameters:
to_xrl_target | the XRL Target instance name of the caller. The caller must implement redist6/0.1. |
from_protocol | the name of the routing process routes are to be redistributed from. |
unicast | enable for unicast RIBs matching from and to. |
multicast | enable for multicast RIBs matching from and to. |
cookie | a text value passed back to creator in each call from the RIB. This allows creators to identity the source of updates it receives through the redist6/0.1 interface. |
XrlCmdError rib_0_1_redist_disable4 (
const string& to_xrl_target,
const string& from_protocol,
const bool& unicast,
const bool& multicast,
const string& cookie)
| rib_0_1_redist_disable4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Disable route redistribution from one routing protocol to another.
Parameters:
to_xrl_target | the XRL Target instance name of the caller. The caller must implement redist4/0.1 and previously called redist_enable4. |
unicast | disable for unicast RIBs matching from and to. |
multicast | disable for multicast RIBs matching from and to. |
XrlCmdError rib_0_1_redist_disable6 (
const string& to_xrl_target,
const string& from_protocol,
const bool& unicast,
const bool& multicast,
const string& cookie)
| rib_0_1_redist_disable6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Disable route redistribution from one routing protocol to another.
Parameters:
to_xrl_target | the XRL Target instance name of the caller. The caller must implement redist6/0.1 and previously called redist_enable6. |
unicast | disable for unicast RIBs matching from and to. |
multicast | disable for multicast RIBs matching from and to. |
XrlCmdError rib_0_1_redist_transaction_enable4 (
const string& to_xrl_target,
const string& from_protocol,
const bool& unicast,
const bool& multicast,
const string& cookie)
| rib_0_1_redist_transaction_enable4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Enable transaction-based route redistribution from one routing protocol to another.
Parameters:
to_xrl_target | the XRL Target instance name of the caller. The caller must implement redist_transaction4/0.1. |
from_protocol | the name of the routing process routes are to be redistributed from. |
unicast | enable for unicast RIBs matching from and to. |
multicast | enable for multicast RIBs matching from and to. |
cookie | a text value passed back to creator in each call from the RIB. This allows creators to identity the source of updates it receives through the redist_transaction4/0.1 interface. |
XrlCmdError rib_0_1_redist_transaction_enable6 (
const string& to_xrl_target,
const string& from_protocol,
const bool& unicast,
const bool& multicast,
const string& cookie)
| rib_0_1_redist_transaction_enable6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Enable transaction-based route redistribution from one routing protocol to another.
Parameters:
to_xrl_target | the XRL Target instance name of the caller. The caller must implement redist_transaction6/0.1. |
from_protocol | the name of the routing process routes are to be redistributed from. |
unicast | enable for unicast RIBs matching from and to. |
multicast | enable for multicast RIBs matching from and to. |
cookie | a text value passed back to creator in each call from the RIB. This allows creators to identity the source of updates it receives through the redist_transaction6/0.1 interface. |
XrlCmdError rib_0_1_redist_transaction_disable4 (
const string& to_xrl_target,
const string& from_protocol,
const bool& unicast,
const bool& multicast,
const string& cookie)
| rib_0_1_redist_transaction_disable4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Disable transaction-based route redistribution from one routing protocol to another.
Parameters:
to_xrl_target | the XRL Target instance name of the caller. The caller must implement redist_transaction4/0.1 and previously called redist_transaction_enable4. |
unicast | disable for unicast RIBs matching from and to. |
multicast | disable for multicast RIBs matching from and to. |
XrlCmdError rib_0_1_redist_transaction_disable6 (
const string& to_xrl_target,
const string& from_protocol,
const bool& unicast,
const bool& multicast,
const string& cookie)
| rib_0_1_redist_transaction_disable6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Disable transaction-based route redistribution from one routing protocol to another.
Parameters:
to_xrl_target | the XRL Target instance name of the caller. The caller must implement redist_transaction6/0.1 and previously called redist_transaction_enable6. |
unicast | disable for unicast RIBs matching from and to. |
multicast | disable for multicast RIBs matching from and to. |
XrlCmdError rib_0_1_register_interest4 (
const string& target,
const IPv4& addr,
bool& resolves,
IPv4& base_addr,
uint32_t& prefix_len,
uint32_t& real_prefix_len,
IPv4& nexthop,
uint32_t& metric)
| rib_0_1_register_interest4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Register an interest in a route.
Parameters:
target | the name of the XRL module to notify when the information returned by this call becomes invalid. |
addr | address of interest. |
resolves | returns whether or not the address resolves to a route that can be used for forwarding. |
base_addr | returns the address of interest (actually the base address of the subnet covered by addr/prefix_len). |
prefix_len | returns the prefix length that the registration covers. This response applies to all addresses in addr/prefix_len. |
real_prefix_len | returns the actual prefix length of the route that will be used to route addr. If real_prefix_len is not the same as prefix_len, this is because there are some more specific routes that overlap addr/real_prefix_len. real_prefix_len is primarily given for debugging reasons. |
nexthop | returns the address of the next hop for packets sent to addr. |
metric | returns the IGP metric for this route. |
XrlCmdError rib_0_1_deregister_interest4 (
const string& target,
const IPv4& addr,
const uint32_t& prefix_len)
| rib_0_1_deregister_interest4 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
De-register an interest in a route.
Parameters:
target | the name of the XRL module that registered the interest. |
addr | the address of the previous registered interest. addr should be the base address of the add/prefix_len subnet. |
prefix_len | the prefix length of the registered interest, as given in the response from register_interest. |
XrlCmdError rib_0_1_register_interest6 (
const string& target,
const IPv6& addr,
bool& resolves,
IPv6& base_addr,
uint32_t& prefix_len,
uint32_t& real_prefix_len,
IPv6& nexthop,
uint32_t& metric)
| rib_0_1_register_interest6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Register an interest in a route.
Parameters:
target | the name of the XRL module to notify when the information returned by this call becomes invalid. |
addr | address of interest. |
resolves | returns whether or not the address resolves to a route that can be used for forwarding. |
base_addr | returns the address of interest (actually the base address of the subnet covered by addr/prefix_len). |
prefix_len | returns the prefix length that the registration covers. This response applies to all addresses in addr/prefix_len. |
real_prefix_len | returns the actual prefix length of the route that will be used to route addr. If real_prefix_len is not the same as prefix_len, this is because there are some more specific routes that overlap addr/real_prefix_len. real_prefix_len is primarily given for debugging reasons. |
nexthop | returns the address of the next hop for packets sent to addr. |
metric | returns the IGP metric for this route. |
XrlCmdError rib_0_1_deregister_interest6 (
const string& target,
const IPv6& addr,
const uint32_t& prefix_len)
| rib_0_1_deregister_interest6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
De-register an interest in a route.
Parameters:
target | the name of the XRL module that registered the interest. |
addr | the address of the previous registered interest. addr should be the base address of the add/prefix_len subnet. |
prefix_len | the prefix length of the registered interest, as given in the response from register_interest. |
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.