XrlCmdMap* _cmds | _cmds |
[protected]
XrlOspfv3TargetBase (XrlCmdMap* cmds = 0)
| XrlOspfv3TargetBase |
Constructor.
Parameters:
cmds | an XrlCmdMap that the commands associated with the target should be added to. This is typically the XrlRouter associated with the target. |
~XrlOspfv3TargetBase ()
| ~XrlOspfv3TargetBase |
[virtual]
Destructor.
Dissociates instance commands from command map.
bool set_command_map (XrlCmdMap* cmds)
| set_command_map |
Set command map.
Parameters:
cmds | pointer 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:
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:
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_name | the interface name the packet arrived on. |
vif_name | the vif name the packet arrived on. |
src_address | the IP source address. |
dst_address | the IP destination address. |
ip_protocol | the IP protocol number. |
ip_ttl | the IP TTL (hop-limit). If it has a negative value, then the received value is unknown. |
ip_tos | the Type of Service (Diffserv/ECN bits for IPv4). If it has a negative value, then the received value is unknown. |
ip_router_alert | if true, the IP Router Alert option was included in the IP packet. |
XrlCmdError raw_packet6_client_0_1_recv (
const string& if_name,
const string& vif_name,
const IPv6& src_address,
const IPv6& dst_address,
const uint32_t& ip_protocol,
const int32_t& ip_ttl,
const int32_t& ip_tos,
const bool& ip_router_alert,
const XrlAtomList& ext_headers_type,
const XrlAtomList& ext_headers_payload,
const vector<uint8_t>& payload)
| raw_packet6_client_0_1_recv |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Receive an IPv6 packet from a raw socket.
Parameters:
if_name | the interface name the packet arrived on. |
vif_name | the vif name the packet arrived on. |
src_address | the IP source address. |
dst_address | the IP destination address. |
ip_protocol | the IP protocol number. |
ip_ttl | the IP TTL (hop-limit). If it has a negative value, then the received value is unknown. |
ip_tos | the Type Of Service (IP traffic class for IPv4). If it has a negative value, then the received value is unknown. |
ip_router_alert | if true, the IP Router Alert option was included in the IP packet. |
ext_headers_type | a list of u32 integers with the types of the optional extention headers. |
ext_headers_payload | a list of payload data, one for each optional extention header. The number of entries must match ext_headers_type. |
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:
filter | the identifier of the filter to configure. |
conf | the 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:
filter | the 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_redist6_0_1_add_route6 (
const IPv6Net& network,
const bool& unicast,
const bool& multicast,
const IPv6& nexthop,
const uint32_t& metric,
const XrlAtomList& policytags)
| policy_redist6_0_1_add_route6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Start route redistribution for an IPv6 route.
Parameters:
network | the route to advertise. |
unicast | whether the route is unicast. |
multicast | whether the route is multicast. |
nexthop | the nexthop of the route. |
metric | the metric of the route. |
policytags | the set of policy-tags associated with the route. |
XrlCmdError policy_redist6_0_1_delete_route6 (
const IPv6Net& network,
const bool& unicast,
const bool& multicast)
| policy_redist6_0_1_delete_route6 |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Terminate route redistribution for an IPv6 route.
Parameters:
network | the route for which advertisements should cease. |
unicast | whether the route is unicast. |
multicast | whether the route is multicast. |
XrlCmdError ospfv3_0_1_set_instance_id (
const uint32_t& id)
| ospfv3_0_1_set_instance_id |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError ospfv3_0_1_set_router_id (
const IPv4& id)
| ospfv3_0_1_set_router_id |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError ospfv3_0_1_set_ip_router_alert (
const bool& ip_router_alert)
| ospfv3_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 ospfv3_0_1_create_area_router (
const IPv4& area,
const string& type)
| ospfv3_0_1_create_area_router |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Create an area.
Parameters:
area | id of the area |
type | of area "border", "stub", "nssa" |
XrlCmdError ospfv3_0_1_change_area_router_type (
const IPv4& area,
const string& type)
| ospfv3_0_1_change_area_router_type |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Change area type.
Parameters:
area | id of the area |
type | of area "border", "stub", "nssa" |
XrlCmdError ospfv3_0_1_destroy_area_router (
const IPv4& area)
| ospfv3_0_1_destroy_area_router |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Destroy area.
Parameters:
area | id of the area |
XrlCmdError ospfv3_0_1_create_peer (
const string& ifname,
const string& vifname,
const string& type,
const IPv4& area)
| ospfv3_0_1_create_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Create a binding to an interface.
Parameters:
ifname | the interface. |
vifname | virtual interface. |
type | of link "p2p", "broadcast", "nbma", "p2m", "vlink" |
XrlCmdError ospfv3_0_1_delete_peer (
const string& ifname,
const string& vifname)
| ospfv3_0_1_delete_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError ospfv3_0_1_set_peer_state (
const string& ifname,
const string& vifname,
const bool& enable)
| ospfv3_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 ospfv3_0_1_add_address_peer (
const string& ifname,
const string& vifname,
const IPv4& area,
const IPv6& addr)
| ospfv3_0_1_add_address_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError ospfv3_0_1_remove_address_peer (
const string& ifname,
const string& vifname,
const IPv4& area,
const IPv6& addr)
| ospfv3_0_1_remove_address_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Remove an address from the peer.
XrlCmdError ospfv3_0_1_set_address_state_peer (
const string& ifname,
const string& vifname,
const IPv4& area,
const IPv6& addr,
const bool& enable)
| ospfv3_0_1_set_address_state_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Set the address state up or down.
XrlCmdError ospfv3_0_1_activate_peer (
const string& ifname,
const string& vifname,
const IPv4& area)
| ospfv3_0_1_activate_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Activate peer. Called once the peer and child nodes have been configured.
XrlCmdError ospfv3_0_1_update_peer (
const string& ifname,
const string& vifname,
const IPv4& area)
| ospfv3_0_1_update_peer |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Update peer. Called if the peer and child nodes are modified.
XrlCmdError ospfv3_0_1_add_neighbour (
const string& ifname,
const string& vifname,
const IPv4& area,
const IPv6& neighbour_address,
const IPv4& neighbour_id)
| ospfv3_0_1_add_neighbour |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError ospfv3_0_1_remove_neighbour (
const string& ifname,
const string& vifname,
const IPv4& area,
const IPv6& neighbour_address,
const IPv4& neighbour_id)
| ospfv3_0_1_remove_neighbour |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Remove a neighbour from the peer.
XrlCmdError ospfv3_0_1_create_virtual_link (
const IPv4& neighbour_id,
const IPv4& area)
| ospfv3_0_1_create_virtual_link |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Create a virtual link.
Parameters:
neighbour_id | the router ID of the other end of the link. |
area | in 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 ospfv3_0_1_delete_virtual_link (
const IPv4& neighbour_id)
| ospfv3_0_1_delete_virtual_link |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Delete virtual link
Parameters:
neighbour_id | the router ID of the other end of the link. |
XrlCmdError ospfv3_0_1_transit_area_virtual_link (
const IPv4& neighbour_id,
const IPv4& transit_area)
| ospfv3_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_id | the router ID of the other end of the link. |
transit_area | that the virtual link transits. |
XrlCmdError ospfv3_0_1_set_interface_cost (
const string& ifname,
const string& vifname,
const IPv4& area,
const uint32_t& cost)
| ospfv3_0_1_set_interface_cost |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
The edge cost of this interface.
XrlCmdError ospfv3_0_1_set_retransmit_interval (
const string& ifname,
const string& vifname,
const IPv4& area,
const uint32_t& interval)
| ospfv3_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 ospfv3_0_1_set_inftransdelay (
const string& ifname,
const string& vifname,
const IPv4& area,
const uint32_t& delay)
| ospfv3_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 ospfv3_0_1_set_router_priority (
const string& ifname,
const string& vifname,
const IPv4& area,
const uint32_t& priority)
| ospfv3_0_1_set_router_priority |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Used in the designated router election.
XrlCmdError ospfv3_0_1_set_hello_interval (
const string& ifname,
const string& vifname,
const IPv4& area,
const uint32_t& interval)
| ospfv3_0_1_set_hello_interval |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
The interval between hello messages.
XrlCmdError ospfv3_0_1_set_router_dead_interval (
const string& ifname,
const string& vifname,
const IPv4& area,
const uint32_t& interval)
| ospfv3_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 ospfv3_0_1_set_passive (
const string& ifname,
const string& vifname,
const IPv4& area,
const bool& passive)
| ospfv3_0_1_set_passive |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Toggle the passive status of an interface.
XrlCmdError ospfv3_0_1_originate_default_route (
const IPv4& area,
const bool& enable)
| ospfv3_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 ospfv3_0_1_stub_default_cost (
const IPv4& area,
const uint32_t& cost)
| ospfv3_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 ospfv3_0_1_summaries (
const IPv4& area,
const bool& enable)
| ospfv3_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 ospfv3_0_1_area_range_add (
const IPv4& area,
const IPv6Net& net,
const bool& advertise)
| ospfv3_0_1_area_range_add |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError ospfv3_0_1_area_range_delete (
const IPv4& area,
const IPv6Net& net)
| ospfv3_0_1_area_range_delete |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
XrlCmdError ospfv3_0_1_area_range_change_state (
const IPv4& area,
const IPv6Net& net,
const bool& advertise)
| ospfv3_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 ospfv3_0_1_trace (
const string& tvar,
const bool& enable)
| ospfv3_0_1_trace |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Enable/Disable tracing.
Parameters:
tvar | trace variable. |
enable | set to true to enable false to disable. |
XrlCmdError ospfv3_0_1_get_lsa (
const IPv4& area,
const uint32_t& index,
bool& valid,
bool& toohigh,
bool& self,
vector<uint8_t>& lsa)
| ospfv3_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:
area | database that is being searched. |
index | into database starting from 0. |
valid | true if a LSA has been returned. Some index values do not contain LSAs. This should not be considered an error. |
toohigh | true if no more LSA exist after this index. |
self | if true this LSA was originated by this router. |
lsa | if valid is true the LSA at index. |
XrlCmdError ospfv3_0_1_get_area_list (
XrlAtomList& areas)
| ospfv3_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. Return a list of u32 type values. Each value is an area ID.
XrlCmdError ospfv3_0_1_get_neighbour_list (
XrlAtomList& areas)
| ospfv3_0_1_get_neighbour_list |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get the list of neighbours. Return a list of u32 type values. Each value is an internal identifier that can be used with the get_neighbour_info XRL.
XrlCmdError ospfv3_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)
| ospfv3_0_1_get_neighbour_info |
[protected pure virtual]
Pure-virtual function that needs to be implemented to:
Get information on a neighbour.
Parameters:
nid | neighbour ID returned by the get_neighbour_list. |
address | of neighbour in txt to allow IPv4 and IPv6. |
interface | with which the neighbour forms the adjacency. |
state | of the adjacency. |
rid | router ID of the neighbour. |
priority | of the neighbour (used for DR election). |
deadtime | time until neighbour is considered dead. |
area | the neighbour is in. |
opt | value in the neighbours hello packet. |
dr | designated router. |
bdr | backup designated router. |
up | time in seconds that the neigbour has been up. |
adjacent | time in seconds that there has been an adjacency. |