class XrlRibTarget

Implement RIB Xrl target methods. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Methods

Protected Members


Detailed Description

XrlRibTarget implements the auto-generated sub methods to handle XRL requests from the routing protocols to the RIB.

 XrlRibTarget (XrlRouter* xrl_router, RIB<IPv4>& urib4, RIB<IPv4>& mrib4, RIB<IPv6>& urib6, RIB<IPv6>& mrib6, VifManager& vif_manager, RibManager* rib_manager)

XrlRibTarget

XrlRibTarget constructor

Parameters:

xrl_routerthe XrlRouter instance handling sending and receiving XRLs for this process.
urib4the IPv4 unicast RIB.
mrib4the IPv4 multicast RIB.
urib6the IPv6 unicast RIB.
mrib6the IPv6 multicast RIB.
vif_managerthe VifManager for this process handling communication with the FEA regarding VIF changes.
rib_managerthe RibManager for this process.
 ~XrlRibTarget ()

~XrlRibTarget

XrlRibTarget destructor

RIB<IPv4>& _urib4

_urib4

[protected]

RIB<IPv4>& _mrib4

_mrib4

[protected]

RIB<IPv6>& _urib6

_urib6

[protected]

RIB<IPv6>& _mrib6

_mrib6

[protected]

VifManager& _vif_manager

_vif_manager

[protected]

RibManager* _rib_manager

_rib_manager

[protected]

XrlCmdError  common_0_1_get_target_name ( string& name)

common_0_1_get_target_name

[protected]

Get name of Xrl Target

Reimplemented from XrlRibTargetBase.

XrlCmdError  common_0_1_get_version ( string& version)

common_0_1_get_version

[protected]

Get version string from Xrl Target

Reimplemented from XrlRibTargetBase.

XrlCmdError  common_0_1_get_status ( uint32_t& status, string& reason)

common_0_1_get_status

[protected]

Get status of Xrl Target

Reimplemented from XrlRibTargetBase.

XrlCmdError  common_0_1_shutdown ()

common_0_1_shutdown

[protected]

Request clean shutdown of Xrl Target

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_enable_rib ()

rib_0_1_enable_rib

[protected]

Enable/disable/start/stop RIB.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_disable_rib ()

rib_0_1_disable_rib

[protected]

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_start_rib ()

rib_0_1_start_rib

[protected]

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_stop_rib ()

rib_0_1_stop_rib

[protected]

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_make_errors_fatal ()

rib_0_1_make_errors_fatal

[protected]

Make errors fatal; used to detect errors we'd normally mask

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_get_registered_protocols ( const bool& ipv4, const bool& ipv6, const bool& unicast, const bool& multicast, XrlAtomList& ipv4_unicast_protocols, XrlAtomList& ipv6_unicast_protocols, XrlAtomList& ipv4_multicast_protocols, XrlAtomList& ipv6_multicast_protocols)

rib_0_1_get_registered_protocols

[protected]

Get the list of registered protocols.

Parameters:

ipv4if true, then include the IPv4 protocols.
ipv6if true, then include the IPv6 protocols.
unicastif true, then include the protocols registered with the unicast RIB.
multicastif true, then include the protocols registered with the multicast RIB.
ipv4_unicast_protocolsthe list of IPv4 protocols registered with the unicast RIB.
ipv6_unicast_protocolsthe list of IPv6 protocols registered with the unicast RIB.
ipv4_multicast_protocolsthe list of IPv4 protocols registered with the multicast RIB.
ipv6_multicast_protocolsthe list of IPv6 protocols registered with the multicast RIB.

Reimplemented from XrlRibTargetBase.

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]

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.

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

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.
policytagsthe policy-tags for this route.

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_delete_route4 ( const string& protocol, const bool& unicast, const bool& multicast, const IPv4Net& network)

rib_0_1_delete_route4

[protected]

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_delete_route6 ( const string& protocol, const bool& unicast, const bool& multicast, const IPv6Net& network)

rib_0_1_delete_route6

[protected]

Reimplemented from XrlRibTargetBase.

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]

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.
policytagsthe policy-tags for this route.

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

Reimplemented from XrlRibTargetBase.

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]

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.

Reimplemented from XrlRibTargetBase.

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]

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.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_new_vif ( const string& name)

rib_0_1_new_vif

[protected]

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.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_add_vif_addr4 ( const string& name, const IPv4& addr, const IPv4Net& subnet)

rib_0_1_add_vif_addr4

[protected]

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.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_add_vif_addr6 ( const string& name, const IPv6& addr, const IPv6Net& subnet)

rib_0_1_add_vif_addr6

[protected]

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_redist_enable4 ( const string& to_xrl_target, const string& from_protocol, const bool& unicast, const bool& multicast, const IPv4Net& network_prefix, const string& cookie)

rib_0_1_redist_enable4

[protected]

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.
network_prefixredistribite only the routes that fall into this prefix address.
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.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_redist_enable6 ( const string& to_xrl_target, const string& from_protocol, const bool& unicast, const bool& multicast, const IPv6Net& network_prefix, const string& cookie)

rib_0_1_redist_enable6

[protected]

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.
network_prefixredistribite only the routes that fall into this prefix address.
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.

Reimplemented from XrlRibTargetBase.

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]

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.
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.

Reimplemented from XrlRibTargetBase.

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]

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.
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.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_redist_transaction_enable4 ( const string& to_xrl_target, const string& from_protocol, const bool& unicast, const bool& multicast, const IPv4Net& network_prefix, const string& cookie)

rib_0_1_redist_transaction_enable4

[protected]

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.
network_prefixredistribite only the routes that fall into this prefix address.
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.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_redist_transaction_enable6 ( const string& to_xrl_target, const string& from_protocol, const bool& unicast, const bool& multicast, const IPv6Net& network_prefix, const string& cookie)

rib_0_1_redist_transaction_enable6

[protected]

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.
network_prefixredistribite only the routes that fall into this prefix address.
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.

Reimplemented from XrlRibTargetBase.

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]

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.
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.

Reimplemented from XrlRibTargetBase.

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]

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.
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.

Reimplemented from XrlRibTargetBase.

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]

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.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_deregister_interest4 ( const string& target, const IPv4& addr, const uint32_t& prefix_len)

rib_0_1_deregister_interest4

[protected]

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.

Reimplemented from XrlRibTargetBase.

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]

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.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_deregister_interest6 ( const string& target, const IPv6& addr, const uint32_t& prefix_len)

rib_0_1_deregister_interest6

[protected]

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.

Reimplemented from XrlRibTargetBase.

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]

Announce target birth.

Reimplemented from XrlRibTargetBase.

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]

Announce target death.

Reimplemented from XrlRibTargetBase.

XrlCmdError  policy_backend_0_1_configure ( const uint32_t& filter, const string& conf)

policy_backend_0_1_configure

[protected]

Configure a policy filter.

Parameters:

filterid of filter to configure.
confconfiguration of filter.

Reimplemented from XrlRibTargetBase.

XrlCmdError  policy_backend_0_1_reset ( const uint32_t& filter)

policy_backend_0_1_reset

[protected]

Reset a policy filter.

Parameters:

filterid of filter to reset.

Reimplemented from XrlRibTargetBase.

XrlCmdError  policy_backend_0_1_push_routes ()

policy_backend_0_1_push_routes

[protected]

Push routes through policy filters for re-filtering.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_insert_policy_redist_tags ( const string& protocol, const XrlAtomList& policytags)

rib_0_1_insert_policy_redist_tags

[protected]

Redistribute to a protocol based on policy-tags.

Parameters:

protocolprotocol to redistribute to
policytagspolicy-tags of routes which need to be redistributed.

Reimplemented from XrlRibTargetBase.

XrlCmdError  rib_0_1_reset_policy_redist_tags ()

rib_0_1_reset_policy_redist_tags

[protected]

Reset policy redistribution map.

Reimplemented from XrlRibTargetBase.

XrlCmdError  profile_0_1_enable ( const string& pname)

profile_0_1_enable

[protected]

Enable profiling

Parameters:

pnameprofile variable

Reimplemented from XrlRibTargetBase.

XrlCmdError  profile_0_1_disable ( const string& pname)

profile_0_1_disable

[protected]

Disable profiling

Parameters:

pnameprofile variable

Reimplemented from XrlRibTargetBase.

XrlCmdError  profile_0_1_get_entries ( const string& pname, const string& instance_name)

profile_0_1_get_entries

[protected]

Get log entries.

Parameters:

pnameprofile variable
instance_nameto send the profiling info to.

Reimplemented from XrlRibTargetBase.

XrlCmdError  profile_0_1_clear ( const string& pname)

profile_0_1_clear

[protected]

Clear the profiling entries

Parameters:

pnameprofile variable

Reimplemented from XrlRibTargetBase.

XrlCmdError  profile_0_1_list ( string& info)

profile_0_1_list

[protected]

List all the profiling variables registered with this target.

Reimplemented from XrlRibTargetBase.


Generated by: pavlin on possum.icir.org on Thu Mar 9 04:43:48 2006, using kdoc $.