/*
 * Copyright (c) 2001-2009 XORP, Inc.
 * See the XORP LICENSE.lgpl file for licensing, conditions, and warranties
 * on use.
 *
 * DO NOT EDIT THIS FILE - IT IS PROGRAMMATICALLY GENERATED
 *
 * Generated by 'tgt-gen'.
 *
 * $XORP: xorp/xrl/targets/ospfv2.xrls,v 1.39 2009/01/05 18:31:15 jtc Exp $
 */

/**
 *  Get name of Xrl Target
 */
finder://ospfv2/common/0.1/get_target_name->name:txt

/**
 *  Get version string from Xrl Target
 */
finder://ospfv2/common/0.1/get_version->version:txt

/**
 *  Get status of Xrl Target
 */
finder://ospfv2/common/0.1/get_status->status:u32&reason:txt

/**
 *  Request clean shutdown of Xrl Target
 */
finder://ospfv2/common/0.1/shutdown

/**
 *  Receive an IPv4 packet from a raw socket.
 *
 *  @param if_name the interface name the packet arrived on.
 *
 *  @param vif_name the vif name the packet arrived on.
 *
 *  @param src_address the IP source address.
 *
 *  @param dst_address the IP destination address.
 *
 *  @param ip_protocol the IP protocol number.
 *
 *  @param ip_ttl the IP TTL (hop-limit). If it has a negative value, then the
 *  received value is unknown.
 *
 *  @param ip_tos the Type of Service (Diffserv/ECN bits for IPv4). If it has a
 *  negative value, then the received value is unknown.
 *
 *  @param ip_router_alert if true, the IP Router Alert option was included in
 *  the IP packet.
 *
 *  @param ip_internet_control if true, then this is IP control traffic.
 *
 *  @param payload the payload, everything after the IP header and options.
 */
finder://ospfv2/raw_packet4_client/0.1/recv?if_name:txt&vif_name:txt&src_address:ipv4&dst_address:ipv4&ip_protocol:u32&ip_ttl:i32&ip_tos:i32&ip_router_alert:bool&ip_internet_control:bool&payload:binary

/**
 *  Configure a policy filter.
 *
 *  @param filter the identifier of the filter to configure.
 *
 *  @param conf the configuration of the filter.
 */
finder://ospfv2/policy_backend/0.1/configure?filter:u32&conf:txt

/**
 *  Reset a policy filter.
 *
 *  @param filter the identifier of the filter to reset.
 */
finder://ospfv2/policy_backend/0.1/reset?filter:u32

/**
 *  Push all available routes through all filters for re-filtering.
 */
finder://ospfv2/policy_backend/0.1/push_routes

/**
 *  Start route redistribution for an IPv4 route.
 *
 *  @param network the route to advertise.
 *
 *  @param unicast whether the route is unicast.
 *
 *  @param multicast whether the route is multicast.
 *
 *  @param nexthop the nexthop of the route.
 *
 *  @param metric the metric of the route.
 *
 *  @param policytags the set of policy-tags associated with the route.
 */
finder://ospfv2/policy_redist4/0.1/add_route4?network:ipv4net&unicast:bool&multicast:bool&nexthop:ipv4&metric:u32&policytags:list

/**
 *  Terminate route redistribution for an IPv4 route.
 *
 *  @param network the route for which advertisements should cease.
 *
 *  @param unicast whether the route is unicast.
 *
 *  @param multicast whether the route is multicast.
 */
finder://ospfv2/policy_redist4/0.1/delete_route4?network:ipv4net&unicast:bool&multicast:bool

/**
 *  Set router id
 */
finder://ospfv2/ospfv2/0.1/set_router_id?id:ipv4

/**
 *  Set RFC 1583 compatibility.
 */
finder://ospfv2/ospfv2/0.1/set_rfc1583_compatibility?compatibility:bool

/**
 *  Set the router alert in the IP options.
 */
finder://ospfv2/ospfv2/0.1/set_ip_router_alert?ip_router_alert:bool

/**
 *  Create an area.
 *
 *  @param area id of the area
 *
 *  @param type of area "border", "stub", "nssa"
 */
finder://ospfv2/ospfv2/0.1/create_area_router?area:ipv4&type:txt

/**
 *  Change area type.
 *
 *  @param area id of the area
 *
 *  @param type of area "border", "stub", "nssa"
 */
finder://ospfv2/ospfv2/0.1/change_area_router_type?area:ipv4&type:txt

/**
 *  Destroy area.
 *
 *  @param area id of the area
 */
finder://ospfv2/ospfv2/0.1/destroy_area_router?area:ipv4

/**
 *  Create a binding to an interface.
 *
 *  @param ifname the interface that owns vif that has address.
 *
 *  @param vifname virtual interface owning address.
 *
 *  @param addr the address to be added.
 *
 *  @param type of link "p2p", "broadcast", "nbma", "p2m", "vlink"
 */
finder://ospfv2/ospfv2/0.1/create_peer?ifname:txt&vifname:txt&addr:ipv4&type:txt&area:ipv4

/**
 *  Delete peer.
 */
finder://ospfv2/ospfv2/0.1/delete_peer?ifname:txt&vifname:txt

/**
 *  Set the peer state up or down.
 */
finder://ospfv2/ospfv2/0.1/set_peer_state?ifname:txt&vifname:txt&enable:bool

/**
 *  Add a neighbour to the peer.
 */
finder://ospfv2/ospfv2/0.1/add_neighbour?ifname:txt&vifname:txt&area:ipv4&neighbour_address:ipv4&neighbour_id:ipv4

/**
 *  Remove a neighbour from the peer.
 */
finder://ospfv2/ospfv2/0.1/remove_neighbour?ifname:txt&vifname:txt&area:ipv4&neighbour_address:ipv4&neighbour_id:ipv4

/**
 *  Create a virtual link.
 *
 *  @param neighbour_id the router ID of the other end of the link.
 *
 *  @param 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.
 */
finder://ospfv2/ospfv2/0.1/create_virtual_link?neighbour_id:ipv4&area:ipv4

/**
 *  Delete virtual link
 *
 *  @param neighbour_id the router ID of the other end of the link.
 */
finder://ospfv2/ospfv2/0.1/delete_virtual_link?neighbour_id:ipv4

/**
 *  The area through which the virtual link transits.
 *
 *  @param neighbour_id the router ID of the other end of the link.
 *
 *  @param transit_area that the virtual link transits.
 */
finder://ospfv2/ospfv2/0.1/transit_area_virtual_link?neighbour_id:ipv4&transit_area:ipv4

/**
 *  The edge cost of this interface.
 */
finder://ospfv2/ospfv2/0.1/set_interface_cost?ifname:txt&vifname:txt&area:ipv4&cost:u32

/**
 *  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.
 */
finder://ospfv2/ospfv2/0.1/set_retransmit_interval?ifname:txt&vifname:txt&area:ipv4&interval:u32

/**
 *  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.
 */
finder://ospfv2/ospfv2/0.1/set_inftransdelay?ifname:txt&vifname:txt&area:ipv4&delay:u32

/**
 *  Used in the designated router election.
 */
finder://ospfv2/ospfv2/0.1/set_router_priority?ifname:txt&vifname:txt&area:ipv4&priority:u32

/**
 *  The interval between hello messages.
 */
finder://ospfv2/ospfv2/0.1/set_hello_interval?ifname:txt&vifname:txt&area:ipv4&interval:u32

/**
 *  The period to wait before considering a router dead.
 */
finder://ospfv2/ospfv2/0.1/set_router_dead_interval?ifname:txt&vifname:txt&area:ipv4&interval:u32

/**
 *  Set simple password authentication key.
 *
 *  @param ifname the interface name.
 *
 *  @param vifname the vif name.
 *
 *  @param area the area ID.
 *
 *  @param password the authentication password.
 */
finder://ospfv2/ospfv2/0.1/set_simple_authentication_key?ifname:txt&vifname:txt&area:ipv4&password:txt

/**
 *  Delete simple password authentication key.
 *
 *  @param ifname the interface name.
 *
 *  @param vifname the vif name.
 *
 *  @param area the area ID.
 */
finder://ospfv2/ospfv2/0.1/delete_simple_authentication_key?ifname:txt&vifname:txt&area:ipv4

/**
 *  Set MD5 authentication key.
 *
 *  @param ifname the interface name.
 *
 *  @param vifname the vif name.
 *
 *  @param area the area ID.
 *
 *  @param key_id the key ID (must be an integer in the interval [0, 255]).
 *
 *  @param password the authentication password.
 *
 *  @param start_time the authentication start time (YYYY-MM-DD.HH:MM).
 *
 *  @param end_time the authentication end time (YYYY-MM-DD.HH:MM).
 *
 *  @param max_time_drift the maximum time drift (in seconds) among all
 *  routers. Allowed values are [0--65534] seconds or 65535 for unlimited time
 *  drift.
 */
finder://ospfv2/ospfv2/0.1/set_md5_authentication_key?ifname:txt&vifname:txt&area:ipv4&key_id:u32&password:txt&start_time:txt&end_time:txt&max_time_drift:u32

/**
 *  Delete MD5 authentication key.
 *
 *  @param ifname the interface name.
 *
 *  @param vifname the vif name.
 *
 *  @param area the area ID.
 *
 *  @param key_id the key ID (must be an integer in the interval [0, 255]).
 */
finder://ospfv2/ospfv2/0.1/delete_md5_authentication_key?ifname:txt&vifname:txt&area:ipv4&key_id:u32

/**
 *  Toggle the passive status of an interface.
 */
finder://ospfv2/ospfv2/0.1/set_passive?ifname:txt&vifname:txt&area:ipv4&passive:bool&host:bool

/**
 *  If this is a "stub" or "nssa" area toggle the sending of a default route.
 */
finder://ospfv2/ospfv2/0.1/originate_default_route?area:ipv4&enable:bool

/**
 *  Set the StubDefaultCost, the default cost sent in a default route in a
 *  "stub" or "nssa" area.
 */
finder://ospfv2/ospfv2/0.1/stub_default_cost?area:ipv4&cost:u32

/**
 *  Toggle the sending of summaries into "stub" or "nssa" areas.
 */
finder://ospfv2/ospfv2/0.1/summaries?area:ipv4&enable:bool

/**
 *  Add area range.
 */
finder://ospfv2/ospfv2/0.1/area_range_add?area:ipv4&net:ipv4net&advertise:bool

/**
 *  Delete area range.
 */
finder://ospfv2/ospfv2/0.1/area_range_delete?area:ipv4&net:ipv4net

/**
 *  Change the advertised state of this area.
 */
finder://ospfv2/ospfv2/0.1/area_range_change_state?area:ipv4&net:ipv4net&advertise:bool

/**
 *  Enable/Disable tracing.
 *
 *  @param tvar trace variable.
 *
 *  @param enable set to true to enable false to disable.
 */
finder://ospfv2/ospfv2/0.1/trace?tvar:txt&enable:bool

/**
 *  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.
 *
 *  @param area database that is being searched.
 *
 *  @param index into database starting from 0.
 *
 *  @param valid true if a LSA has been returned. Some index values do not
 *  contain LSAs. This should not be considered an error.
 *
 *  @param toohigh true if no more LSA exist after this index.
 *
 *  @param self if true this LSA was originated by this router.
 *
 *  @param lsa if valid is true the LSA at index.
 */
finder://ospfv2/ospfv2/0.1/get_lsa?area:ipv4&index:u32->valid:bool&toohigh:bool&self:bool&lsa:binary

/**
 *  Get a list of all the configured areas. Return a list of u32 type values.
 *  Each value is an area ID.
 */
finder://ospfv2/ospfv2/0.1/get_area_list->areas:list

/**
 *  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.
 */
finder://ospfv2/ospfv2/0.1/get_neighbour_list->areas:list

/**
 *  Get information on a neighbour.
 *
 *  @param nid neighbour ID returned by the get_neighbour_list.
 *
 *  @param address of neighbour in txt to allow IPv4 and IPv6.
 *
 *  @param interface with which the neighbour forms the adjacency.
 *
 *  @param state of the adjacency.
 *
 *  @param rid router ID of the neighbour.
 *
 *  @param priority of the neighbour (used for DR election).
 *
 *  @param deadtime time until neighbour is considered dead.
 *
 *  @param area the neighbour is in.
 *
 *  @param opt value in the neighbours hello packet.
 *
 *  @param dr designated router.
 *
 *  @param bdr backup designated router.
 *
 *  @param up time in seconds that the neigbour has been up.
 *
 *  @param adjacent time in seconds that there has been an adjacency.
 */
finder://ospfv2/ospfv2/0.1/get_neighbour_info?nid:u32->address:txt&interface:txt&state:txt&rid:ipv4&priority:u32&deadtime:u32&area:ipv4&opt:u32&dr:ipv4&bdr:ipv4&up:u32&adjacent:u32

/**
 *  Clear the OSPF database.
 */
finder://ospfv2/ospfv2/0.1/clear_database

