/*
 * 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/rip.xrls,v 1.38 2009/01/05 18:31:15 jtc Exp $
 */

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

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

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

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

/**
 *  Announce target birth to observer.
 *
 *  @param target_class the target class name.
 *
 *  @param target_instance the target instance name.
 */
finder://rip/finder_event_observer/0.1/xrl_target_birth?target_class:txt&target_instance:txt

/**
 *  Announce target death to observer.
 *
 *  @param target_class the target class name.
 *
 *  @param target_instance the target instance name.
 */
finder://rip/finder_event_observer/0.1/xrl_target_death?target_class:txt&target_instance:txt

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

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

/**
 *  Push all available routes through all filters for re-filtering.
 */
finder://rip/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://rip/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://rip/policy_redist4/0.1/delete_route4?network:ipv4net&unicast:bool&multicast:bool

/**
 *  Add an address to run RIP process on. The addition of address is not
 *  instantaneous, RIP has to instantiate state in the FEA to send and receive
 *  packets. Once instantiated the address must be explicitly enabled with
 *  set_rip_address_enabled.
 *
 *  @param ifname the interface that owns vif that has address.
 *
 *  @param vifname virtual interface owning address.
 *
 *  @param addr the address to be added.
 */
finder://rip/rip/0.1/add_rip_address?ifname:txt&vifname:txt&addr:ipv4

/**
 *  Remove an address RIP process is running on.
 *
 *  @param ifname the interface that owns vif that has address.
 *
 *  @param vifname virtual interface owning address.
 *
 *  @param addr the address to be removed.
 */
finder://rip/rip/0.1/remove_rip_address?ifname:txt&vifname:txt&addr:ipv4

finder://rip/rip/0.1/set_rip_address_enabled?ifname:txt&vifname:txt&addr:ipv4&enabled:bool

finder://rip/rip/0.1/rip_address_enabled?ifname:txt&vifname:txt&addr:ipv4->enabled:bool

/**
 *  Set cost metric associated with address.
 */
finder://rip/rip/0.1/set_cost?ifname:txt&vifname:txt&addr:ipv4&cost:u32

/**
 *  Get cost metric associated with address.
 */
finder://rip/rip/0.1/cost?ifname:txt&vifname:txt&addr:ipv4->cost:u32

/**
 *  Set horizon type applied to routes advertised from address.
 *
 *  @param horizon name of horizon type. Permitted values: "none",
 *  "poison-reverse" "split-horizon-poison-reverse"
 */
finder://rip/rip/0.1/set_horizon?ifname:txt&vifname:txt&addr:ipv4&horizon:txt

/**
 *  Get horizon type applied to routes advertised from address.
 */
finder://rip/rip/0.1/horizon?ifname:txt&vifname:txt&addr:ipv4->horizon:txt

/**
 *  Make RIP passive (receive only) on interface/vif/address.
 */
finder://rip/rip/0.1/set_passive?ifname:txt&vifname:txt&addr:ipv4&passive:bool

/**
 *  Get value indicating whether RIP is passive (receive only) on
 *  interface/vif/address.
 */
finder://rip/rip/0.1/passive?ifname:txt&vifname:txt&addr:ipv4->passive:bool

/**
 *  Accept and respond to non-RIP requests.
 */
finder://rip/rip/0.1/set_accept_non_rip_requests?ifname:txt&vifname:txt&addr:ipv4&accept:bool

/**
 *  Get value indicating whether non-RIP requests are accepted and responded to
 *  on interface/vif/address.
 */
finder://rip/rip/0.1/accept_non_rip_requests?ifname:txt&vifname:txt&addr:ipv4->accept:bool

/**
 *  Accept default route from peers.
 */
finder://rip/rip/0.1/set_accept_default_route?ifname:txt&vifname:txt&addr:ipv4&accept:bool

/**
 *  Accessor for whether default route is accepted from peers.
 */
finder://rip/rip/0.1/accept_default_route?ifname:txt&vifname:txt&addr:ipv4->accept:bool

/**
 *  Advertise default route (if present).
 */
finder://rip/rip/0.1/set_advertise_default_route?ifname:txt&vifname:txt&addr:ipv4&advertise:bool

/**
 *  Accessor for whether default route is advertised.
 */
finder://rip/rip/0.1/advertise_default_route?ifname:txt&vifname:txt&addr:ipv4->advertise:bool

/**
 *  Set period that routes associated with reception address will expire in the
 *  absence of updates.
 */
finder://rip/rip/0.1/set_route_timeout?ifname:txt&vifname:txt&addr:ipv4&t_secs:u32

/**
 *  Get period that routes associated with reception address will expire in the
 *  absence of updates.
 */
finder://rip/rip/0.1/route_timeout?ifname:txt&vifname:txt&addr:ipv4->t_secs:u32

/**
 *  Set period that routes associated with reception address will be deleted
 *  after they've expired.
 */
finder://rip/rip/0.1/set_deletion_delay?ifname:txt&vifname:txt&addr:ipv4&t_secs:u32

/**
 *  Get period that routes associated with reception address will be deleted
 *  after they've expired.
 */
finder://rip/rip/0.1/deletion_delay?ifname:txt&vifname:txt&addr:ipv4->t_secs:u32

/**
 *  Set period that route table requests should be sent from address when no
 *  peers are associated with it.
 */
finder://rip/rip/0.1/set_request_interval?ifname:txt&vifname:txt&addr:ipv4&t_secs:u32

/**
 *  Set period that route table requests should be sent from address when no
 *  peers are associated with it.
 */
finder://rip/rip/0.1/request_interval?ifname:txt&vifname:txt&addr:ipv4->t_secs:u32

/**
 *  Set period between the unsolicited sending of the routing table from
 *  address.
 */
finder://rip/rip/0.1/set_update_interval?ifname:txt&vifname:txt&addr:ipv4&t_secs:u32

/**
 *  Get period between the unsolicited sending of the routing table from
 *  address.
 */
finder://rip/rip/0.1/update_interval?ifname:txt&vifname:txt&addr:ipv4->t_secs:u32

/**
 *  Set jitter between the unsolicited sending of the routing table from
 *  address (in percents of the period).
 */
finder://rip/rip/0.1/set_update_jitter?ifname:txt&vifname:txt&addr:ipv4&t_jitter:u32

/**
 *  Get jitter between the unsolicited sending of the routing table from
 *  address (in percents of the period).
 */
finder://rip/rip/0.1/update_jitter?ifname:txt&vifname:txt&addr:ipv4->t_jitter:u32

/**
 *  Set period between sending triggered updates from address.
 */
finder://rip/rip/0.1/set_triggered_update_delay?ifname:txt&vifname:txt&addr:ipv4&t_secs:u32

/**
 *  Get period between sending triggered updates from address.
 */
finder://rip/rip/0.1/triggered_update_delay?ifname:txt&vifname:txt&addr:ipv4->t_secs:u32

/**
 *  Set jitter between sending triggered updates from address (in percents of
 *  the period).
 */
finder://rip/rip/0.1/set_triggered_update_jitter?ifname:txt&vifname:txt&addr:ipv4&t_jitter:u32

/**
 *  Get jitter between sending triggered updates from address (in percents of
 *  the period).
 */
finder://rip/rip/0.1/triggered_update_jitter?ifname:txt&vifname:txt&addr:ipv4->t_jitter:u32

/**
 *  Set the inter-packet delay between the output of packets from address.
 */
finder://rip/rip/0.1/set_interpacket_delay?ifname:txt&vifname:txt&addr:ipv4&t_msecs:u32

/**
 *  Get the inter-packet delay between the output of packets from address.
 */
finder://rip/rip/0.1/interpacket_delay?ifname:txt&vifname:txt&addr:ipv4->t_msecs:u32

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

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

/**
 *  Set MD5 authentication key.
 *
 *  @param ifname the interface name.
 *
 *  @param vifname the vif name.
 *
 *  @param addr the address.
 *
 *  @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).
 */
finder://rip/rip/0.1/set_md5_authentication_key?ifname:txt&vifname:txt&addr:ipv4&key_id:u32&password:txt&start_time:txt&end_time:txt

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

/**
 *  Get a textual description of the status of address RIP is running upon.
 *
 *  @param ifname the interface that owns vif that has the address.
 *
 *  @param vifname virtual interface owns the address.
 *
 *  @param addr the address to query.
 */
finder://rip/rip/0.1/rip_address_status?ifname:txt&vifname:txt&addr:ipv4->status:txt

/**
 *  Get addresses running RIP.
 */
finder://rip/rip/0.1/get_all_addresses->ifnames:list&vifnames:list&addrs:list

/**
 *  Get counters associated with interface / vif /address.
 */
finder://rip/rip/0.1/get_counters?ifname:txt&vifname:txt&addr:ipv4->counter_descriptions:list&counter_values:list

/**
 *  Get the list of peers associated with interface / vif / address.
 */
finder://rip/rip/0.1/get_peers?ifname:txt&vifname:txt&addr:ipv4->peers:list

/**
 *  Get list of all peers known to RIP. There is a 1-to-1 correspondence
 *  between the items in the lists of peers, ifnames, vifnames, addrs.
 */
finder://rip/rip/0.1/get_all_peers->peers:list&ifnames:list&vifnames:list&addrs:list

/**
 *  Get counters associated with peer of interface / vif /address.
 *
 *  @param counter_descriptions textual descriptions of counters.
 *
 *  @param counter_values values associated with counters.
 *
 *  @param peer_last_active is the number of seconds since TimeVal(0,0).
 */
finder://rip/rip/0.1/get_peer_counters?ifname:txt&vifname:txt&addr:ipv4&peer:ipv4->counter_descriptions:list&counter_values:list&peer_last_active:u32

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

/**
 *  Method invoked by target implementing socket4/0.1 when a packet arrives
 *  from an IPv4 source.
 *
 *  @param sockid the identifier associated with socket where the event
 *  occurred.
 *
 *  @param if_name the interface name the packet arrived on, if known. If
 *  unknown, then it is an empty string.
 *
 *  @param vif_name the vif name the packet arrived on, if known. If unknown,
 *  then it is an empty string.
 *
 *  @param src_host the originating host.
 *
 *  @param src_port the originating IP port.
 *
 *  @param data the data received.
 */
finder://rip/socket4_user/0.1/recv_event?sockid:txt&if_name:txt&vif_name:txt&src_host:ipv4&src_port:u32&data:binary

/**
 *  Method invoked by target implementing socket4/0.1 when a connection request
 *  is received from an IPv4 source. It applies only to TCP sockets.
 *
 *  @param sockid the identifier associated with socket where the event
 *  occurred.
 *
 *  @param src_host the connecting host.
 *
 *  @param src_port the connecting IP port.
 *
 *  @param new_sockid the identifier associated with the new socket that has
 *  been created to handle the new connection.
 *
 *  @param accept if true, the connection request has been accepted, otherwise
 *  it has been rejected.
 */
finder://rip/socket4_user/0.1/inbound_connect_event?sockid:txt&src_host:ipv4&src_port:u32&new_sockid:txt->accept:bool

/**
 *  Method invoked by target implementing socket4/0.1 when an outgoing
 *  connection request originated by the local host is completed. It applies
 *  only to TCP sockets. Note that if the connection failed, the error_event
 *  will be dispatched instead.
 *
 *  @param sockid the identifier associated with socket where the event
 *  occurred.
 */
finder://rip/socket4_user/0.1/outgoing_connect_event?sockid:txt

/**
 *  Method invoked by target implementing socket4/0.1 when an error occurs.
 *
 *  @param sockid the identifier associated with socket where the event
 *  occurred.
 *
 *  @param error a textual description of the error.
 *
 *  @param fatal indication of whether socket is shutdown because of error.
 */
finder://rip/socket4_user/0.1/error_event?sockid:txt&error:txt&fatal:bool

/**
 *  Method invoked by target implementing socket4/0.1 when the peer has closed
 *  the connection. It applies only to TCP sockets. Note that the socket itself
 *  is left open and must be explicitly closed.
 *
 *  @param sockid the identifier associated with socket where the event
 *  occurred.
 */
finder://rip/socket4_user/0.1/disconnect_event?sockid:txt

