|
|
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_router | the XrlRouter instance handling sending and receiving XRLs for this process. |
urib4 | the IPv4 unicast RIB. |
mrib4 | the IPv4 multicast RIB. |
urib6 | the IPv6 unicast RIB. |
mrib6 | the IPv6 multicast RIB. |
vif_manager | the VifManager for this process handling communication with the FEA regarding VIF changes. |
rib_manager | the RibManager for this process. |
~XrlRibTarget ()
| ~XrlRibTarget |
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_add_rib_client4 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_add_rib_client4 |
[protected]
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. |
Reimplemented from XrlRibTargetBase.
XrlCmdError rib_0_1_add_rib_client6 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_add_rib_client6 |
[protected]
Reimplemented from XrlRibTargetBase.
XrlCmdError rib_0_1_delete_rib_client4 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_delete_rib_client4 |
[protected]
Reimplemented from XrlRibTargetBase.
XrlCmdError rib_0_1_delete_rib_client6 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_delete_rib_client6 |
[protected]
Reimplemented from XrlRibTargetBase.
XrlCmdError rib_0_1_enable_rib_client4 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_enable_rib_client4 |
[protected]
Reimplemented from XrlRibTargetBase.
XrlCmdError rib_0_1_enable_rib_client6 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_enable_rib_client6 |
[protected]
Reimplemented from XrlRibTargetBase.
XrlCmdError rib_0_1_disable_rib_client4 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_disable_rib_client4 |
[protected]
Reimplemented from XrlRibTargetBase.
XrlCmdError rib_0_1_disable_rib_client6 (
const string& target_name,
const bool& unicast,
const bool& multicast)
| rib_0_1_disable_rib_client6 |
[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_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:
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. |
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)
| rib_0_1_add_route4 |
[protected]
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. |
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)
| 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)
| 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)
| 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)
| rib_0_1_add_interface_route4 |
[protected]
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. |
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)
| 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)
| 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)
| rib_0_1_replace_interface_route6 |
[protected]
Reimplemented from XrlRibTargetBase.
XrlCmdError rib_0_1_lookup_route4 (
const IPv4& addr,
const bool& unicast,
const bool& multicast,
IPv4& nexthop)
| rib_0_1_lookup_route4 |
[protected]
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. |
Reimplemented from XrlRibTargetBase.
XrlCmdError rib_0_1_lookup_route6 (
const IPv6& addr,
const bool& unicast,
const bool& multicast,
IPv6& nexthop)
| rib_0_1_lookup_route6 |
[protected]
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. |
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:
name | the 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:
name | the name of the vif. |
addr | the address to add. |
subnet | the 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 string& cookie)
| rib_0_1_redist_enable4 |
[protected]
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. |
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 string& cookie)
| rib_0_1_redist_enable6 |
[protected]
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. |
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_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. |
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_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. |
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 string& cookie)
| rib_0_1_redist_transaction_enable4 |
[protected]
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. |
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 string& cookie)
| rib_0_1_redist_transaction_enable6 |
[protected]
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. |
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_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. |
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_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. |
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:
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. |
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:
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. |
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:
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. |
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:
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. |
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.