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 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:
Announce target birth to observer.
Parameters:
target_class | the target class name. |
target_instance | the target instance name. |
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 to observer.
Parameters:
target_class | the target class name. |
target_instance | the target instance name. |
XrlCmdError policy_backend_0_1_configure (
const uint32_t& filter,
const string& conf)
| policy_backend_0_1_configure |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Configure a policy filter.
Parameters:
filter | the identifier of the filter to configure. |
conf | the configuration of the filter. |
XrlCmdError policy_backend_0_1_reset (
const uint32_t& filter)
| policy_backend_0_1_reset |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Reset a policy filter.
Parameters:
filter | the identifier of the filter to reset. |
XrlCmdError policy_backend_0_1_push_routes ()
| policy_backend_0_1_push_routes |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Push all available routes through all filters for re-filtering.
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_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,
const XrlAtomList& policytags)
| 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. |
policytags | a set of policy tags used for redistribution. |
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,
const XrlAtomList& policytags)
| 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,
const XrlAtomList& policytags)
| 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,
const XrlAtomList& policytags)
| 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,
const XrlAtomList& policytags)
| 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. |
policytags | a set of policy tags used for redistribution. |
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,
const XrlAtomList& policytags)
| 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,
const XrlAtomList& policytags)
| 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,
const XrlAtomList& policytags)
| rib_0_1_replace_interface_route6 |
[protected pure virtual]
XrlCmdError rib_0_1_lookup_route_by_dest4 (
const IPv4& addr,
const bool& unicast,
const bool& multicast,
IPv4& nexthop)
| rib_0_1_lookup_route_by_dest4 |
[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_route_by_dest6 (
const IPv6& addr,
const bool& unicast,
const bool& multicast,
IPv6& nexthop)
| rib_0_1_lookup_route_by_dest6 |
[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 rib_0_1_insert_policy_redist_tags (
const string& protocol,
const XrlAtomList& policytags)
| rib_0_1_insert_policy_redist_tags |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Add policy tags for a specific protcol in the redistribution map.
Parameters:
protocol | The destination protocol of the redistribution. |
policytags | The set of policytags of interest for the protocol. |
XrlCmdError rib_0_1_reset_policy_redist_tags ()
| rib_0_1_reset_policy_redist_tags |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Reset the policy redistribution map. No policy based route redistribution will be available at this point.
XrlCmdError profile_0_1_enable (
const string& pname)
| profile_0_1_enable |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Enable profiling
Parameters:
pname | profile variable |
XrlCmdError profile_0_1_disable (
const string& pname)
| profile_0_1_disable |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Disable profiling
Parameters:
pname | profile variable |
XrlCmdError profile_0_1_get_entries (
const string& pname,
const string& instance_name)
| profile_0_1_get_entries |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get log entries.
Parameters:
pname | profile variable |
instance_name | to send the profiling info to. |
XrlCmdError profile_0_1_clear (
const string& pname)
| profile_0_1_clear |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Clear the profiling entries
Parameters:
pname | profile variable |
XrlCmdError profile_0_1_list (
string& info)
| profile_0_1_list |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
List all the profiling variables registered with this target.