| 
 | 
 | ||||||||||||||||
Concrete implementation of IO using XRLs.
| XrlIO (EventLoop& eventloop, XrlRouter& xrl_router, const string& feaname,
	  const string& ribname) | XrlIO | 
| ~XrlIO () | ~XrlIO | 
| int  startup () | startup | 
Startup operation.
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from ServiceBase.
| int  shutdown () | shutdown | 
Shutdown operation.
Returns: XORP_OK on success, otherwise XORP_ERROR.
Reimplemented from ServiceBase.
| void  component_up (string ) | component_up | 
Called when internal subsystem comes up.
| void  component_down (string ) | component_down | 
Called when internal subsystem goes down.
| void  recv (const string& interface,
	      const string& vif,
	      A src,
	      A dst,
	      uint8_t ip_protocol,
	      int32_t ip_ttl,
	      int32_t ip_tos,
	      bool ip_router_alert,
	      bool ip_internet_control,
	      const vector<uint8_t>& payload) | recv | 
| bool  send (const string& interface, const string& vif, 
	      A dst, A src,
	      uint8_t* data, uint32_t len) | send | 
Send Raw frames.
Reimplemented from IO.
| bool  enable_interface_vif (const string& interface, const string& vif) | enable_interface_vif | 
Enable the interface/vif to receive frames.
Reimplemented from IO.
| bool  disable_interface_vif (const string& interface, const string& vif) | disable_interface_vif | 
Disable this interface/vif from receiving frames.
Reimplemented from IO.
| bool  is_interface_enabled (const string& interface) | is_interface_enabled | 
[const]
Test whether an interface is enabled.
Parameters:
| interface | the name of the interface to test. | 
Returns: true if it exists and is enabled, otherwise false.
Reimplemented from IO.
| bool  is_vif_enabled (const string& interface, const string& vif) | is_vif_enabled | 
[const]
Test whether an interface/vif is enabled.
Parameters:
| interface | the name of the interface to test. | 
| vif | the name of the vif to test. | 
Returns: true if it exists and is enabled, otherwise false.
Reimplemented from IO.
| bool  is_address_enabled (const string& interface, const string& vif,
			    const A& address) | is_address_enabled | 
[const]
Test whether an interface/vif/address is enabled.
Parameters:
| interface | the name of the interface to test. | 
| vif | the name of the vif to test. | 
| address | the address to test. | 
Returns: true if it exists and is enabled, otherwise false.
Reimplemented from IO.
| bool  get_addresses (const string& interface, const string& vif,
		       list<A>& addresses) | get_addresses | 
[const]
Get all addresses associated with this interface/vif.
Parameters:
| interface | the name of the interface | 
| vif | the name of the vif | 
| addresses | (out argument) list of associated addresses | 
Returns: true if there are no errors.
Reimplemented from IO.
| bool  get_link_local_address (const string& interface, const string& vif,
				A& address) | get_link_local_address | 
Get a link local address for this interface/vif if available.
Parameters:
| interface | the name of the interface | 
| vif | the name of the vif | 
| address | (out argument) set if address is found. | 
Returns: true if a link local address is available.
Reimplemented from IO.
| bool  get_interface_id (const string& interface, uint32_t& interface_id) | get_interface_id | 
Get the interface ID.
Parameters:
| interface | the name of the interface. | 
| interface_id | the value if found.. | 
Returns: true if the interface ID has been found..
Reimplemented from IO.
| uint32_t  get_prefix_length (const string& interface, const string& vif,
			       A address) | get_prefix_length | 
Obtain the subnet prefix length for an interface/vif/address.
Parameters:
| interface | the name of the interface. | 
| vif | the name of the vif. | 
| address | the address. | 
Returns: the subnet prefix length for the address.
Reimplemented from IO.
| uint32_t  get_mtu (const string& interface) | get_mtu | 
Obtain the MTU for an interface.
Parameters:
| the | name of the interface. | 
Returns: the mtu for the interface.
Reimplemented from IO.
| bool  join_multicast_group (const string& interface, const string& vif,
			      A mcast) | join_multicast_group | 
On the interface/vif join this multicast group.
Reimplemented from IO.
| bool  leave_multicast_group (const string& interface, const string& vif,
			       A mcast) | leave_multicast_group | 
On the interface/vif leave this multicast group.
Reimplemented from IO.
| void  register_rib () | register_rib | 
| void  unregister_rib () | unregister_rib | 
Remove registration from the RIB.
| void  rib_command_done (const XrlError& error, bool up, const char *comment) | rib_command_done | 
| bool  add_route (IPNet<A> net,
		   A nexthop,
		   uint32_t nexthop_id,
		   uint32_t metric,
		   bool equal,
		   bool discard,
		   const PolicyTags& policytags) | add_route | 
Add route to RIB.
Parameters:
| net | network | 
| nexthop_id | interface ID towards the nexthop | 
| metric | to network | 
| equal | true if this in another route to the same destination. | 
| discard | true if this is a discard route. | 
| policytags | policy info to the RIB. | 
Reimplemented from IO.
| bool  replace_route (IPNet<A> net,
		       A nexthop,
		       uint32_t nexthop_id,
		       uint32_t metric,
		       bool equal,
		       bool discard,
		       const PolicyTags& policytags) | replace_route | 
Replace route in RIB.
Parameters:
| net | network | 
| nexthop_id | interface ID towards the nexthop | 
| metric | to network | 
| equal | true if this in another route to the same destination. | 
| discard | true if this is a discard route. | 
| policytags | policy info to the RIB. | 
Reimplemented from IO.
| bool  delete_route (IPNet<A> net) | delete_route | 
Delete route from RIB.
Reimplemented from IO.