XrlOspfV3Target (XrlRouter *r,
Ospf<IPv6>& ospf_ipv6,
XrlIO<IPv6>& io_ipv6)
| XrlOspfV3Target |
XrlCmdError common_0_1_get_target_name (
string& name)
| common_0_1_get_target_name |
Get name of Xrl Target
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError common_0_1_get_version (
string& version)
| common_0_1_get_version |
Get version string from Xrl Target
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError common_0_1_get_status (
uint32_t& status,
string& reason)
| common_0_1_get_status |
Get status of Xrl Target
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError common_0_1_shutdown ()
| common_0_1_shutdown |
Request clean shutdown of Xrl Target
Reimplemented from XrlOspfv3TargetBase.
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 |
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. |
Reimplemented from XrlOspfv3TargetBase.
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 |
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. |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError policy_backend_0_1_configure (
const uint32_t& filter,
const string& conf)
| policy_backend_0_1_configure |
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. |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError policy_backend_0_1_reset (
const uint32_t& filter)
| policy_backend_0_1_reset |
Parameters:
filter | the identifier of the filter to reset. |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError policy_backend_0_1_push_routes ()
| policy_backend_0_1_push_routes |
Push all available routes through all filters for re-filtering.
Reimplemented from XrlOspfv3TargetBase.
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 |
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. |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError policy_redist6_0_1_delete_route6 (
const IPv6Net& network,
const bool& unicast,
const bool& multicast)
| policy_redist6_0_1_delete_route6 |
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. |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_set_instance_id (
const uint32_t& id)
| ospfv3_0_1_set_instance_id |
Set instance id
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_set_router_id (
const IPv4& id)
| ospfv3_0_1_set_router_id |
Set router id
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_set_ip_router_alert (
const bool& ip_router_alert)
| ospfv3_0_1_set_ip_router_alert |
Set the router alert in the IP options.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_create_area_router (
const IPv4& area,
const string& type)
| ospfv3_0_1_create_area_router |
Parameters:
type | of area "normal", "stub", "nssa" |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_change_area_router_type (
const IPv4& area,
const string& type)
| ospfv3_0_1_change_area_router_type |
Change area type.
Parameters:
area | id of the area |
type | of area "border", "stub", "nssa" |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_destroy_area_router (
const IPv4& area)
| ospfv3_0_1_destroy_area_router |
Destroy area.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_create_peer (
const string& ifname,
const string& vifname,
const string& type,
const IPv4& area)
| ospfv3_0_1_create_peer |
Create a binding to an interface.
Parameters:
ifname | the interface. |
vifname | virtual interface. |
type | of link "p2p", "broadcast", "nbma", "p2m", "vlink" |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_delete_peer (
const string& ifname,
const string& vifname)
| ospfv3_0_1_delete_peer |
Delete peer.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_set_peer_state (
const string& ifname,
const string& vifname,
const bool& enable)
| ospfv3_0_1_set_peer_state |
Set the peer state up or down.
Reimplemented from XrlOspfv3TargetBase.
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 |
Add an address to the peer.
Reimplemented from XrlOspfv3TargetBase.
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 |
Remove an address from the peer.
Reimplemented from XrlOspfv3TargetBase.
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 |
Set the address state up or down.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_activate_peer (
const string& ifname,
const string& vifname,
const IPv4& area)
| ospfv3_0_1_activate_peer |
Activate peer. Called once the peer and child nodes have been configured.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_update_peer (
const string& ifname,
const string& vifname,
const IPv4& area)
| ospfv3_0_1_update_peer |
Update peer. Called if the peer and child nodes are modified.
Reimplemented from XrlOspfv3TargetBase.
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 |
Add a neighbour to the peer.
Reimplemented from XrlOspfv3TargetBase.
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 |
Remove a neighbour from the peer.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_create_virtual_link (
const IPv4& neighbour_id,
const IPv4& area)
| ospfv3_0_1_create_virtual_link |
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. |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_delete_virtual_link (
const IPv4& neighbour_id)
| ospfv3_0_1_delete_virtual_link |
Delete virtual link
Parameters:
neighbour_id | the router ID of the other end of the link. |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_transit_area_virtual_link (
const IPv4& neighbour_id,
const IPv4& transit_area)
| ospfv3_0_1_transit_area_virtual_link |
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. |
Reimplemented from XrlOspfv3TargetBase.
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 |
The edge cost of this interface.
Reimplemented from XrlOspfv3TargetBase.
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 |
The RxmtInterval.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_set_inftransdelay (
const string& ifname,
const string& vifname,
const IPv4& area,
const uint32_t& delay)
| ospfv3_0_1_set_inftransdelay |
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.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_set_router_priority (
const string& ifname,
const string& vifname,
const IPv4& area,
const uint32_t& interval)
| ospfv3_0_1_set_router_priority |
Used in the designated router election.
Reimplemented from XrlOspfv3TargetBase.
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 |
The interval between hello messages.
Reimplemented from XrlOspfv3TargetBase.
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 |
The period to wait before considering a router dead.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_set_passive (
const string& ifname,
const string& vifname,
const IPv4& area,
const bool& passive)
| ospfv3_0_1_set_passive |
Toggle the passive status of an interface.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_originate_default_route (
const IPv4& area,
const bool& enable)
| ospfv3_0_1_originate_default_route |
If this is a "stub" or "nssa" area toggle the sending of a default route.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_stub_default_cost (
const IPv4& area,
const uint32_t& cost)
| ospfv3_0_1_stub_default_cost |
Set the StubDefaultCost, the default cost sent in a default route in a "stub" or "nssa" area.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_summaries (
const IPv4& area,
const bool& enable)
| ospfv3_0_1_summaries |
Toggle the sending of summaries into "stub" or "nssa" areas.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_area_range_add (
const IPv4& area,
const IPv6Net& net,
const bool& advertise)
| ospfv3_0_1_area_range_add |
Add area range.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_area_range_delete (
const IPv4& area,
const IPv6Net& net)
| ospfv3_0_1_area_range_delete |
Delete area range.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_area_range_change_state (
const IPv4& area,
const IPv6Net& net,
const bool& advertise)
| ospfv3_0_1_area_range_change_state |
Change the advertised state of this area.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_trace (
const string& tvar,
const bool& enable)
| ospfv3_0_1_trace |
Enable/Disable tracing.
Parameters:
tvar | trace variable. |
enable | set to true to enable false to disable. |
Reimplemented from XrlOspfv3TargetBase.
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 |
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. |
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_get_area_list (XrlAtomList& areas)
| ospfv3_0_1_get_area_list |
Get a list of all the configured areas.
Reimplemented from XrlOspfv3TargetBase.
XrlCmdError ospfv3_0_1_get_neighbour_list (
XrlAtomList& areas)
| ospfv3_0_1_get_neighbour_list |
Get the list of neighbours.
Reimplemented from XrlOspfv3TargetBase.
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 |
Get information on a neighbour.
Parameters:
nid | neighbour ID returned by the get_neighbour_list. |
valid | true if valid information has been returned. |
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). |
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. |
Reimplemented from XrlOspfv3TargetBase.