class XrlRibTargetBase


 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Methods

Protected Members


Detailed Description

XrlCmdMap* _cmds

_cmds

[protected]

 XrlRibTargetBase (XrlCmdMap* cmds = 0)

XrlRibTargetBase

Constructor.

Parameters:

cmdsan 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:

cmdspointer 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:

Get name of Xrl Target

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:

Get status of Xrl Target

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_namethe target name of the RIB client.
unicasttrue if a client for the unicast RIB.
multicasttrue 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:

protocolthe name of the protocol.
target_classthe target class of the protocol.
target_instancethe target instance of the protocol.
unicasttrue if the table is for the unicast RIB.
multicasttrue 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:

protocolthe name of the protocol this route comes from.
unicasttrue if the route is for the unicast RIB.
multicasttrue if the route is for the multicast RIB.
networkthe network address prefix of the route.
nexthopthe address of the next-hop router toward the destination.
metricthe 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:

protocolthe name of the protocol this route comes from.
unicasttrue if the route is for the unicast RIB.
multicasttrue if the route is for the multicast RIB.
networkthe network address prefix of the route.
nexthopthe address of the next-hop router toward the destination.
ifnameof the name of the physical interface toward the destination.
vifnameof the name of the virtual interface toward the destination.
metricthe 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:

addraddress to lookup.
unicastlook in unicast RIB.
multicastlook in multicast RIB.
nexthopcontains 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:

addraddress to lookup.
unicastlook in unicast RIB.
multicastlook in multicast RIB.
nexthopcontains 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:

namethe 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:

namethe name of the vif.
addrthe address to add.
subnetthe 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_targetthe XRL Target instance name of the caller. The caller must implement redist4/0.1.
from_protocolthe name of the routing process routes are to be redistributed from.
unicastenable for unicast RIBs matching from and to.
multicastenable for multicast RIBs matching from and to.
cookiea 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_targetthe XRL Target instance name of the caller. The caller must implement redist6/0.1.
from_protocolthe name of the routing process routes are to be redistributed from.
unicastenable for unicast RIBs matching from and to.
multicastenable for multicast RIBs matching from and to.
cookiea 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_targetthe XRL Target instance name of the caller. The caller must implement redist4/0.1 and previously called redist_enable4.
unicastdisable for unicast RIBs matching from and to.
multicastdisable 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_targetthe XRL Target instance name of the caller. The caller must implement redist6/0.1 and previously called redist_enable6.
unicastdisable for unicast RIBs matching from and to.
multicastdisable 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_targetthe XRL Target instance name of the caller. The caller must implement redist_transaction4/0.1.
from_protocolthe name of the routing process routes are to be redistributed from.
unicastenable for unicast RIBs matching from and to.
multicastenable for multicast RIBs matching from and to.
cookiea 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_targetthe XRL Target instance name of the caller. The caller must implement redist_transaction6/0.1.
from_protocolthe name of the routing process routes are to be redistributed from.
unicastenable for unicast RIBs matching from and to.
multicastenable for multicast RIBs matching from and to.
cookiea 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_targetthe XRL Target instance name of the caller. The caller must implement redist_transaction4/0.1 and previously called redist_transaction_enable4.
unicastdisable for unicast RIBs matching from and to.
multicastdisable 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_targetthe XRL Target instance name of the caller. The caller must implement redist_transaction6/0.1 and previously called redist_transaction_enable6.
unicastdisable for unicast RIBs matching from and to.
multicastdisable 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:

targetthe name of the XRL module to notify when the information returned by this call becomes invalid.
addraddress of interest.
resolvesreturns whether or not the address resolves to a route that can be used for forwarding.
base_addrreturns the address of interest (actually the base address of the subnet covered by addr/prefix_len).
prefix_lenreturns the prefix length that the registration covers. This response applies to all addresses in addr/prefix_len.
real_prefix_lenreturns 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.
nexthopreturns the address of the next hop for packets sent to addr.
metricreturns 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:

targetthe name of the XRL module that registered the interest.
addrthe address of the previous registered interest. addr should be the base address of the add/prefix_len subnet.
prefix_lenthe 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:

targetthe name of the XRL module to notify when the information returned by this call becomes invalid.
addraddress of interest.
resolvesreturns whether or not the address resolves to a route that can be used for forwarding.
base_addrreturns the address of interest (actually the base address of the subnet covered by addr/prefix_len).
prefix_lenreturns the prefix length that the registration covers. This response applies to all addresses in addr/prefix_len.
real_prefix_lenreturns 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.
nexthopreturns the address of the next hop for packets sent to addr.
metricreturns 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:

targetthe name of the XRL module that registered the interest.
addrthe address of the previous registered interest. addr should be the base address of the add/prefix_len subnet.
prefix_lenthe 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:

Announce target birth.

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.


Generated by: pavlin on possum.icir.org on Thu Jul 8 23:48:20 2004, using kdoc $.