| 
  | ||||||||||||||||
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,
	      int ttl, 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.