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

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

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

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

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

/**
 *  Get the BGP version currently running.
 */
finder://bgp/bgp/0.3/get_bgp_version->version:u32

/**
 *  Get local config
 *
 *  @param id our BGP ID.
 */
finder://bgp/bgp/0.3/local_config?as:txt&id:ipv4&use_4byte_asnums:bool

/**
 *  Set the local AS number.
 *
 *  @param as our AS number.
 */
finder://bgp/bgp/0.3/set_local_as?as:txt

/**
 *  Allow 4-byte AS numbers.
 *
 *  @param enable whether this is enabled.
 */
finder://bgp/bgp/0.3/set_4byte_as_support?enable:bool

/**
 *  Get the local AS number.
 */
finder://bgp/bgp/0.3/get_local_as->as:txt

/**
 *  Set the BGP id.
 *
 *  @param id our BGP ID.
 */
finder://bgp/bgp/0.3/set_bgp_id?id:ipv4

/**
 *  Get the BGP id.
 */
finder://bgp/bgp/0.3/get_bgp_id->id:ipv4

/**
 *  Confederation identifier.
 *
 *  @param as externally visible AS number.
 *
 *  @param disable true if confederations are disabled.
 */
finder://bgp/bgp/0.3/set_confederation_identifier?as:txt&disable:bool

/**
 *  Route reflection.
 *
 *  @param cluster_id the route reflection cluster ID.
 *
 *  @param disable if true this router is a router reflector.
 */
finder://bgp/bgp/0.3/set_cluster_id?cluster_id:ipv4&disable:bool

/**
 *  Route Flap Damping. RFC 2439
 *
 *  @param half_life decay half life in minutes.
 *
 *  @param max_suppress maximum time in minutes a route can be held down.
 *
 *  @param reuse threshold, point at which a route can be reused.
 */
finder://bgp/bgp/0.3/set_damping?half_life:u32&max_suppress:u32&reuse:u32&suppress:u32&disable:bool

/**
 *  Add peer.
 *
 *  @param as the peer's AS number.
 *
 *  @param next_hop the local next hop.
 *
 *  @param holdtime if traffic is not received in holdtime seconds a peering is
 *  considered down.
 */
finder://bgp/bgp/0.3/add_peer?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&as:txt&next_hop:ipv4&holdtime:u32

/**
 *  Delete peer.
 */
finder://bgp/bgp/0.3/delete_peer?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32

/**
 *  Enable this peer.
 */
finder://bgp/bgp/0.3/enable_peer?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32

/**
 *  Disable this peer.
 */
finder://bgp/bgp/0.3/disable_peer?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32

/**
 *  Change the local IP address.
 *
 *  @param local_ip current IP address.
 *
 *  @param local_port server port.
 *
 *  @param peer_ip IP address.
 *
 *  @param peer_port peer port.
 *
 *  @param new_local_ip new IP address.
 */
finder://bgp/bgp/0.3/change_local_ip?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&new_local_ip:txt

/**
 *  Change the local port.
 *
 *  @param local_ip current IP address.
 *
 *  @param local_port server port.
 *
 *  @param peer_ip IP address.
 *
 *  @param peer_port peer port.
 *
 *  @param new_local_port new local port.
 */
finder://bgp/bgp/0.3/change_local_port?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&new_local_port:u32

/**
 *  Change the peer port.
 *
 *  @param local_ip current IP address.
 *
 *  @param local_port server port.
 *
 *  @param peer_ip IP address.
 *
 *  @param peer_port peer port.
 */
finder://bgp/bgp/0.3/change_peer_port?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&new_peer_port:u32

/**
 *  Set the peer's AS number.
 *
 *  @param peer_as the peer's AS number.
 */
finder://bgp/bgp/0.3/set_peer_as?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&peer_as:txt

/**
 *  Set the holdtime
 *
 *  @param holdtime if traffic is not received in holdtime seconds a peering is
 *  considered down.
 */
finder://bgp/bgp/0.3/set_holdtime?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&holdtime:u32

/**
 *  Set the delay open time
 *
 *  @param delay_open_time to wait is seconds before sending an open.
 */
finder://bgp/bgp/0.3/set_delay_open_time?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&delay_open_time:u32

/**
 *  Set the route reflection client state. Is this peer a route reflector
 *  client.
 *
 *  @param state true if peer is a route reflector client.
 */
finder://bgp/bgp/0.3/set_route_reflector_client?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&state:bool

/**
 *  Is this peer a confederation member.
 *
 *  @param state true if peer is a confederation member.
 */
finder://bgp/bgp/0.3/set_confederation_member?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&state:bool

/**
 *  Set the prefix limit.
 *
 *  @param maximum number of prefixes
 *
 *  @param state true if the prefix limit is being enforced
 */
finder://bgp/bgp/0.3/set_prefix_limit?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&maximum:u32&state:bool

/**
 *  Set the peer's AS number.
 *
 *  @param next_hop IPv4 nexthop.
 */
finder://bgp/bgp/0.3/set_nexthop4?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&next_hop:ipv4

/**
 *  Set the IPv6 nexthop.
 *
 *  @param next_hop IPv6 nexthop
 */
finder://bgp/bgp/0.3/set_nexthop6?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&next_hop:ipv6

/**
 *  Get the IPv6 nexthop.
 *
 *  @param next_hop IPv6 nexthop
 */
finder://bgp/bgp/0.3/get_nexthop6?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32->next_hop:ipv6

/**
 *  Set the peer state enabled or disabled.
 *
 *  @param toggle enabled or disabled.
 */
finder://bgp/bgp/0.3/set_peer_state?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&toggle:bool

/**
 *  Set the peer md5 password.
 *
 *  @param password the password to use for TCP-MD5 authentication.
 */
finder://bgp/bgp/0.3/set_peer_md5_password?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&password:txt

/**
 *  Enable or disable the peering based on the peer state.
 */
finder://bgp/bgp/0.3/activate?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32

/**
 *  Set which parameters we support per peer
 */
finder://bgp/bgp/0.3/set_parameter?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&parameter:txt&toggle:bool

/**
 *  Set next hop rewrite filter. XXX - This is a temporary hack until we get
 *  programmable filters.
 */
finder://bgp/bgp/0.3/next_hop_rewrite_filter?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&next_hop:ipv4

/**
 *  Originate route IPv4
 *
 *  @param nlri subnet to announce
 *
 *  @param next_hop to forward to
 *
 *  @param unicast if true install in unicast routing table
 *
 *  @param multicast if true install in multicast routing table
 */
finder://bgp/bgp/0.3/originate_route4?nlri:ipv4net&next_hop:ipv4&unicast:bool&multicast:bool

/**
 *  Originate route IPv6
 *
 *  @param nlri subnet to announce
 *
 *  @param next_hop to forward to
 *
 *  @param unicast if true install in unicast routing table
 *
 *  @param multicast if true install in multicast routing table
 */
finder://bgp/bgp/0.3/originate_route6?nlri:ipv6net&next_hop:ipv6&unicast:bool&multicast:bool

/**
 *  Withdraw route IPv4
 *
 *  @param nlri subnet to withdraw
 *
 *  @param unicast if true withdraw from unicast routing table
 *
 *  @param multicast if true withdraw from multicast routing table
 */
finder://bgp/bgp/0.3/withdraw_route4?nlri:ipv4net&unicast:bool&multicast:bool

/**
 *  Withdraw route IPv6
 *
 *  @param nlri subnet to withdraw
 *
 *  @param unicast if true withdraw from unicast routing table
 *
 *  @param multicast if true withdraw from multicast routing table
 */
finder://bgp/bgp/0.3/withdraw_route6?nlri:ipv6net&unicast:bool&multicast:bool

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

/**
 *  Get the first item of a list of BGP peers See RFC 1657 (BGP MIB) for full
 *  definitions of return values.
 *
 *  @param token returned token to be provided when calling get_peer_list_next.
 *
 *  @param more returned to indicate whether there are more list items
 *  remaining.
 */
finder://bgp/bgp/0.3/get_peer_list_start->token:u32&more:bool

/**
 *  Get the next item of a list of BGP peers
 *
 *  @param token token from prior call to get_peer_list
 *
 *  @param more returned to indicate whether there are more list items
 *  remaining.
 */
finder://bgp/bgp/0.3/get_peer_list_next?token:u32->local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32&more:bool

finder://bgp/bgp/0.3/get_peer_id?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32->peer_id:ipv4

finder://bgp/bgp/0.3/get_peer_status?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32->peer_state:u32&admin_status:u32

finder://bgp/bgp/0.3/get_peer_negotiated_version?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32->neg_version:i32

finder://bgp/bgp/0.3/get_peer_as?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32->peer_as:txt

finder://bgp/bgp/0.3/get_peer_msg_stats?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32->in_updates:u32&out_updates:u32&in_msgs:u32&out_msgs:u32&last_error:u32&in_update_elapsed:u32

finder://bgp/bgp/0.3/get_peer_established_stats?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32->transitions:u32&established_time:u32

finder://bgp/bgp/0.3/get_peer_timer_config?local_ip:txt&local_port:u32&peer_ip:txt&peer_port:u32->retry_interval:u32&hold_time:u32&keep_alive:u32&hold_time_conf:u32&keep_alive_conf:u32&min_as_orgination_interval:u32&min_route_adv_interval:u32

/**
 *  Register rib.
 *
 *  @param name rib name.
 */
finder://bgp/bgp/0.3/register_rib?name:txt

/**
 *  Get the first item of a list of BGP routes See RFC 1657 (BGP MIB) for full
 *  definitions of return values.
 *
 *  @param net the subtree to examine. NB Either unicast or multicast should be
 *  set to true, but not both.
 *
 *  @param unicast request start of unicast routes.
 *
 *  @param multicast request start of unicast routes.
 *
 *  @param token returned token to be provided when calling
 *  get_route_list_next.
 */
finder://bgp/bgp/0.3/get_v4_route_list_start?net:ipv4net&unicast:bool&multicast:bool->token:u32

/**
 *  Get the first item of a list of BGP routes See RFC 1657 (BGP MIB) for full
 *  definitions of return values.
 *
 *  @param net the subtree to examine. NB Either unicast or multicast should be
 *  set to true, but not both.
 *
 *  @param unicast request start of unicast routes.
 *
 *  @param multicast request start of multicast routes.
 *
 *  @param token returned token to be provided when calling
 *  get_route_list_next.
 */
finder://bgp/bgp/0.3/get_v6_route_list_start?net:ipv6net&unicast:bool&multicast:bool->token:u32

/**
 *  Get the next route in the list See RFC 1657 (BGP MIB) for full definitions
 *  of return values.
 */
finder://bgp/bgp/0.3/get_v4_route_list_next?token:u32->peer_id:ipv4&net:ipv4net&best_and_origin:u32&aspath:binary&nexthop:ipv4&med:i32&localpref:i32&atomic_agg:i32&aggregator:binary&calc_localpref:i32&attr_unknown:binary&valid:bool&unicast:bool&multicast:bool

/**
 *  Get the next route in the list See RFC 1657 (BGP MIB) for full definitions
 *  of return values.
 */
finder://bgp/bgp/0.3/get_v6_route_list_next?token:u32->peer_id:ipv4&net:ipv6net&best_and_origin:u32&aspath:binary&nexthop:ipv6&med:i32&localpref:i32&atomic_agg:i32&aggregator:binary&calc_localpref:i32&attr_unknown:binary&valid:bool&unicast:bool&multicast:bool

/**
 *  Announce target birth to observer.
 *
 *  @param target_class the target class name.
 *
 *  @param target_instance the target instance name.
 */
finder://bgp/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://bgp/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://bgp/policy_backend/0.1/configure?filter:u32&conf:txt

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

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

/**
 *  Start route redistribution for an IPv6 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://bgp/policy_redist6/0.1/add_route6?network:ipv6net&unicast:bool&multicast:bool&nexthop:ipv6&metric:u32&policytags:list

/**
 *  Terminate route redistribution for an IPv6 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://bgp/policy_redist6/0.1/delete_route6?network:ipv6net&unicast:bool&multicast:bool

/**
 *  Route Info Changed route_info_changed is called by the RIB on the RIB
 *  client (typically a routing protocol) that had registered an interest in
 *  the routing of an address. This can be because the metric and/or nexthop
 *  changed.
 *
 *  @param addr base address of the subnet that was registered
 *
 *  @param prefix_len prefix length of the subnet that was registered
 *
 *  @param metric the routing metric toward the address.
 *
 *  @param admin_distance the administratively defined distance toward the
 *  address.
 *
 *  @param protocol_origin the name of the protocol that originated this
 *  routing entry.
 */
finder://bgp/rib_client/0.1/route_info_changed4?addr:ipv4&prefix_len:u32&nexthop:ipv4&metric:u32&admin_distance:u32&protocol_origin:txt

finder://bgp/rib_client/0.1/route_info_changed6?addr:ipv6&prefix_len:u32&nexthop:ipv6&metric:u32&admin_distance:u32&protocol_origin:txt

/**
 *  Route Info Invalid route_info_invalid is called by the RIB on the RIB
 *  client (typically a routing protocol) that had registere d an interest in
 *  the routing of an address. This can be because the information previously
 *  reported as applying no longer applies for any number of reasons. When the
 *  RIB sends this message, it has automatically de-registered interest in the
 *  route, and the client will normally need to send a register_interest
 *  request again.
 */
finder://bgp/rib_client/0.1/route_info_invalid4?addr:ipv4&prefix_len:u32

finder://bgp/rib_client/0.1/route_info_invalid6?addr:ipv6&prefix_len:u32

/**
 *  Enable profiling
 *
 *  @param pname profile variable
 */
finder://bgp/profile/0.1/enable?pname:txt

/**
 *  Disable profiling
 *
 *  @param pname profile variable
 */
finder://bgp/profile/0.1/disable?pname:txt

/**
 *  Get log entries.
 *
 *  @param pname profile variable
 *
 *  @param instance_name to send the profiling info to.
 */
finder://bgp/profile/0.1/get_entries?pname:txt&instance_name:txt

/**
 *  Clear the profiling entries
 *
 *  @param pname profile variable
 */
finder://bgp/profile/0.1/clear?pname:txt

/**
 *  List all the profiling variables registered with this target.
 */
finder://bgp/profile/0.1/list->info:txt

