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

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

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

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

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

/**
 *  Announce target birth to observer.
 *
 *  @param target_class the target class name.
 *
 *  @param target_instance the target instance name.
 */
finder://fea/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://fea/finder_event_observer/0.1/xrl_target_death?target_class:txt&target_instance:txt

/**
 *  Load Click FEA support.
 */
finder://fea/fea_click/0.1/load_click

/**
 *  Unload Click FEA support.
 */
finder://fea/fea_click/0.1/unload_click

/**
 *  Enable/disable Click FEA support.
 *
 *  @param enable if true, then enable the Click FEA support, otherwise disable
 *  it.
 */
finder://fea/fea_click/0.1/enable_click?enable:bool

/**
 *  Start Click FEA support.
 */
finder://fea/fea_click/0.1/start_click

/**
 *  Stop Click FEA support.
 */
finder://fea/fea_click/0.1/stop_click

/**
 *  Enable/disable duplicating the Click routes to the system kernel.
 *
 *  @param enable if true, then enable duplicating the Click routes to the
 *  system kernel, otherwise disable it.
 */
finder://fea/fea_click/0.1/enable_duplicate_routes_to_kernel?enable:bool

/**
 *  Enable/disable kernel-level Click FEA support.
 *
 *  @param enable if true, then enable the kernel-level Click FEA support,
 *  otherwise disable it.
 */
finder://fea/fea_click/0.1/enable_kernel_click?enable:bool

/**
 *  Enable/disable installing kernel-level Click on startup.
 *
 *  @param enable if true, then install kernel-level Click on startup.
 */
finder://fea/fea_click/0.1/enable_kernel_click_install_on_startup?enable:bool

/**
 *  Specify the list of kernel Click modules to load on startup if installing
 *  kernel-level Click on startup is enabled. The file names of the kernel
 *  modules are separated by colon.
 *
 *  @param modules the list of kernel Click modules (separated by colon) to
 *  load.
 */
finder://fea/fea_click/0.1/set_kernel_click_modules?modules:txt

/**
 *  Specify the kernel-level Click mount directory.
 *
 *  @param directory the kernel-level Click mount directory.
 */
finder://fea/fea_click/0.1/set_kernel_click_mount_directory?directory:txt

/**
 *  Specify the external program to generate the kernel-level Click
 *  configuration.
 *
 *  @param kernel_click_config_generator_file the name of the external program
 *  to generate the kernel-level Click configuration.
 */
finder://fea/fea_click/0.1/set_kernel_click_config_generator_file?kernel_click_config_generator_file:txt

/**
 *  Enable/disable user-level Click FEA support.
 *
 *  @param enable if true, then enable the user-level Click FEA support,
 *  otherwise disable it.
 */
finder://fea/fea_click/0.1/enable_user_click?enable:bool

/**
 *  Specify the user-level Click command file.
 *
 *  @param user_click_command_file the name of the user-level Click command
 *  file.
 */
finder://fea/fea_click/0.1/set_user_click_command_file?user_click_command_file:txt

/**
 *  Specify the extra arguments to the user-level Click command.
 *
 *  @param user_click_command_extra_arguments the extra arguments to the
 *  user-level Click command.
 */
finder://fea/fea_click/0.1/set_user_click_command_extra_arguments?user_click_command_extra_arguments:txt

/**
 *  Specify whether to execute on startup the user-level Click command.
 *
 *  @param user_click_command_execute_on_startup if true, then execute the
 *  user-level Click command on startup.
 */
finder://fea/fea_click/0.1/set_user_click_command_execute_on_startup?user_click_command_execute_on_startup:bool

/**
 *  Specify the address to use for control access to the user-level Click.
 *
 *  @param user_click_control_address the address to use for control access to
 *  the user-level Click.
 */
finder://fea/fea_click/0.1/set_user_click_control_address?user_click_control_address:ipv4

/**
 *  Specify the socket port to use for control access to the user-level Click.
 *
 *  @param user_click_control_socket_port the socket port to use for control
 *  access to the user-level Click.
 */
finder://fea/fea_click/0.1/set_user_click_control_socket_port?user_click_control_socket_port:u32

/**
 *  Specify the configuration file to be used by user-level Click on startup.
 *
 *  @param user_click_startup_config_file the name of the configuration file to
 *  be used by user-level Click on startup.
 */
finder://fea/fea_click/0.1/set_user_click_startup_config_file?user_click_startup_config_file:txt

/**
 *  Specify the external program to generate the user-level Click
 *  configuration.
 *
 *  @param user_click_config_generator_file the name of the external program to
 *  generate the user-level Click configuration.
 */
finder://fea/fea_click/0.1/set_user_click_config_generator_file?user_click_config_generator_file:txt

/**
 *  Add a FIB client.
 *
 *  @param client_target_name the target name of the FIB client to add.
 *
 *  @param send_updates whether updates should be sent.
 *
 *  @param send_resolves whether resolution requests should be sent.
 */
finder://fea/fea_fib/0.1/add_fib_client4?client_target_name:txt&send_updates:bool&send_resolves:bool

finder://fea/fea_fib/0.1/add_fib_client6?client_target_name:txt&send_updates:bool&send_resolves:bool

/**
 *  Delete a FIB client.
 *
 *  @param client_target_name the target name of the FIB client to delete.
 */
finder://fea/fea_fib/0.1/delete_fib_client4?client_target_name:txt

finder://fea/fea_fib/0.1/delete_fib_client6?client_target_name:txt

/**
 *  Start firewall configuration transaction.
 *
 *  @param tid the transaction ID returned by this operation.
 */
finder://fea/fea_firewall/0.1/start_transaction->tid:u32

/**
 *  Commit firewall configuration transaction.
 *
 *  @param tid the transaction ID for this operation.
 */
finder://fea/fea_firewall/0.1/commit_transaction?tid:u32

/**
 *  Abort firewall configuration transaction.
 *
 *  @param tid the transaction ID for this operation.
 */
finder://fea/fea_firewall/0.1/abort_transaction?tid:u32

/**
 *  Add an IPv4 firewall entry.
 *
 *  @param tid the transaction ID for this operation.
 *
 *  @param rule_number the rule number for this entry.
 *
 *  @param ifname the name of the interface where this filter is to be applied.
 *
 *  @param vifname the name of the vif where this filter is to be applied.
 *
 *  @param src_network the source IPv4 network address prefix.
 *
 *  @param dst_network the destination IPv4 network address prefix.
 *
 *  @param ip_protocol the IP protocol number (1-255, or 0 if wildcard).
 *
 *  @param src_port_begin the source TCP/UDP begin port (0-65535).
 *
 *  @param src_port_end the source TCP/UDP end port (0-65535).
 *
 *  @param dst_port_begin the destination TCP/UDP begin port (0-65535).
 *
 *  @param dst_port_end the destination TCP/UDP end port (0-65535).
 *
 *  @param action the action to be taken when this filter is matched. It is one
 *  of the following keywords: "none", "pass", "drop", "reject".
 */
finder://fea/fea_firewall/0.1/add_entry4?tid:u32&rule_number:u32&ifname:txt&vifname:txt&src_network:ipv4net&dst_network:ipv4net&ip_protocol:u32&src_port_begin:u32&src_port_end:u32&dst_port_begin:u32&dst_port_end:u32&action:txt

/**
 *  Replace an IPv4 firewall entry.
 *
 *  @param tid the transaction ID for this operation.
 *
 *  @param rule_number the rule number for this entry.
 *
 *  @param ifname the name of the interface where this filter is to be applied.
 *
 *  @param vifname the name of the vif where this filter is to be applied.
 *
 *  @param src_network the source IPv4 network address prefix.
 *
 *  @param dst_network the destination IPv4 network address prefix.
 *
 *  @param ip_protocol the IP protocol number (1-255, or 0 if wildcard).
 *
 *  @param src_port_begin the source TCP/UDP begin port (0-65535).
 *
 *  @param src_port_end the source TCP/UDP end port (0-65535).
 *
 *  @param dst_port_begin the destination TCP/UDP begin port (0-65535).
 *
 *  @param dst_port_end the destination TCP/UDP end port (0-65535).
 *
 *  @param action the action to be taken when this filter is matched. It is one
 *  of the following keywords: "none", "pass", "drop", "reject".
 */
finder://fea/fea_firewall/0.1/replace_entry4?tid:u32&rule_number:u32&ifname:txt&vifname:txt&src_network:ipv4net&dst_network:ipv4net&ip_protocol:u32&src_port_begin:u32&src_port_end:u32&dst_port_begin:u32&dst_port_end:u32&action:txt

/**
 *  Delete an IPv4 firewall entry.
 *
 *  @param tid the transaction ID for this operation.
 *
 *  @param rule_number the rule number for this entry.
 *
 *  @param ifname the name of the interface where this filter is to be deleted.
 *
 *  @param vifname the name of the vif where this filter is to be deleted.
 *
 *  @param src_network the source IPv4 network address prefix.
 *
 *  @param dst_network the destination IPv4 network address prefix.
 *
 *  @param ip_protocol the IP protocol number (1-255, or 0 if wildcard).
 *
 *  @param src_port_begin the source TCP/UDP begin port (0-65535).
 *
 *  @param src_port_end the source TCP/UDP end port (0-65535).
 *
 *  @param dst_port_begin the destination TCP/UDP begin port (0-65535).
 *
 *  @param dst_port_end the destination TCP/UDP end port (0-65535).
 */
finder://fea/fea_firewall/0.1/delete_entry4?tid:u32&rule_number:u32&ifname:txt&vifname:txt&src_network:ipv4net&dst_network:ipv4net&ip_protocol:u32&src_port_begin:u32&src_port_end:u32&dst_port_begin:u32&dst_port_end:u32

/**
 *  Delete all IPv4 firewall entries.
 *
 *  @param tid the transaction ID for this operation.
 */
finder://fea/fea_firewall/0.1/delete_all_entries4?tid:u32

/**
 *  Get a token for a list of IPv4 firewall entries.
 *
 *  @param token to be provided when calling get_entry_list_next4.
 *
 *  @param more true if the list is not empty.
 */
finder://fea/fea_firewall/0.1/get_entry_list_start4->token:u32&more:bool

/**
 *  Get the next item in a list of IPv4 firewall entries.
 *
 *  @param token returned by a previous call to get_entry_list_start4.
 *
 *  @param rule_number the rule number for this entry.
 *
 *  @param ifname the name of the interface where this filter exists.
 *
 *  @param vifname the name of the vif where this filter exists.
 *
 *  @param src_network the source IPv4 network address prefix.
 *
 *  @param dst_network the destination IPv4 network address prefix.
 *
 *  @param ip_protocol the IP protocol number (1-255, or 0 if wildcard).
 *
 *  @param src_port_begin the source TCP/UDP begin port (0-65535).
 *
 *  @param src_port_end the source TCP/UDP end port (0-65535).
 *
 *  @param dst_port_begin the destination TCP/UDP begin port (0-65535).
 *
 *  @param dst_port_end the destination TCP/UDP end port (0-65535).
 *
 *  @param action the action taken when this filter is matched. It is one of
 *  the following keywords: "none", "pass", "drop", "reject".
 *
 *  @param more true if the list has more items remaining.
 */
finder://fea/fea_firewall/0.1/get_entry_list_next4?token:u32->rule_number:u32&ifname:txt&vifname:txt&src_network:ipv4net&dst_network:ipv4net&ip_protocol:u32&src_port_begin:u32&src_port_end:u32&dst_port_begin:u32&dst_port_end:u32&action:txt&more:bool

/**
 *  Add an IPv6 firewall entry.
 *
 *  @param tid the transaction ID for this operation.
 *
 *  @param rule_number the rule number for this entry.
 *
 *  @param ifname the name of the interface where this filter is to be applied.
 *
 *  @param vifname the name of the vif where this filter is to be applied.
 *
 *  @param src_network the source IPv6 network address prefix.
 *
 *  @param dst_network the destination IPv6 network address prefix.
 *
 *  @param ip_protocol the IP protocol number (1-255, or 0 if wildcard).
 *
 *  @param src_port_begin the source TCP/UDP begin port (0-65535).
 *
 *  @param src_port_end the source TCP/UDP end port (0-65535).
 *
 *  @param dst_port_begin the destination TCP/UDP begin port (0-65535).
 *
 *  @param dst_port_end the destination TCP/UDP end port (0-65535).
 *
 *  @param action the action to be taken when this filter is matched. It is one
 *  of the following keywords: "none", "pass", "drop", "reject".
 */
finder://fea/fea_firewall/0.1/add_entry6?tid:u32&rule_number:u32&ifname:txt&vifname:txt&src_network:ipv6net&dst_network:ipv6net&ip_protocol:u32&src_port_begin:u32&src_port_end:u32&dst_port_begin:u32&dst_port_end:u32&action:txt

/**
 *  Replace an IPv6 firewall entry.
 *
 *  @param tid the transaction ID for this operation.
 *
 *  @param rule_number the rule number for this entry.
 *
 *  @param ifname the name of the interface where this filter is to be applied.
 *
 *  @param vifname the name of the vif where this filter is to be applied.
 *
 *  @param src_network the source IPv6 network address prefix.
 *
 *  @param dst_network the destination IPv6 network address prefix.
 *
 *  @param ip_protocol the IP protocol number (1-255, or 0 if wildcard).
 *
 *  @param src_port_begin the source TCP/UDP begin port (0-65535).
 *
 *  @param src_port_end the source TCP/UDP end port (0-65535).
 *
 *  @param dst_port_begin the destination TCP/UDP begin port (0-65535).
 *
 *  @param dst_port_end the destination TCP/UDP end port (0-65535).
 *
 *  @param action the action to be taken when this filter is matched. It is one
 *  of the following keywords: "none", "pass", "drop", "reject".
 */
finder://fea/fea_firewall/0.1/replace_entry6?tid:u32&rule_number:u32&ifname:txt&vifname:txt&src_network:ipv6net&dst_network:ipv6net&ip_protocol:u32&src_port_begin:u32&src_port_end:u32&dst_port_begin:u32&dst_port_end:u32&action:txt

/**
 *  Delete an IPv6 firewall entry.
 *
 *  @param tid the transaction ID for this operation.
 *
 *  @param rule_number the rule number for this entry.
 *
 *  @param ifname the name of the interface where this filter is to be deleted.
 *
 *  @param vifname the name of the vif where this filter is to be deleted.
 *
 *  @param src_network the source IPv6 network address prefix.
 *
 *  @param dst_network the destination IPv6 network address prefix.
 *
 *  @param ip_protocol the IP protocol number (1-255, or 0 if wildcard).
 *
 *  @param src_port_begin the source TCP/UDP begin port (0-65535).
 *
 *  @param src_port_end the source TCP/UDP end port (0-65535).
 *
 *  @param dst_port_begin the destination TCP/UDP begin port (0-65535).
 *
 *  @param dst_port_end the destination TCP/UDP end port (0-65535).
 */
finder://fea/fea_firewall/0.1/delete_entry6?tid:u32&rule_number:u32&ifname:txt&vifname:txt&src_network:ipv6net&dst_network:ipv6net&ip_protocol:u32&src_port_begin:u32&src_port_end:u32&dst_port_begin:u32&dst_port_end:u32

/**
 *  Delete all IPv6 firewall entries.
 *
 *  @param tid the transaction ID for this operation.
 */
finder://fea/fea_firewall/0.1/delete_all_entries6?tid:u32

/**
 *  Get a token for a list of IPv6 firewall entries.
 *
 *  @param token to be provided when calling get_entry_list_next6.
 *
 *  @param more true if the list is not empty.
 */
finder://fea/fea_firewall/0.1/get_entry_list_start6->token:u32&more:bool

/**
 *  Get the next item in a list of IPv6 firewall entries.
 *
 *  @param token returned by a previous call to get_entry_list_start6.
 *
 *  @param rule_number the rule number for this entry.
 *
 *  @param ifname the name of the interface where this filter exists.
 *
 *  @param vifname the name of the vif where this filter exists.
 *
 *  @param src_network the source IPv6 network address prefix.
 *
 *  @param dst_network the destination IPv6 network address prefix.
 *
 *  @param ip_protocol the IP protocol number (1-255, or 0 if wildcard).
 *
 *  @param src_port_begin the source TCP/UDP begin port (0-65535).
 *
 *  @param src_port_end the source TCP/UDP end port (0-65535).
 *
 *  @param dst_port_begin the destination TCP/UDP begin port (0-65535).
 *
 *  @param dst_port_end the destination TCP/UDP end port (0-65535).
 *
 *  @param action the action taken when this filter is matched. It is one of
 *  the following keywords: "none", "pass", "drop", "reject".
 *
 *  @param more true if the list has more items remaining.
 */
finder://fea/fea_firewall/0.1/get_entry_list_next6?token:u32->rule_number:u32&ifname:txt&vifname:txt&src_network:ipv6net&dst_network:ipv6net&ip_protocol:u32&src_port_begin:u32&src_port_end:u32&dst_port_begin:u32&dst_port_end:u32&action:txt&more:bool

finder://fea/ifmgr/0.1/set_restore_original_config_on_shutdown?enable:bool

finder://fea/ifmgr/0.1/get_configured_interface_names->ifnames:list

finder://fea/ifmgr/0.1/get_configured_vif_names?ifname:txt->vifs:list

finder://fea/ifmgr/0.1/get_configured_vif_flags?ifname:txt&vif:txt->enabled:bool&broadcast:bool&loopback:bool&point_to_point:bool&multicast:bool

finder://fea/ifmgr/0.1/get_configured_vif_pif_index?ifname:txt&vif:txt->pif_index:u32

finder://fea/ifmgr/0.1/get_configured_vif_addresses4?ifname:txt&vif:txt->addresses:list

finder://fea/ifmgr/0.1/get_configured_vif_addresses6?ifname:txt&vif:txt->addresses:list

finder://fea/ifmgr/0.1/get_configured_address_flags4?ifname:txt&vif:txt&address:ipv4->enabled:bool&broadcast:bool&loopback:bool&point_to_point:bool&multicast:bool

finder://fea/ifmgr/0.1/get_configured_address_flags6?ifname:txt&vif:txt&address:ipv6->enabled:bool&loopback:bool&point_to_point:bool&multicast:bool

finder://fea/ifmgr/0.1/get_configured_interface_enabled?ifname:txt->enabled:bool

finder://fea/ifmgr/0.1/get_configured_interface_discard?ifname:txt->discard:bool

finder://fea/ifmgr/0.1/get_configured_interface_unreachable?ifname:txt->unreachable:bool

finder://fea/ifmgr/0.1/get_configured_interface_management?ifname:txt->management:bool

finder://fea/ifmgr/0.1/get_configured_mac?ifname:txt->mac:mac

finder://fea/ifmgr/0.1/get_configured_mtu?ifname:txt->mtu:u32

finder://fea/ifmgr/0.1/get_configured_no_carrier?ifname:txt->no_carrier:bool

finder://fea/ifmgr/0.1/get_configured_baudrate?ifname:txt->baudrate:u64

finder://fea/ifmgr/0.1/get_configured_vif_enabled?ifname:txt&vif:txt->enabled:bool

finder://fea/ifmgr/0.1/get_configured_prefix4?ifname:txt&vif:txt&address:ipv4->prefix_len:u32

finder://fea/ifmgr/0.1/get_configured_broadcast4?ifname:txt&vif:txt&address:ipv4->broadcast:ipv4

finder://fea/ifmgr/0.1/get_configured_endpoint4?ifname:txt&vif:txt&address:ipv4->endpoint:ipv4

finder://fea/ifmgr/0.1/get_configured_prefix6?ifname:txt&vif:txt&address:ipv6->prefix_len:u32

finder://fea/ifmgr/0.1/get_configured_endpoint6?ifname:txt&vif:txt&address:ipv6->endpoint:ipv6

finder://fea/ifmgr/0.1/start_transaction->tid:u32

finder://fea/ifmgr/0.1/commit_transaction?tid:u32

finder://fea/ifmgr/0.1/abort_transaction?tid:u32

finder://fea/ifmgr/0.1/create_interface?tid:u32&ifname:txt

finder://fea/ifmgr/0.1/delete_interface?tid:u32&ifname:txt

/**
 *  Implicitly configure all interfaces within the FEA by using information
 *  from the underlying system.
 *
 *  @param tid the transaction ID.
 *
 *  @param enable if true, then enable the implicit configuration, otherwise
 *  disable it.
 */
finder://fea/ifmgr/0.1/configure_all_interfaces_from_system?tid:u32&enable:bool

/**
 *  Implicitly configure an interface within the FEA by using information from
 *  the underlying system.
 *
 *  @param tid the transaction ID.
 *
 *  @param ifname the name of the interface to configure.
 *
 *  @param enable if true, then enable the implicit configuration, otherwise
 *  disable it.
 */
finder://fea/ifmgr/0.1/configure_interface_from_system?tid:u32&ifname:txt&enable:bool

finder://fea/ifmgr/0.1/set_interface_enabled?tid:u32&ifname:txt&enabled:bool

finder://fea/ifmgr/0.1/set_interface_discard?tid:u32&ifname:txt&discard:bool

finder://fea/ifmgr/0.1/set_interface_unreachable?tid:u32&ifname:txt&unreachable:bool

finder://fea/ifmgr/0.1/set_interface_management?tid:u32&ifname:txt&management:bool

finder://fea/ifmgr/0.1/set_mac?tid:u32&ifname:txt&mac:mac

finder://fea/ifmgr/0.1/create_mac?ifname:txt&mac:mac

finder://fea/ifmgr/0.1/delete_mac?ifname:txt&mac:mac

finder://fea/ifmgr/0.1/restore_original_mac?tid:u32&ifname:txt

finder://fea/ifmgr/0.1/set_mtu?tid:u32&ifname:txt&mtu:u32

finder://fea/ifmgr/0.1/restore_original_mtu?tid:u32&ifname:txt

/**
 *  Create a vif.
 *
 *  @param ifname the name of the physical interface associated with the new
 *  vif.
 *
 *  @param vif name for new vif, must be unique across all the vifs in the
 *  system.
 */
finder://fea/ifmgr/0.1/create_vif?tid:u32&ifname:txt&vif:txt

finder://fea/ifmgr/0.1/delete_vif?tid:u32&ifname:txt&vif:txt

finder://fea/ifmgr/0.1/set_vif_enabled?tid:u32&ifname:txt&vif:txt&enabled:bool

/**
 *  Set VLAN vif.
 *
 *  @param ifname the name of the physical interface associated with the VLAN.
 *
 *  @param vif the name of the VLAN.
 *
 *  @param vlan_id the VLAN ID. It must be in the range 0 through 4095.
 */
finder://fea/ifmgr/0.1/set_vif_vlan?tid:u32&ifname:txt&vif:txt&vlan_id:u32

finder://fea/ifmgr/0.1/create_address4?tid:u32&ifname:txt&vif:txt&address:ipv4

finder://fea/ifmgr/0.1/delete_address4?tid:u32&ifname:txt&vif:txt&address:ipv4

finder://fea/ifmgr/0.1/set_address_enabled4?tid:u32&ifname:txt&vif:txt&address:ipv4&enabled:bool

finder://fea/ifmgr/0.1/get_configured_address_enabled4?ifname:txt&vif:txt&address:ipv4->enabled:bool

finder://fea/ifmgr/0.1/set_prefix4?tid:u32&ifname:txt&vif:txt&address:ipv4&prefix_len:u32

finder://fea/ifmgr/0.1/set_broadcast4?tid:u32&ifname:txt&vif:txt&address:ipv4&broadcast:ipv4

finder://fea/ifmgr/0.1/set_endpoint4?tid:u32&ifname:txt&vif:txt&address:ipv4&endpoint:ipv4

finder://fea/ifmgr/0.1/create_address6?tid:u32&ifname:txt&vif:txt&address:ipv6

finder://fea/ifmgr/0.1/delete_address6?tid:u32&ifname:txt&vif:txt&address:ipv6

finder://fea/ifmgr/0.1/set_address_enabled6?tid:u32&ifname:txt&vif:txt&address:ipv6&enabled:bool

finder://fea/ifmgr/0.1/get_configured_address_enabled6?ifname:txt&vif:txt&address:ipv6->enabled:bool

finder://fea/ifmgr/0.1/set_prefix6?tid:u32&ifname:txt&vif:txt&address:ipv6&prefix_len:u32

finder://fea/ifmgr/0.1/set_endpoint6?tid:u32&ifname:txt&vif:txt&address:ipv6&endpoint:ipv6

/**
 *  Register remote mirror of interface state.
 */
finder://fea/ifmgr_replicator/0.1/register_ifmgr_mirror?clientname:txt

/**
 *  Register remote mirror of interface state.
 */
finder://fea/ifmgr_replicator/0.1/unregister_ifmgr_mirror?clientname:txt

/**
 *  Lookup a route for a destination host address.
 *
 *  @param dst the destination host address to lookup.
 *
 *  @param nexthop the address of the next-hop router toward dst.
 *
 *  @param ifname the name of the physical interface toward dst.
 *
 *  @param vifname the name of the virtual interface toward dst.
 *
 *  @param metric the routing metric toward dst.
 *
 *  @param admin_distance the administratively defined distance toward dst.
 *
 *  @param protocol_origin the name of the protocol that originated this
 *  routing entry.
 */
finder://fea/fti/0.2/lookup_route_by_dest4?dst:ipv4->netmask:ipv4net&nexthop:ipv4&ifname:txt&vifname:txt&metric:u32&admin_distance:u32&protocol_origin:txt

/**
 *  Lookup a route for a destination host address.
 *
 *  @param dst the destination host address to lookup.
 *
 *  @param nexthop the address of the next-hop router toward dst.
 *
 *  @param ifname the name of the physical interface toward dst.
 *
 *  @param vifname the name of the virtual interface toward dst.
 *
 *  @param metric the routing metric toward dst.
 *
 *  @param admin_distance the administratively defined distance toward dst.
 *
 *  @param protocol_origin the name of the protocol that originated this
 *  routing entry.
 */
finder://fea/fti/0.2/lookup_route_by_dest6?dst:ipv6->netmask:ipv6net&nexthop:ipv6&ifname:txt&vifname:txt&metric:u32&admin_distance:u32&protocol_origin:txt

/**
 *  Lookup a route for a destination subnet address.
 *
 *  @param dst the destination subnet address to lookup.
 *
 *  @param nexthop the address of the next-hop router toward dst.
 *
 *  @param ifname the name of the physical interface toward dst.
 *
 *  @param vifname the name of the virtual interface toward dst.
 *
 *  @param metric the routing metric toward dst.
 *
 *  @param admin_distance the administratively defined distance toward dst.
 *
 *  @param protocol_origin the name of the protocol that originated this
 *  routing entry.
 */
finder://fea/fti/0.2/lookup_route_by_network4?dst:ipv4net->nexthop:ipv4&ifname:txt&vifname:txt&metric:u32&admin_distance:u32&protocol_origin:txt

/**
 *  Lookup a route for a destination subnet address.
 *
 *  @param dst the destination subnet address to lookup.
 *
 *  @param nexthop the address of the next-hop router toward dst.
 *
 *  @param ifname the name of the physical interface toward dst.
 *
 *  @param vifname the name of the virtual interface toward dst.
 *
 *  @param metric the routing metric toward dst.
 *
 *  @param admin_distance the administratively defined distance toward dst.
 *
 *  @param protocol_origin the name of the protocol that originated this
 *  routing entry.
 */
finder://fea/fti/0.2/lookup_route_by_network6?dst:ipv6net->nexthop:ipv6&ifname:txt&vifname:txt&metric:u32&admin_distance:u32&protocol_origin:txt

/**
 *  Test if the underlying system supports IPv4.
 *
 *  @param result true if the underlying system supports IPv4, otherwise false.
 */
finder://fea/fti/0.2/have_ipv4->result:bool

/**
 *  Test if the underlying system supports IPv6.
 *
 *  @param result true if the underlying system supports IPv4, otherwise false.
 */
finder://fea/fti/0.2/have_ipv6->result:bool

/**
 *  Test whether the IPv4 unicast forwarding engine is enabled or disabled to
 *  forward packets.
 *
 *  @param enabled if true, then the IPv4 unicast forwarding is enabled,
 *  otherwise is disabled.
 */
finder://fea/fti/0.2/get_unicast_forwarding_enabled4->enabled:bool

/**
 *  Test whether the IPv6 unicast forwarding engine is enabled or disabled to
 *  forward packets.
 *
 *  @param enabled if true, then the IPv6 unicast forwarding is enabled,
 *  otherwise is disabled.
 */
finder://fea/fti/0.2/get_unicast_forwarding_enabled6->enabled:bool

/**
 *  Set the IPv4 unicast forwarding engine to enable or disable forwarding of
 *  packets.
 *
 *  @param enabled if true, then enable IPv4 unicast forwarding, otherwise
 *  disable it.
 */
finder://fea/fti/0.2/set_unicast_forwarding_enabled4?enabled:bool

/**
 *  Set the IPv6 unicast forwarding engine to enable or disable forwarding of
 *  packets.
 *
 *  @param enabled if true, then enable IPv6 unicast forwarding, otherwise
 *  disable it.
 */
finder://fea/fti/0.2/set_unicast_forwarding_enabled6?enabled:bool

/**
 *  Set the IPv4 unicast forwarding engine whether to retain existing XORP
 *  forwarding entries on startup.
 *
 *  @param retain if true, then retain the XORP forwarding entries, otherwise
 *  delete them.
 */
finder://fea/fti/0.2/set_unicast_forwarding_entries_retain_on_startup4?retain:bool

/**
 *  Set the IPv4 unicast forwarding engine whether to retain existing XORP
 *  forwarding entries on shutdown.
 *
 *  @param retain if true, then retain the XORP forwarding entries, otherwise
 *  delete them.
 */
finder://fea/fti/0.2/set_unicast_forwarding_entries_retain_on_shutdown4?retain:bool

/**
 *  Set the IPv6 unicast forwarding engine whether to retain existing XORP
 *  forwarding entries on startup.
 *
 *  @param retain if true, then retain the XORP forwarding entries, otherwise
 *  delete them.
 */
finder://fea/fti/0.2/set_unicast_forwarding_entries_retain_on_startup6?retain:bool

/**
 *  Set the IPv6 unicast forwarding engine whether to retain existing XORP
 *  forwarding entries on shutdown.
 *
 *  @param retain if true, then retain the XORP forwarding entries, otherwise
 *  delete them.
 */
finder://fea/fti/0.2/set_unicast_forwarding_entries_retain_on_shutdown6?retain:bool

/**
 *  Set the IPv4 unicast forwarding table ID to be used.
 *
 *  @param is_configured if true, the forwarding table ID is configured,
 *  otherwise the default table should be used.
 *
 *  @param table_id the IPv4 unicast forwarding table ID to be used.
 */
finder://fea/fti/0.2/set_unicast_forwarding_table_id4?is_configured:bool&table_id:u32

/**
 *  Set the IPv6 unicast forwarding table ID to be used.
 *
 *  @param is_configured if true, the forwarding table ID is configured,
 *  otherwise the default table should be used.
 *
 *  @param table_id the IPv6 unicast forwarding table ID to be used.
 */
finder://fea/fti/0.2/set_unicast_forwarding_table_id6?is_configured:bool&table_id:u32

/**
 *  Start transaction.
 *
 *  @param tid the transaction ID to use for this transaction.
 */
finder://fea/redist_transaction4/0.1/start_transaction->tid:u32

/**
 *  Commit transaction.
 *
 *  @param tid the transaction ID of this transaction.
 */
finder://fea/redist_transaction4/0.1/commit_transaction?tid:u32

/**
 *  Abort transaction.
 *
 *  @param tid the transaction ID of this transaction.
 */
finder://fea/redist_transaction4/0.1/abort_transaction?tid:u32

/**
 *  Add/delete a routing entry.
 *
 *  @param tid the transaction ID of this transaction.
 *
 *  @param dst destination network.
 *
 *  @param nexthop nexthop router address.
 *
 *  @param ifname interface name associated with nexthop.
 *
 *  @param vifname virtual interface name with nexthop.
 *
 *  @param metric origin routing protocol metric for route.
 *
 *  @param admin_distance administrative distance of origin routing protocol.
 *
 *  @param cookie value set by the requestor to identify redistribution source.
 *  Typical value is the originating protocol name.
 *
 *  @param protocol_origin the name of the protocol that originated this
 *  routing entry.
 */
finder://fea/redist_transaction4/0.1/add_route?tid:u32&dst:ipv4net&nexthop:ipv4&ifname:txt&vifname:txt&metric:u32&admin_distance:u32&cookie:txt&protocol_origin:txt

finder://fea/redist_transaction4/0.1/delete_route?tid:u32&dst:ipv4net&nexthop:ipv4&ifname:txt&vifname:txt&metric:u32&admin_distance:u32&cookie:txt&protocol_origin:txt

/**
 *  Delete all routing entries.
 *
 *  @param tid the transaction ID of this transaction.
 *
 *  @param cookie value set by the requestor to identify redistribution source.
 *  Typical value is the originating protocol name.
 */
finder://fea/redist_transaction4/0.1/delete_all_routes?tid:u32&cookie:txt

/**
 *  Start transaction.
 *
 *  @param tid the transaction ID to use for this transaction.
 */
finder://fea/redist_transaction6/0.1/start_transaction->tid:u32

/**
 *  Commit transaction.
 *
 *  @param tid the transaction ID of this transaction.
 */
finder://fea/redist_transaction6/0.1/commit_transaction?tid:u32

/**
 *  Abort transaction.
 *
 *  @param tid the transaction ID of this transaction.
 */
finder://fea/redist_transaction6/0.1/abort_transaction?tid:u32

/**
 *  Add/delete a routing entry.
 *
 *  @param tid the transaction ID of this transaction.
 *
 *  @param dst destination network.
 *
 *  @param nexthop nexthop router address.
 *
 *  @param ifname interface name associated with nexthop.
 *
 *  @param vifname virtual interface name with nexthop.
 *
 *  @param metric origin routing protocol metric for route.
 *
 *  @param admin_distance administrative distance of origin routing protocol.
 *
 *  @param cookie value set by the requestor to identify redistribution source.
 *  Typical value is the originating protocol name.
 *
 *  @param protocol_origin the name of the protocol that originated this
 *  routing entry.
 */
finder://fea/redist_transaction6/0.1/add_route?tid:u32&dst:ipv6net&nexthop:ipv6&ifname:txt&vifname:txt&metric:u32&admin_distance:u32&cookie:txt&protocol_origin:txt

finder://fea/redist_transaction6/0.1/delete_route?tid:u32&dst:ipv6net&nexthop:ipv6&ifname:txt&vifname:txt&metric:u32&admin_distance:u32&cookie:txt&protocol_origin:txt

/**
 *  Delete all routing entries.
 *
 *  @param tid the transaction ID of this transaction.
 *
 *  @param cookie value set by the requestor to identify redistribution source.
 *  Typical value is the originating protocol name.
 */
finder://fea/redist_transaction6/0.1/delete_all_routes?tid:u32&cookie:txt

/**
 *  Send a raw link-level packet on an interface.
 *
 *  @param if_name the interface to send the packet on.
 *
 *  @param vif_name the vif to send the packet on.
 *
 *  @param src_address the MAC source address.
 *
 *  @param dst_address the MAC destination address.
 *
 *  @param ether_type the EtherType protocol type or the Destination SAP. It
 *  must be between 1536 and 65535 to specify the EtherType, or between 1 and
 *  255 to specify the Destination SAP IEEE 802.2 LLC frames.
 *
 *  @param payload the payload, everything after the MAC header.
 */
finder://fea/raw_link/0.1/send?if_name:txt&vif_name:txt&src_address:mac&dst_address:mac&ether_type:u32&payload:binary

/**
 *  Register to receive raw link-level packets. The receiver is expected to
 *  support raw_link_client/0.1 interface.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should be accepted.
 *
 *  @param vif_name the vif through which packets should be accepted.
 *
 *  @param ether_type the EtherType protocol number or the Destination SAP that
 *  the receiver is interested in. It must be between 1536 and 65535 to specify
 *  the EtherType, or between 1 and 255 to specify the Destination SAP for IEEE
 *  802.2 LLC frames. A protocol number of 0 is used to specify all protocols.
 *
 *  @param filter_program the optional filter program to be applied on the
 *  received packets. The program uses tcpdump(1) style expression.
 *
 *  @param enable_multicast_loopback if true then enable delivering of
 *  multicast datagrams back to this host (assuming the host is a member of the
 *  same multicast group).
 */
finder://fea/raw_link/0.1/register_receiver?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ether_type:u32&filter_program:txt&enable_multicast_loopback:bool

/**
 *  Unregister to receive raw link-level packets.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should not be accepted.
 *
 *  @param vif_name the vif through which packets should not be accepted.
 *
 *  @param ether_type the EtherType protocol number or the Destination SAP that
 *  the receiver is not interested in anymore. It must be between 1536 and
 *  65535 to specify the EtherType, or between 1 and 255 to specify the
 *  Destination SAP for IEEE 802.2 LLC frames. A protocol number of 0 is used
 *  to specify all protocols.
 *
 *  @param filter_program the filter program that was applied on the received
 *  packets. The program uses tcpdump(1) style expression.
 */
finder://fea/raw_link/0.1/unregister_receiver?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ether_type:u32&filter_program:txt

/**
 *  Join a MAC multicast group.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should be accepted.
 *
 *  @param vif_name the vif through which packets should be accepted.
 *
 *  @param ether_type the EtherType protocol number or the Destination SAP that
 *  the receiver is interested in. It must be between 1536 and 65535 to specify
 *  the EtherType, or between 1 and 255 to specify the Destination SAP for IEEE
 *  802.2 LLC frames. A protocol number of 0 is used to specify all protocols.
 *
 *  @param filter_program the optional filter program to be applied on the
 *  received packets. The program uses tcpdump(1) style expression.
 *
 *  @param group_address the multicast group address to join.
 */
finder://fea/raw_link/0.1/join_multicast_group?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ether_type:u32&filter_program:txt&group_address:mac

/**
 *  Leave a MAC multicast group.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should not be accepted.
 *
 *  @param vif_name the vif through which packets should not be accepted.
 *
 *  @param ether_type the EtherType protocol number or the Destination SAP that
 *  the receiver is not interested in anymore. It must be between 1536 and
 *  65535 to specify the EtherType, or between 1 and 255 to specify the
 *  Destination SAP for IEEE 802.2 LLC frames. A protocol number of 0 is used
 *  to specify all protocols.
 *
 *  @param filter_program the filter program that was applied on the received
 *  packets. The program uses tcpdump(1) style expression.
 *
 *  @param group_address the multicast group address to leave.
 */
finder://fea/raw_link/0.1/leave_multicast_group?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ether_type:u32&filter_program:txt&group_address:mac

/**
 *  Send an IPv4 packet on a raw socket.
 *
 *  @param if_name the interface to send the packet on. It is essential for
 *  multicast. In the unicast case this field may be empty.
 *
 *  @param vif_name the vif to send the packet on. It is essential for
 *  multicast. In the unicast case this field may be empty.
 *
 *  @param src_address the IP source address.
 *
 *  @param dst_address the IP destination address.
 *
 *  @param ip_protocol the IP protocol number. It must be between 1 and 255.
 *
 *  @param ip_ttl the IP TTL (hop-limit). If it has a negative value, the TTL
 *  will be set internally before transmission.
 *
 *  @param ip_tos the Type Of Service (Diffserv/ECN bits for IPv4). If it has a
 *  negative value, the TOS will be set internally before transmission.
 *
 *  @param ip_router_alert if true, then add the IP Router Alert option to 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://fea/raw_packet4/0.1/send?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

/**
 *  Register to receive IPv4 packets. The receiver is expected to support
 *  raw_packet4_client/0.1 interface.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should be accepted.
 *
 *  @param vif_name the vif through which packets should be accepted.
 *
 *  @param ip_protocol the IP protocol number that the receiver is interested
 *  in. It must be between 0 and 255. A protocol number of 0 is used to specify
 *  all protocols.
 *
 *  @param enable_multicast_loopback if true then enable delivering of
 *  multicast datagrams back to this host (assuming the host is a member of the
 *  same multicast group.
 */
finder://fea/raw_packet4/0.1/register_receiver?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ip_protocol:u32&enable_multicast_loopback:bool

/**
 *  Unregister to receive IPv4 packets.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should not be accepted.
 *
 *  @param vif_name the vif through which packets should not be accepted.
 *
 *  @param ip_protocol the IP Protocol number that the receiver is not
 *  interested in anymore. It must be between 0 and 255. A protocol number of 0
 *  is used to specify all protocols.
 */
finder://fea/raw_packet4/0.1/unregister_receiver?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ip_protocol:u32

/**
 *  Join an IPv4 multicast group.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should be accepted.
 *
 *  @param vif_name the vif through which packets should be accepted.
 *
 *  @param ip_protocol the IP protocol number that the receiver is interested
 *  in. It must be between 0 and 255. A protocol number of 0 is used to specify
 *  all protocols.
 *
 *  @param group_address the multicast group address to join.
 */
finder://fea/raw_packet4/0.1/join_multicast_group?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ip_protocol:u32&group_address:ipv4

/**
 *  Leave an IPv4 multicast group.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should not be accepted.
 *
 *  @param vif_name the vif through which packets should not be accepted.
 *
 *  @param ip_protocol the IP protocol number that the receiver is not
 *  interested in anymore. It must be between 0 and 255. A protocol number of 0
 *  is used to specify all protocols.
 *
 *  @param group_address the multicast group address to leave.
 */
finder://fea/raw_packet4/0.1/leave_multicast_group?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ip_protocol:u32&group_address:ipv4

/**
 *  Send an IPv6 packet on a raw socket.
 *
 *  @param if_name the interface to send the packet on. It is essential for
 *  multicast. In the unicast case this field may be empty.
 *
 *  @param vif_name the vif to send the packet on. It is essential for
 *  multicast. In the unicast case this field may be empty.
 *
 *  @param src_address the IP source address.
 *
 *  @param dst_address the IP destination address.
 *
 *  @param ip_protocol the IP protocol number. It must be between 1 and 255.
 *
 *  @param ip_ttl the IP TTL (hop-limit). If it has a negative value, the TTL
 *  will be set internally before transmission.
 *
 *  @param ip_tos the Type Of Service (IP traffic class for IPv6). If it has a
 *  negative value, the TOS will be set internally before transmission.
 *
 *  @param ip_router_alert if true, then add the IP Router Alert option to the
 *  IP packet.
 *
 *  @param ip_internet_control if true, then this is IP control traffic.
 *
 *  @param ext_headers_type a list of u32 integers with the types of the
 *  optional extention headers.
 *
 *  @param ext_headers_payload a list of payload data, one for each optional
 *  extention header. The number of entries must match ext_headers_type.
 *
 *  @param payload the payload, everything after the IP header and options.
 */
finder://fea/raw_packet6/0.1/send?if_name:txt&vif_name:txt&src_address:ipv6&dst_address:ipv6&ip_protocol:u32&ip_ttl:i32&ip_tos:i32&ip_router_alert:bool&ip_internet_control:bool&ext_headers_type:list&ext_headers_payload:list&payload:binary

/**
 *  Register to receive IPv6 packets. The receiver is expected to support
 *  raw_packet6_client/0.1 interface.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should be accepted.
 *
 *  @param vif_name the vif through which packets should be accepted.
 *
 *  @param ip_protocol the IP protocol number that the receiver is interested
 *  in. It must be between 0 and 255. A protocol number of 0 is used to specify
 *  all protocols.
 *
 *  @param enable_multicast_loopback if true then enable delivering of
 *  multicast datagrams back to this host (assuming the host is a member of the
 *  same multicast group.
 */
finder://fea/raw_packet6/0.1/register_receiver?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ip_protocol:u32&enable_multicast_loopback:bool

/**
 *  Unregister to receive IPv6 packets.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should not be accepted.
 *
 *  @param vif_name the vif through which packets should not be accepted.
 *
 *  @param ip_protocol the IP Protocol number that the receiver is not
 *  interested in anymore. It must be between 0 and 255. A protocol number of 0
 *  is used to specify all protocols.
 */
finder://fea/raw_packet6/0.1/unregister_receiver?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ip_protocol:u32

/**
 *  Join an IPv6 multicast group.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should be accepted.
 *
 *  @param vif_name the vif through which packets should be accepted.
 *
 *  @param ip_protocol the IP protocol number that the receiver is interested
 *  in. It must be between 0 and 255. A protocol number of 0 is used to specify
 *  all protocols.
 *
 *  @param group_address the multicast group address to join.
 */
finder://fea/raw_packet6/0.1/join_multicast_group?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ip_protocol:u32&group_address:ipv6

/**
 *  Leave an IPv6 multicast group.
 *
 *  @param xrl_target_instance_name the receiver's XRL target instance name.
 *
 *  @param if_name the interface through which packets should not be accepted.
 *
 *  @param vif_name the vif through which packets should not be accepted.
 *
 *  @param ip_protocol the IP protocol number that the receiver is not
 *  interested in anymore. It must be between 0 and 255. A protocol number of 0
 *  is used to specify all protocols.
 *
 *  @param group_address the multicast group address to leave.
 */
finder://fea/raw_packet6/0.1/leave_multicast_group?xrl_target_instance_name:txt&if_name:txt&vif_name:txt&ip_protocol:u32&group_address:ipv6

/**
 *  Open a TCP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket4_user/0.1.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket4/0.1/tcp_open?creator:txt->sockid:txt

/**
 *  Open an UDP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket4_user/0.1.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket4/0.1/udp_open?creator:txt->sockid:txt

/**
 *  Create a bound TCP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket4_user/0.1.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket4/0.1/tcp_open_and_bind?creator:txt&local_addr:ipv4&local_port:u32->sockid:txt

/**
 *  Create a bound UDP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket4_user/0.1.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket4/0.1/udp_open_and_bind?creator:txt&local_addr:ipv4&local_port:u32->sockid:txt

/**
 *  Create a bound UDP multicast socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket4_user/0.1.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param mcast_addr the multicast group address to join.
 *
 *  @param ttl the TTL to use for this multicast socket.
 *
 *  @param reuse allow other sockets to bind to same multicast group.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket4/0.1/udp_open_bind_join?creator:txt&local_addr:ipv4&local_port:u32&mcast_addr:ipv4&ttl:u32&reuse:bool->sockid:txt

/**
 *  Create a bound and connected TCP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket4_user/0.1.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param remote_addr the address to connect to.
 *
 *  @param remote_port the remote port to connect to.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket4/0.1/tcp_open_bind_connect?creator:txt&local_addr:ipv4&local_port:u32&remote_addr:ipv4&remote_port:u32->sockid:txt

/**
 *  Create a bound and connected UDP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket4_user/0.1.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param remote_addr the address to connect to.
 *
 *  @param remote_port the remote port to connect to.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket4/0.1/udp_open_bind_connect?creator:txt&local_addr:ipv4&local_port:u32&remote_addr:ipv4&remote_port:u32->sockid:txt

/**
 *  Create a bound, and optionally connected, UDP broadcast socket. This socket
 *  may be used for sending and receiving IPv4 broadcasts on a named if/vif.
 *  The TTL is always set to 1 on creation. The creator must specify if this
 *  socket is to be used for limited broadcasts (255.255.255.255) as this is a
 *  special case on many platforms.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket4_user/0.1.
 *
 *  @param ifname the interface name to bind socket to.
 *
 *  @param vifname the vif to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param remote_port the remote port to connect to.
 *
 *  @param reuse allow other sockets to bind to same port.
 *
 *  @param limited set the socket up for transmission to the limited broadcast
 *  address 255.255.255.255.
 *
 *  @param connected connect the socket for use with send() not sendto().
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket4/0.1/udp_open_bind_broadcast?creator:txt&ifname:txt&vifname:txt&local_port:u32&remote_port:u32&reuse:bool&limited:bool&connected:bool->sockid:txt

/**
 *  Bind a socket.
 *
 *  @param sockid the socket ID of the socket to bind.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 */
finder://fea/socket4/0.1/bind?sockid:txt&local_addr:ipv4&local_port:u32

/**
 *  Join multicast group on already bound socket.
 *
 *  @param sockid unique socket ID.
 *
 *  @param mcast_addr group to join.
 *
 *  @param join_if_addr interface address to perform join on.
 */
finder://fea/socket4/0.1/udp_join_group?sockid:txt&mcast_addr:ipv4&join_if_addr:ipv4

/**
 *  Leave multicast group on already bound socket.
 *
 *  @param sockid unique socket ID.
 *
 *  @param mcast_addr group to leave.
 *
 *  @param leave_if_addr interface address to perform leave on.
 */
finder://fea/socket4/0.1/udp_leave_group?sockid:txt&mcast_addr:ipv4&leave_if_addr:ipv4

/**
 *  Close socket.
 *
 *  @param sockid unique socket ID of socket to be closed.
 */
finder://fea/socket4/0.1/close?sockid:txt

/**
 *  Listen for inbound connections on socket. When a connection request
 *  received the socket creator will receive notification through
 *  socket4_user/0.1/inbound_connect_event.
 *
 *  @param sockid the unique socket ID of the socket to perform listen.
 *
 *  @param backlog the maximum number of pending connections.
 */
finder://fea/socket4/0.1/tcp_listen?sockid:txt&backlog:u32

/**
 *  Enable a UDP socket for datagram reception. If a UDP socket has been
 *  created without using the usual convenience XRLs, it is necessary to hook
 *  up its FEA internal input path by calling this XRL. It is similar in intent
 *  to tcp_listen, but named differently as it never uses the listen() socket
 *  API.
 *
 *  @param sockid the unique socket ID of the socket to enable for datagram
 *  reception.
 */
finder://fea/socket4/0.1/udp_enable_recv?sockid:txt

/**
 *  Send data on socket.
 *
 *  @param sockid unique socket ID.
 *
 *  @param data block of data to be sent.
 */
finder://fea/socket4/0.1/send?sockid:txt&data:binary

/**
 *  Send data on socket to a given destination. The packet is not routed as the
 *  forwarding engine sending the packet may not have access to the full
 *  routing table.
 *
 *  @param sockid unique socket ID.
 *
 *  @param remote_addr destination address for data.
 *
 *  @param remote_port destination port for data.
 *
 *  @param data block of data to be sent.
 */
finder://fea/socket4/0.1/send_to?sockid:txt&remote_addr:ipv4&remote_port:u32&data:binary

/**
 *  Send data on socket to a given multicast group from a given interface.
 *
 *  @param sockid unique socket ID.
 *
 *  @param group_addr destination address for data.
 *
 *  @param group_port destination port for data.
 *
 *  @param ifaddr interface address
 */
finder://fea/socket4/0.1/send_from_multicast_if?sockid:txt&group_addr:ipv4&group_port:u32&ifaddr:ipv4&data:binary

/**
 *  Set a named socket option with an integer value. XXX: The "onesbcast" and
 *  "reuseport" options exist to work around an architectural issue in the BSD
 *  IPv4 stack. They SHOULD NOT be used for new code.
 *
 *  @param sockid unique socket ID.
 *
 *  @param optname name of option to be set. Valid values are: "onesbcast"
 *  "receive_broadcast" "reuseport" "send_broadcast" "tos" "ttl"
 *  "multicast_loopback" "multicast_ttl"
 *
 *  @param optval integer value of option to be set. If value is logically
 *  boolean, then zero represents 'false', and any non-zero value represents
 *  'true'.
 */
finder://fea/socket4/0.1/set_socket_option?sockid:txt&optname:txt&optval:u32

/**
 *  Set a named socket option with a string value. XXX: The "bindtodevice"
 *  option exists to workaround an architectural issue in the Linux IPv4 stack.
 *  It SHOULD NOT be used for new code.
 *
 *  @param sockid unique socket ID.
 *
 *  @param optname name of option to be set. Valid values are: "bindtodevice"
 *
 *  @param optval value of option to be set.
 */
finder://fea/socket4/0.1/set_socket_option_txt?sockid:txt&optname:txt&optval:txt

/**
 *  Open a TCP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket4_user/0.1.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket6/0.1/tcp_open?creator:txt->sockid:txt

/**
 *  Open an UDP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket4_user/0.1.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket6/0.1/udp_open?creator:txt->sockid:txt

/**
 *  Create a bound TCP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket6_user/0.1.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket6/0.1/tcp_open_and_bind?creator:txt&local_addr:ipv6&local_port:u32->sockid:txt

/**
 *  Create a bound UDP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket6_user/0.1.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket6/0.1/udp_open_and_bind?creator:txt&local_addr:ipv6&local_port:u32->sockid:txt

/**
 *  Create a bound UDP multicast socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket6_user/0.1.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param mcast_addr the multicast group address to join.
 *
 *  @param ttl the ttl to use for this multicast socket.
 *
 *  @param reuse allow other sockets to bind to same multicast group.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket6/0.1/udp_open_bind_join?creator:txt&local_addr:ipv6&local_port:u32&mcast_addr:ipv6&ttl:u32&reuse:bool->sockid:txt

/**
 *  Create a bound and connected TCP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket6_user/0.1.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param remote_addr the address to connect to.
 *
 *  @param remote_port the remote port to connect to.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket6/0.1/tcp_open_bind_connect?creator:txt&local_addr:ipv6&local_port:u32&remote_addr:ipv6&remote_port:u32->sockid:txt

/**
 *  Create a bound and connected UDP socket.
 *
 *  @param creator the Xrl Target instance name of the socket creator. The
 *  named target must implement socket6_user/0.1.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 *
 *  @param remote_addr the address to connect to.
 *
 *  @param remote_port the remote port to connect to.
 *
 *  @param sockid return parameter that contains unique socket ID when socket
 *  instantiation is successful.
 */
finder://fea/socket6/0.1/udp_open_bind_connect?creator:txt&local_addr:ipv6&local_port:u32&remote_addr:ipv6&remote_port:u32->sockid:txt

/**
 *  Bind a socket.
 *
 *  @param sockid the socket ID of the socket to bind.
 *
 *  @param local_addr the interface address to bind socket to.
 *
 *  @param local_port the port to bind socket to.
 */
finder://fea/socket6/0.1/bind?sockid:txt&local_addr:ipv6&local_port:u32

/**
 *  Join multicast group on already bound socket.
 *
 *  @param sockid unique socket ID.
 *
 *  @param mcast_addr group to join.
 *
 *  @param join_if_addr interface address to perform join on.
 */
finder://fea/socket6/0.1/udp_join_group?sockid:txt&mcast_addr:ipv6&join_if_addr:ipv6

/**
 *  Leave multicast group on already bound socket.
 *
 *  @param sockid unique socket ID.
 *
 *  @param mcast_addr group to leave.
 *
 *  @param leave_if_addr interface address to perform leave on.
 */
finder://fea/socket6/0.1/udp_leave_group?sockid:txt&mcast_addr:ipv6&leave_if_addr:ipv6

/**
 *  Close socket.
 *
 *  @param sockid unique socket ID of socket to be closed.
 */
finder://fea/socket6/0.1/close?sockid:txt

/**
 *  Listen for inbound connections on socket. When a connection request
 *  received the socket creator will receive notification through
 *  socket6_user/0.1/inbound_connect_event.
 *
 *  @param sockid the unique socket ID of the socket to perform listen.
 *
 *  @param backlog the maximum number of pending connections.
 */
finder://fea/socket6/0.1/tcp_listen?sockid:txt&backlog:u32

/**
 *  Send data on socket.
 *
 *  @param sockid unique socket ID.
 *
 *  @param data block of data to be sent.
 */
finder://fea/socket6/0.1/send?sockid:txt&data:binary

/**
 *  Send data on socket to a given destination. The packet is not routed as the
 *  forwarding engine sending the packet may not have access to the full
 *  routing table.
 *
 *  @param sockid unique socket ID.
 *
 *  @param remote_addr destination address for data.
 *
 *  @param remote_port destination port for data.
 *
 *  @param data block of data to be sent.
 */
finder://fea/socket6/0.1/send_to?sockid:txt&remote_addr:ipv6&remote_port:u32&data:binary

/**
 *  Send data on socket to a given multicast group from a given interface.
 *
 *  @param sockid unique socket ID.
 *
 *  @param group_addr destination address for data.
 *
 *  @param group_port destination port for data.
 *
 *  @param ifaddr interface address
 */
finder://fea/socket6/0.1/send_from_multicast_if?sockid:txt&group_addr:ipv6&group_port:u32&ifaddr:ipv6&data:binary

/**
 *  Set a named socket option with an integer value.
 *
 *  @param sockid unique socket ID.
 *
 *  @param optname name of option to be set. Valid values are: "reuseport"
 *  "ttl" "multicast_loopback" "multicast_ttl"
 *
 *  @param optval value of option to be set. If value is logically boolean then
 *  zero represents false and any non-zero value true.
 */
finder://fea/socket6/0.1/set_socket_option?sockid:txt&optname:txt&optval:u32

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

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

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

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

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

