class XrlIO

Concrete implementation of IO using XRLs. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods


Detailed Description

Concrete implementation of IO using XRLs.

 XrlIO (EventLoop& eventloop, XrlRouter& xrl_router, const string& feaname, const string& ribname)

XrlIO

 ~XrlIO ()

~XrlIO

bool  startup ()

startup

Startup operation.

Returns: true on success, false on failure.

Reimplemented from ServiceBase.

bool  shutdown ()

shutdown

Shutdown operation.

Returns: true on success, false on failure.

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, uint32_t ip_protocol, int32_t ip_ttl, int32_t ip_tos, bool ip_router_alert, const vector<uint8_t>& payload)

recv

Receiver Raw frames.

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:

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

interfacethe name of the interface to test.
vifthe 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:

interfacethe name of the interface to test.
vifthe name of the vif to test.
addressthe 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:

interfacethe name of the interface
vifthe 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:

interfacethe name of the interface
vifthe 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:

interfacethe name of the interface.
interface_idthe 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:

interfacethe name of the interface.
vifthe name of the vif.
addressthe 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:

thename 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

Register with the 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:

netnetwork
nexthop_idinterface ID towards the nexthop
metricto network
equaltrue if this in another route to the same destination.
discardtrue if this is a discard route.
policytagspolicy 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:

netnetwork
nexthop_idinterface ID towards the nexthop
metricto network
equaltrue if this in another route to the same destination.
discardtrue if this is a discard route.
policytagspolicy info to the RIB.

Reimplemented from IO.

bool  delete_route (IPNet<A> net)

delete_route

Delete route from RIB.

Reimplemented from IO.


Generated by: pavlin on possum.icir.org on Wed Mar 21 11:23:58 2007, using kdoc $.