class XrlOspfv2TargetBase


 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Methods

Protected Methods

Protected Members


Detailed Description

XrlCmdMap* _cmds

_cmds

[protected]

 XrlOspfv2TargetBase (XrlCmdMap* cmds = 0)

XrlOspfv2TargetBase

Constructor.

Parameters:

cmdsan XrlCmdMap that the commands associated with the target should be added to. This is typically the XrlRouter associated with the target.
 ~XrlOspfv2TargetBase ()

~XrlOspfv2TargetBase

[virtual]

Destructor.

Dissociates instance commands from command map.

bool  set_command_map (XrlCmdMap* cmds)

set_command_map

Set command map.

Parameters:

cmdspointer to command map to associate commands with. This argument is typically a pointer to the XrlRouter associated with the target.

Returns: true on success, false if cmds is null or a command map has already been supplied.

inline const string&  name ()

name

[const]

Get Xrl instance name associated with command map.

inline const char*  version ()

version

[const]

Get version string of instance.

XrlCmdError  common_0_1_get_target_name ( string& name)

common_0_1_get_target_name

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Get name of Xrl Target

XrlCmdError  common_0_1_get_version ( string& version)

common_0_1_get_version

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Get version string from Xrl Target

XrlCmdError  common_0_1_get_status ( uint32_t& status, string& reason)

common_0_1_get_status

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Get status of Xrl Target

XrlCmdError  common_0_1_shutdown ()

common_0_1_shutdown

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Request clean shutdown of Xrl Target

XrlCmdError  raw_packet4_client_0_1_recv ( const string& if_name, const string& vif_name, const IPv4& src_address, const IPv4& dst_address, const uint32_t& ip_protocol, const int32_t& ip_ttl, const int32_t& ip_tos, const bool& ip_router_alert, const vector<uint8_t>& payload)

raw_packet4_client_0_1_recv

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Receive an IPv4 packet from a raw socket.

Parameters:

if_namethe interface name the packet arrived on.
vif_namethe vif name the packet arrived on.
src_addressthe IP source address.
dst_addressthe IP destination address.
ip_protocolthe IP protocol number.
ip_ttlthe IP TTL (hop-limit). If it has a negative value, then the received value is unknown.
ip_tosthe Type of Service (Diffserv/ECN bits for IPv4). If it has a negative value, then the received value is unknown.
ip_router_alertif true, the IP Router Alert option was included in the IP packet.
XrlCmdError  policy_backend_0_1_configure ( const uint32_t& filter, const string& conf)

policy_backend_0_1_configure

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Configure a policy filter.

Parameters:

filterthe identifier of the filter to configure.
confthe configuration of the filter.
XrlCmdError  policy_backend_0_1_reset ( const uint32_t& filter)

policy_backend_0_1_reset

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Reset a policy filter.

Parameters:

filterthe identifier of the filter to reset.
XrlCmdError  policy_backend_0_1_push_routes ()

policy_backend_0_1_push_routes

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Push all available routes through all filters for re-filtering.

XrlCmdError  policy_redist4_0_1_add_route4 ( const IPv4Net& network, const bool& unicast, const bool& multicast, const IPv4& nexthop, const uint32_t& metric, const XrlAtomList& policytags)

policy_redist4_0_1_add_route4

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Start route redistribution for an IPv4 route.

Parameters:

networkthe route to advertise.
unicastwhether the route is unicast.
multicastwhether the route is multicast.
nexthopthe nexthop of the route.
metricthe metric of the route.
policytagsthe set of policy-tags associated with the route.
XrlCmdError  policy_redist4_0_1_delete_route4 ( const IPv4Net& network, const bool& unicast, const bool& multicast)

policy_redist4_0_1_delete_route4

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Terminate route redistribution for an IPv4 route.

Parameters:

networkthe route for which advertisements should cease.
unicastwhether the route is unicast.
multicastwhether the route is multicast.
XrlCmdError  ospfv2_0_1_set_router_id ( const IPv4& id)

ospfv2_0_1_set_router_id

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Set router id

XrlCmdError  ospfv2_0_1_set_rfc1583_compatibility ( const bool& compatibility)

ospfv2_0_1_set_rfc1583_compatibility

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Set RFC 1583 compatibility.

XrlCmdError  ospfv2_0_1_set_ip_router_alert ( const bool& ip_router_alert)

ospfv2_0_1_set_ip_router_alert

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Set the router alert in the IP options.

XrlCmdError  ospfv2_0_1_create_area_router ( const IPv4& area, const string& type)

ospfv2_0_1_create_area_router

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Create an area.

Parameters:

areaid of the area
typeof area "border", "stub", "nssa"
XrlCmdError  ospfv2_0_1_change_area_router_type ( const IPv4& area, const string& type)

ospfv2_0_1_change_area_router_type

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Change area type.

Parameters:

areaid of the area
typeof area "border", "stub", "nssa"
XrlCmdError  ospfv2_0_1_destroy_area_router ( const IPv4& area)

ospfv2_0_1_destroy_area_router

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Destroy area.

Parameters:

areaid of the area
XrlCmdError  ospfv2_0_1_create_peer ( const string& ifname, const string& vifname, const IPv4& addr, const uint32_t& prefix_len, const uint32_t& mtu, const string& type, const IPv4& area)

ospfv2_0_1_create_peer

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Create a binding to an interface.

Parameters:

ifnamethe interface that owns vif that has address.
vifnamevirtual interface owning address.
addrthe address to be added.
prefix_lenthe prefix length XXX temporary.
mtumaximum transmission unit XXX temporary.
typeof link "p2p", "broadcast", "nbma", "p2m", "vlink"
XrlCmdError  ospfv2_0_1_delete_peer ( const string& ifname, const string& vifname)

ospfv2_0_1_delete_peer

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Delete peer.

XrlCmdError  ospfv2_0_1_set_peer_state ( const string& ifname, const string& vifname, const bool& enable)

ospfv2_0_1_set_peer_state

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Set the peer state up or down.

XrlCmdError  ospfv2_0_1_add_neighbour ( const string& ifname, const string& vifname, const IPv4& area, const IPv4& neighbour_address, const IPv4& neighbour_id)

ospfv2_0_1_add_neighbour

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Add a neighbour to the peer.

XrlCmdError  ospfv2_0_1_remove_neighbour ( const string& ifname, const string& vifname, const IPv4& area, const IPv4& neighbour_address, const IPv4& neighbour_id)

ospfv2_0_1_remove_neighbour

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Remove a neighbour from the peer.

XrlCmdError  ospfv2_0_1_create_virtual_link ( const IPv4& neighbour_id, const IPv4& area)

ospfv2_0_1_create_virtual_link

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Create a virtual link.

Parameters:

neighbour_idthe router ID of the other end of the link.
areain which an attempt has been made to configure a virtual link it has to be the backbone. Its just being passed in so it can be checked by the protocol.
XrlCmdError  ospfv2_0_1_delete_virtual_link ( const IPv4& neighbour_id)

ospfv2_0_1_delete_virtual_link

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Delete virtual link

Parameters:

neighbour_idthe router ID of the other end of the link.
XrlCmdError  ospfv2_0_1_transit_area_virtual_link ( const IPv4& neighbour_id, const IPv4& transit_area)

ospfv2_0_1_transit_area_virtual_link

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

The area through which the virtual link transits.

Parameters:

neighbour_idthe router ID of the other end of the link.
transit_areathat the virtual link transits.
XrlCmdError  ospfv2_0_1_set_interface_cost ( const string& ifname, const string& vifname, const IPv4& area, const uint32_t& cost)

ospfv2_0_1_set_interface_cost

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

The edge cost of this interface.

XrlCmdError  ospfv2_0_1_set_retransmit_interval ( const string& ifname, const string& vifname, const IPv4& area, const uint32_t& interval)

ospfv2_0_1_set_retransmit_interval

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

RxmtInterval The number of seconds between LSA retransmissions, for adjacencies belonging to this interface. Also used when retransmitting Database Description and Link State Request Packets. This should be well over the expected round-trip delay between any two routers on the attached network. The setting of this value should be conservative or needless retransmissions will result. Sample value for a local area network: 5 seconds.

XrlCmdError  ospfv2_0_1_set_inftransdelay ( const string& ifname, const string& vifname, const IPv4& area, const uint32_t& delay)

ospfv2_0_1_set_inftransdelay

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

The estimated number of seconds it takes to transmit a Link State Update Packet over this interface. LSAs contained in the Link State Update packet will have their age incremented by this amount before transmission. This value should take into account transmission and propagation delays; it must be greater than zero.

XrlCmdError  ospfv2_0_1_set_router_priority ( const string& ifname, const string& vifname, const IPv4& area, const uint32_t& priority)

ospfv2_0_1_set_router_priority

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Used in the designated router election.

XrlCmdError  ospfv2_0_1_set_hello_interval ( const string& ifname, const string& vifname, const IPv4& area, const uint32_t& interval)

ospfv2_0_1_set_hello_interval

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

The interval between hello messages.

XrlCmdError  ospfv2_0_1_set_router_dead_interval ( const string& ifname, const string& vifname, const IPv4& area, const uint32_t& interval)

ospfv2_0_1_set_router_dead_interval

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

The period to wait before considering a router dead.

XrlCmdError  ospfv2_0_1_set_simple_authentication_key ( const string& ifname, const string& vifname, const IPv4& area, const string& password)

ospfv2_0_1_set_simple_authentication_key

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Set simple password authentication key.

Parameters:

ifnamethe interface name.
vifnamethe vif name.
areathe area ID.
passwordthe authentication password.
XrlCmdError  ospfv2_0_1_delete_simple_authentication_key ( const string& ifname, const string& vifname, const IPv4& area)

ospfv2_0_1_delete_simple_authentication_key

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Delete simple password authentication key.

Parameters:

ifnamethe interface name.
vifnamethe vif name.
areathe area ID.
XrlCmdError  ospfv2_0_1_set_md5_authentication_key ( const string& ifname, const string& vifname, const IPv4& area, const uint32_t& key_id, const string& password, const string& start_time, const string& end_time, const uint32_t& max_time_drift)

ospfv2_0_1_set_md5_authentication_key

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Set MD5 authentication key.

Parameters:

ifnamethe interface name.
vifnamethe vif name.
areathe area ID.
key_idthe key ID (must be an integer in the interval [0, 255]).
passwordthe authentication password.
start_timethe authentication start time (YYYY-MM-DD.HH:MM).
end_timethe authentication end time (YYYY-MM-DD.HH:MM).
max_time_driftthe maximum time drift (in seconds) among all routers. Allowed values are [0--65534] seconds or 65535 for unlimited time drift.
XrlCmdError  ospfv2_0_1_delete_md5_authentication_key ( const string& ifname, const string& vifname, const IPv4& area, const uint32_t& key_id)

ospfv2_0_1_delete_md5_authentication_key

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Delete MD5 authentication key.

Parameters:

ifnamethe interface name.
vifnamethe vif name.
areathe area ID.
key_idthe key ID (must be an integer in the interval [0, 255]).
XrlCmdError  ospfv2_0_1_set_passive ( const string& ifname, const string& vifname, const IPv4& area, const bool& passive)

ospfv2_0_1_set_passive

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Toggle the passive status of an interface.

XrlCmdError  ospfv2_0_1_originate_default_route ( const IPv4& area, const bool& enable)

ospfv2_0_1_originate_default_route

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

If this is a "stub" or "nssa" area toggle the sending of a default route.

XrlCmdError  ospfv2_0_1_stub_default_cost ( const IPv4& area, const uint32_t& cost)

ospfv2_0_1_stub_default_cost

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Set the StubDefaultCost, the default cost sent in a default route in a "stub" or "nssa" area.

XrlCmdError  ospfv2_0_1_summaries ( const IPv4& area, const bool& enable)

ospfv2_0_1_summaries

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Toggle the sending of summaries into "stub" or "nssa" areas.

XrlCmdError  ospfv2_0_1_area_range_add ( const IPv4& area, const IPv4Net& net, const bool& advertise)

ospfv2_0_1_area_range_add

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Add area range.

XrlCmdError  ospfv2_0_1_area_range_delete ( const IPv4& area, const IPv4Net& net)

ospfv2_0_1_area_range_delete

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Delete area range.

XrlCmdError  ospfv2_0_1_area_range_change_state ( const IPv4& area, const IPv4Net& net, const bool& advertise)

ospfv2_0_1_area_range_change_state

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Change the advertised state of this area.

XrlCmdError  ospfv2_0_1_trace ( const string& tvar, const bool& enable)

ospfv2_0_1_trace

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Enable/Disable tracing.

Parameters:

tvartrace variable.
enableset to true to enable false to disable.
XrlCmdError  ospfv2_0_1_get_lsa ( const IPv4& area, const uint32_t& index, bool& valid, bool& toohigh, bool& self, vector<uint8_t>& lsa)

ospfv2_0_1_get_lsa

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Get a single lsa from an area. A stateless mechanism to get LSAs. The client of this interface should start from zero and continue to request LSAs (incrementing index) until toohigh becomes true.

Parameters:

areadatabase that is being searched.
indexinto database starting from 0.
validtrue if a LSA has been returned. Some index values do not contain LSAs. This should not be considered an error.
toohightrue if no more LSA exist after this index.
selfif true this LSA was originated by this router.
lsaif valid is true the LSA at index.
XrlCmdError  ospfv2_0_1_get_area_list ( XrlAtomList& areas)

ospfv2_0_1_get_area_list

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Get a list of all the configured areas.

XrlCmdError  ospfv2_0_1_get_neighbour_list ( XrlAtomList& areas)

ospfv2_0_1_get_neighbour_list

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Get the list of neighbours.

XrlCmdError  ospfv2_0_1_get_neighbour_info ( const uint32_t& nid, string& address, string& interface, string& state, IPv4& rid, uint32_t& priority, uint32_t& deadtime, IPv4& area, uint32_t& opt, IPv4& dr, IPv4& bdr, uint32_t& up, uint32_t& adjacent)

ospfv2_0_1_get_neighbour_info

[protected pure virtual]

Pure-virtual function that needs to be implemented to:

Get information on a neighbour.

Parameters:

nidneighbour ID returned by the get_neighbour_list.
addressof neighbour in txt to allow IPv4 and IPv6.
interfacewith which the neighbour forms the adjacency.
stateof the adjacency.
ridrouter ID of the neighbour.
priorityof the neighbour (used for DR election).
deadtimetime until neighbour is considered dead.
areathe neighbour is in.
optvalue in the neighbours hello packet.
drdesignated router.
bdrbackup designated router.
uptime in seconds that the neigbour has been up.
adjacenttime in seconds that there has been an adjacency.

Generated by: pavlin on possum.icir.org on Wed Aug 2 15:36:11 2006, using kdoc $.