|
xorp
|
FEA (Forwarding Engine Abstraction) XRL target class. More...
#include <xrl_fea_target.hh>
Public Member Functions | |
| XrlFeaTarget (EventLoop &eventloop, FeaNode &fea_node, XrlRouter &xrl_router, Profile &profile, XrlFibClientManager &xrl_fib_client_manager, LibFeaClientBridge &lib_fea_client_bridge) | |
| Constructor. | |
| virtual | ~XrlFeaTarget () |
| Destructor. | |
| int | startup () |
| Startup the service operation. | |
| int | shutdown () |
| Shutdown the service operation. | |
| bool | is_running () const |
| Test whether the service is running. | |
| bool | is_shutdown_received () const |
| Test whether a shutdown XRL request has been received. | |
| EventLoop & | eventloop () |
| Get the event loop this service is added to. | |
| XrlCmdError | common_0_1_get_target_name (string &name) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | common_0_1_get_version (string &version) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | common_0_1_get_status (uint32_t &status, string &reason) |
| Get status from Xrl Target. | |
| XrlCmdError | common_0_1_shutdown () |
| Shutdown FEA cleanly. | |
| XrlCmdError | common_0_1_startup () |
| Pure-virtual function that needs to be implemented to: | |
| virtual XrlCmdError | ifmgr_0_1_startup_ifmgr () |
| Does nothing, but allows us to have rtrmgr verify startup. | |
| XrlCmdError | finder_event_observer_0_1_xrl_target_birth (const string &target_class, const string &target_instance) |
| Announce target birth to observer. | |
| XrlCmdError | finder_event_observer_0_1_xrl_target_death (const string &target_class, const string &target_instance) |
| Announce target death to observer. | |
| XrlCmdError | fea_fib_0_1_add_fib_client4 (const string &client_target_name, const bool &send_updates, const bool &send_resolves) |
| Add a FIB client. | |
| XrlCmdError | fea_fib_0_1_delete_fib_client4 (const string &client_target_name) |
| Delete a FIB client. | |
| virtual XrlCmdError | fea_firewall_0_1_startup_firewall () |
| Does nothing, but allows us to have rtrmgr verify startup. | |
| XrlCmdError | fea_firewall_0_1_start_transaction (uint32_t &tid) |
| Start firewall configuration transaction. | |
| XrlCmdError | fea_firewall_0_1_commit_transaction (const uint32_t &tid) |
| Commit firewall configuration transaction. | |
| XrlCmdError | fea_firewall_0_1_abort_transaction (const uint32_t &tid) |
| Abort firewall configuration transaction. | |
| XrlCmdError | fea_firewall_0_1_add_entry4 (const uint32_t &tid, const uint32_t &rule_number, const string &ifname, const string &vifname, const IPv4Net &src_network, const IPv4Net &dst_network, const uint32_t &ip_protocol, const uint32_t &src_port_begin, const uint32_t &src_port_end, const uint32_t &dst_port_begin, const uint32_t &dst_port_end, const string &action) |
| Add an IPv4 firewall entry. | |
| XrlCmdError | fea_firewall_0_1_replace_entry4 (const uint32_t &tid, const uint32_t &rule_number, const string &ifname, const string &vifname, const IPv4Net &src_network, const IPv4Net &dst_network, const uint32_t &ip_protocol, const uint32_t &src_port_begin, const uint32_t &src_port_end, const uint32_t &dst_port_begin, const uint32_t &dst_port_end, const string &action) |
| Replace an IPv4 firewall entry. | |
| XrlCmdError | fea_firewall_0_1_delete_entry4 (const uint32_t &tid, const uint32_t &rule_number, const string &ifname, const string &vifname, const IPv4Net &src_network, const IPv4Net &dst_network, const uint32_t &ip_protocol, const uint32_t &src_port_begin, const uint32_t &src_port_end, const uint32_t &dst_port_begin, const uint32_t &dst_port_end) |
| Delete an IPv4 firewall entry. | |
| XrlCmdError | fea_firewall_0_1_delete_all_entries4 (const uint32_t &tid) |
| Delete all IPv4 firewall entries. | |
| XrlCmdError | fea_firewall_0_1_get_entry_list_start4 (uint32_t &token, bool &more) |
| Get a token for a list of IPv4 firewall entries. | |
| XrlCmdError | fea_firewall_0_1_get_entry_list_next4 (const uint32_t &token, uint32_t &rule_number, string &ifname, string &vifname, IPv4Net &src_network, IPv4Net &dst_network, uint32_t &ip_protocol, uint32_t &src_port_begin, uint32_t &src_port_end, uint32_t &dst_port_begin, uint32_t &dst_port_end, string &action, bool &more) |
| Get the next item in a list of IPv4 firewall entries. | |
| XrlCmdError | ifmgr_0_1_set_restore_original_config_on_shutdown (const bool &enable) |
| XrlCmdError | ifmgr_0_1_get_configured_interface_names (XrlAtomList &ifnames) |
| XrlCmdError | ifmgr_0_1_get_configured_vif_names (const string &ifname, XrlAtomList &vifs) |
| XrlCmdError | ifmgr_0_1_get_configured_vif_flags (const string &ifname, const string &vif, bool &enabled, bool &broadcast, bool &loopback, bool &point_to_point, bool &multicast) |
| XrlCmdError | ifmgr_0_1_get_configured_vif_pif_index (const string &ifname, const string &vif, uint32_t &pif_index) |
| XrlCmdError | ifmgr_0_1_start_transaction (uint32_t &tid) |
| XrlCmdError | ifmgr_0_1_commit_transaction (const uint32_t &tid) |
| XrlCmdError | ifmgr_0_1_abort_transaction (const uint32_t &tid) |
| XrlCmdError | ifmgr_0_1_create_interface (const uint32_t &tid, const string &ifname) |
| XrlCmdError | ifmgr_0_1_delete_interface (const uint32_t &tid, const string &ifname) |
| XrlCmdError | ifmgr_0_1_configure_all_interfaces_from_system (const uint32_t &tid, const bool &enable) |
| Implicitly configure all interfaces within the FEA by using information from the underlying system. | |
| XrlCmdError | ifmgr_0_1_configure_interface_from_system (const uint32_t &tid, const string &ifname, const bool &enable) |
| Implicitly configure an interface within the FEA by using information from the underlying system. | |
| XrlCmdError | ifmgr_0_1_set_interface_enabled (const uint32_t &tid, const string &ifname, const bool &enabled) |
| XrlCmdError | ifmgr_0_1_get_configured_interface_enabled (const string &ifname, bool &enabled) |
| XrlCmdError | ifmgr_0_1_set_interface_discard (const uint32_t &tid, const string &ifname, const bool &discard) |
| XrlCmdError | ifmgr_0_1_get_configured_interface_discard (const string &ifname, bool &discard) |
| XrlCmdError | ifmgr_0_1_set_interface_unreachable (const uint32_t &tid, const string &ifname, const bool &unreachable) |
| XrlCmdError | ifmgr_0_1_get_configured_interface_unreachable (const string &ifname, bool &unreachable) |
| XrlCmdError | ifmgr_0_1_set_interface_management (const uint32_t &tid, const string &ifname, const bool &management) |
| XrlCmdError | ifmgr_0_1_get_configured_interface_management (const string &ifname, bool &management) |
| XrlCmdError | ifmgr_0_1_set_mac (const uint32_t &tid, const string &ifname, const Mac &mac) |
| XrlCmdError | ifmgr_0_1_create_mac (const string &ifname, const Mac &mac) |
| XrlCmdError | ifmgr_0_1_create_address_atomic (const string &ifname, const string &vifname, const IPv4 &ip, const uint32_t &prefix_length) |
| XrlCmdError | ifmgr_0_1_delete_address_atomic (const string &ifname, const string &vifname, const IPv4 &ip) |
| XrlCmdError | ifmgr_0_1_delete_mac (const string &ifname, const Mac &mac) |
| XrlCmdError | ifmgr_0_1_restore_original_mac (const uint32_t &tid, const string &ifname) |
| XrlCmdError | ifmgr_0_1_get_configured_mac (const string &ifname, Mac &mac) |
| XrlCmdError | ifmgr_0_1_set_mtu (const uint32_t &tid, const string &ifname, const uint32_t &mtu) |
| XrlCmdError | ifmgr_0_1_restore_original_mtu (const uint32_t &tid, const string &ifname) |
| XrlCmdError | ifmgr_0_1_get_configured_mtu (const string &ifname, uint32_t &mtu) |
| XrlCmdError | ifmgr_0_1_get_configured_no_carrier (const string &ifname, bool &no_carrier) |
| XrlCmdError | ifmgr_0_1_get_configured_baudrate (const string &ifname, uint64_t &baudrate) |
| XrlCmdError | ifmgr_0_1_get_configured_address_flags4 (const string &ifname, const string &vif, const IPv4 &address, bool &up, bool &broadcast, bool &loopback, bool &point_to_point, bool &multicast) |
| XrlCmdError | ifmgr_0_1_create_vif (const uint32_t &tid, const string &ifname, const string &vif) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | ifmgr_0_1_delete_vif (const uint32_t &tid, const string &ifname, const string &vif) |
| XrlCmdError | ifmgr_0_1_set_vif_enabled (const uint32_t &tid, const string &ifname, const string &vif, const bool &enabled) |
| XrlCmdError | ifmgr_0_1_get_configured_vif_enabled (const string &ifname, const string &vif, bool &enabled) |
| XrlCmdError | ifmgr_0_1_get_configured_vif_addresses4 (const string &ifname, const string &vif, XrlAtomList &addresses) |
| XrlCmdError | ifmgr_0_1_set_parent_ifname (const uint32_t &tid, const string &ifname, const string &parent_ifname) |
| XrlCmdError | ifmgr_0_1_set_iface_type (const uint32_t &tid, const string &ifname, const string &iface_type) |
| XrlCmdError | ifmgr_0_1_set_vid (const uint32_t &tid, const string &ifname, const string &vid) |
| XrlCmdError | ifmgr_0_1_create_address4 (const uint32_t &tid, const string &ifname, const string &vif, const IPv4 &address) |
| XrlCmdError | ifmgr_0_1_delete_address4 (const uint32_t &tid, const string &ifname, const string &vif, const IPv4 &address) |
| XrlCmdError | ifmgr_0_1_set_address4 (const uint32_t &tid, const string &ifname, const string &vif, const IPv4 &address) |
| XrlCmdError | ifmgr_0_1_set_address_enabled4 (const uint32_t &tid, const string &ifname, const string &vif, const IPv4 &address, const bool &enabled) |
| XrlCmdError | ifmgr_0_1_get_configured_address_enabled4 (const string &ifname, const string &vif, const IPv4 &address, bool &enabled) |
| XrlCmdError | ifmgr_0_1_set_prefix4 (const uint32_t &tid, const string &ifname, const string &vif, const IPv4 &address, const uint32_t &prefix_len) |
| XrlCmdError | ifmgr_0_1_get_configured_prefix4 (const string &ifname, const string &vif, const IPv4 &address, uint32_t &prefix_len) |
| XrlCmdError | ifmgr_0_1_set_broadcast4 (const uint32_t &tid, const string &ifname, const string &vif, const IPv4 &address, const IPv4 &broadcast) |
| XrlCmdError | ifmgr_0_1_get_configured_broadcast4 (const string &ifname, const string &vif, const IPv4 &address, IPv4 &broadcast) |
| XrlCmdError | ifmgr_0_1_set_endpoint4 (const uint32_t &tid, const string &ifname, const string &vif, const IPv4 &address, const IPv4 &endpoint) |
| XrlCmdError | ifmgr_0_1_get_configured_endpoint4 (const string &ifname, const string &vif, const IPv4 &address, IPv4 &endpoint) |
| XrlCmdError | ifmgr_replicator_0_1_register_ifmgr_mirror (const string &clientname) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | ifmgr_replicator_0_1_unregister_ifmgr_mirror (const string &clientname) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | fti_0_2_lookup_route_by_dest4 (const IPv4 &host, IPv4Net &netmask, IPv4 &nexthop, string &ifname, string &vifname, uint32_t &metric, uint32_t &admin_distance, string &protocol_origin) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | fti_0_2_lookup_route_by_network4 (const IPv4Net &dst, IPv4 &nexthop, string &ifname, string &vifname, uint32_t &metric, uint32_t &admin_distance, string &protocol_origin) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | fti_0_2_have_ipv4 (bool &result) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | fti_0_2_get_unicast_forwarding_enabled4 (bool &enabled) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | fti_0_2_set_unicast_forwarding_enabled4 (const bool &enabled) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | fti_0_2_set_unicast_forwarding_entries_retain_on_startup4 (const bool &retain) |
| Set the IPv4 unicast forwarding engine whether to retain existing XORP forwarding entries on startup. | |
| XrlCmdError | fti_0_2_set_unicast_forwarding_entries_retain_on_shutdown4 (const bool &retain) |
| Set the IPv4 unicast forwarding engine whether to retain existing XORP forwarding entries on shutdown. | |
| XrlCmdError | fti_0_2_set_unicast_forwarding_table_id4 (const bool &is_configured, const uint32_t &table_id) |
| Set the IPv4 unicast forwarding table ID to be used. | |
| XrlCmdError | redist_transaction4_0_1_start_transaction (uint32_t &tid) |
| Start transaction. | |
| XrlCmdError | redist_transaction4_0_1_commit_transaction (const uint32_t &tid) |
| Commit transaction. | |
| XrlCmdError | redist_transaction4_0_1_abort_transaction (const uint32_t &tid) |
| Abort transaction. | |
| XrlCmdError | redist_transaction4_0_1_add_route (const uint32_t &tid, const IPv4Net &dst, const IPv4 &nexthop, const string &ifname, const string &vifname, const uint32_t &metric, const uint32_t &admin_distance, const string &cookie, const string &protocol_origin) |
| Add/delete a routing entry. | |
| XrlCmdError | redist_transaction4_0_1_delete_route (const uint32_t &tid, const IPv4Net &dst, const IPv4 &nexthop, const string &ifname, const string &vifname, const uint32_t &metric, const uint32_t &admin_distance, const string &cookie, const string &protocol_origin) |
| XrlCmdError | redist_transaction4_0_1_delete_all_routes (const uint32_t &tid, const string &cookie) |
| Delete all routing entries. | |
| XrlCmdError | raw_link_0_1_send (const string &if_name, const string &vif_name, const Mac &src_address, const Mac &dst_address, const uint32_t ðer_type, const vector< uint8_t > &payload) |
| Send a raw link-level packet on an interface. | |
| XrlCmdError | raw_link_0_1_register_receiver (const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t ðer_type, const string &filter_program, const bool &enable_multicast_loopback) |
| Register to receive raw link-level packets. | |
| XrlCmdError | raw_link_0_1_unregister_receiver (const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t ðer_type, const string &filter_program) |
| Unregister to receive raw link-level packets. | |
| XrlCmdError | raw_link_0_1_join_multicast_group (const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t ðer_type, const string &filter_program, const Mac &group_address) |
| Join a MAC multicast group. | |
| XrlCmdError | raw_link_0_1_leave_multicast_group (const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t ðer_type, const string &filter_program, const Mac &group_address) |
| Leave a MAC multicast group. | |
| XrlCmdError | raw_packet4_0_1_send (const string &if_name, const string &vif_name, const IPv4 &src_address, const IPv4 &dst_address, const uint32_t &ip_protocol, const int32_t &ip_ttl, const int32_t &ip_tos, const bool &ip_router_alert, const bool &ip_internet_control, const vector< uint8_t > &payload) |
| Send an IPv4 packet on a raw socket. | |
| XrlCmdError | raw_packet4_0_1_register_receiver (const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const bool &enable_multicast_loopback) |
| Register to receive IPv4 packets. | |
| XrlCmdError | raw_packet4_0_1_unregister_receiver (const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol) |
| Unregister to receive IPv4 packets. | |
| XrlCmdError | raw_packet4_0_1_join_multicast_group (const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const IPv4 &group_address) |
| Join an IPv4 multicast group. | |
| XrlCmdError | raw_packet4_0_1_leave_multicast_group (const string &xrl_target_instance_name, const string &if_name, const string &vif_name, const uint32_t &ip_protocol, const IPv4 &group_address) |
| Leave an IPv4 multicast group. | |
| XrlCmdError | socket4_0_1_tcp_open (const string &creator, string &sockid) |
| Open a TCP socket. | |
| XrlCmdError | socket4_0_1_udp_open (const string &creator, string &sockid) |
| Open an UDP socket. | |
| XrlCmdError | socket4_0_1_tcp_open_and_bind (const string &creator, const IPv4 &local_addr, const uint32_t &local_port, string &sockid) |
| Create a bound TCP socket. | |
| XrlCmdError | socket4_0_1_udp_open_and_bind (const string &creator, const IPv4 &local_addr, const uint32_t &local_port, const string &local_dev, const uint32_t &reuse, string &sockid) |
| Create a bound UDP socket. | |
| XrlCmdError | socket4_0_1_udp_open_bind_join (const string &creator, const IPv4 &local_addr, const uint32_t &local_port, const IPv4 &mcast_addr, const uint32_t &ttl, const bool &reuse, string &sockid) |
| Create a bound UDP multicast socket. | |
| XrlCmdError | socket4_0_1_tcp_open_bind_connect (const string &creator, const IPv4 &local_addr, const uint32_t &local_port, const IPv4 &remote_addr, const uint32_t &remote_port, string &sockid) |
| Create a bound and connected TCP socket. | |
| XrlCmdError | socket4_0_1_udp_open_bind_connect (const string &creator, const IPv4 &local_addr, const uint32_t &local_port, const IPv4 &remote_addr, const uint32_t &remote_port, string &sockid) |
| Create a bound and connected UDP socket. | |
| XrlCmdError | socket4_0_1_udp_open_bind_broadcast (const string &creator, const string &ifname, const string &vifname, const uint32_t &local_port, const uint32_t &remote_port, const bool &reuse, const bool &limited, const bool &connected, string &sockid) |
| Create a bound and connected UDP broadcast socket. | |
| XrlCmdError | socket4_0_1_bind (const string &sockid, const IPv4 &local_addr, const uint32_t &local_port) |
| Bind a socket. | |
| XrlCmdError | socket4_0_1_udp_join_group (const string &sockid, const IPv4 &mcast_addr, const IPv4 &join_if_addr) |
| Join multicast group on already bound socket. | |
| XrlCmdError | socket4_0_1_udp_leave_group (const string &sockid, const IPv4 &mcast_addr, const IPv4 &leave_if_addr) |
| Leave multicast group on already bound socket. | |
| XrlCmdError | socket4_0_1_close (const string &sockid) |
| Close socket. | |
| XrlCmdError | socket4_0_1_tcp_listen (const string &sockid, const uint32_t &backlog) |
| Listen for inbound connections on socket. | |
| XrlCmdError | socket4_0_1_udp_enable_recv (const string &sockid) |
| Enable a UDP socket for datagram reception. | |
| XrlCmdError | socket4_0_1_send (const string &sockid, const vector< uint8_t > &data) |
| Send data on socket. | |
| XrlCmdError | socket4_0_1_send_to (const string &sockid, const IPv4 &remote_addr, const uint32_t &remote_port, const vector< uint8_t > &data) |
| Send data on socket to a given destination. | |
| XrlCmdError | socket4_0_1_send_from_multicast_if (const string &sockid, const IPv4 &group_addr, const uint32_t &group_port, const IPv4 &ifaddr, const vector< uint8_t > &data) |
| Send data on socket to a given multicast group from a given interface. | |
| XrlCmdError | socket4_0_1_set_socket_option (const string &sockid, const string &optname, const uint32_t &optval) |
| Set a named socket option with an integer value. | |
| XrlCmdError | socket4_0_1_set_socket_option_txt (const string &sockid, const string &optname, const string &optval) |
| Set a named socket option with a text value. | |
| XrlCmdError | profile_0_1_enable (const string &pname) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | profile_0_1_disable (const string &pname) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | profile_0_1_get_entries (const string &pname, const string &instance_name) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | profile_0_1_clear (const string &pname) |
| Pure-virtual function that needs to be implemented to: | |
| XrlCmdError | profile_0_1_list (string &info) |
| Pure-virtual function that needs to be implemented to: | |
Private Member Functions | |
| int | add_remove_mac (bool add, const string &ifname, const Mac &mac, string &error_msg) |
| Add/remove a multicast MAC address on an interface. | |
| int | set_mac (const string &ifname, const Mac &mac, string &error_msg) |
| Set the MAC address on an interface. | |
| int | add_remove_address (bool add, const string &ifname, const string &vifname, const IPv4 &ip, uint32_t prefix, string &error_msg) |
| int | send_gratuitous_arps (const string &ifname, const Mac &mac, string &error_msg) |
| Send gratuitous ARP packets for all IP addresses on on an interface. | |
Private Attributes | |
| EventLoop & | _eventloop |
| FeaNode & | _fea_node |
| XrlRouter & | _xrl_router |
| Profile & | _profile |
| XrlFibClientManager & | _xrl_fib_client_manager |
| IfConfig & | _ifconfig |
| FirewallManager & | _firewall_manager |
| FibConfig & | _fibconfig |
| IoLinkManager & | _io_link_manager |
| IoIpManager & | _io_ip_manager |
| IoTcpUdpManager & | _io_tcpudp_manager |
| LibFeaClientBridge & | _lib_fea_client_bridge |
| bool | _is_running |
| bool | _is_shutdown_received |
FEA (Forwarding Engine Abstraction) XRL target class.
| XrlFeaTarget::XrlFeaTarget | ( | EventLoop & | eventloop, |
| FeaNode & | fea_node, | ||
| XrlRouter & | xrl_router, | ||
| Profile & | profile, | ||
| XrlFibClientManager & | xrl_fib_client_manager, | ||
| LibFeaClientBridge & | lib_fea_client_bridge | ||
| ) |
Constructor.
| eventloop | the event loop to use. |
| int XrlFeaTarget::add_remove_mac | ( | bool | add, |
| const string & | ifname, | ||
| const Mac & | mac, | ||
| string & | error_msg | ||
| ) | [private] |
| XrlCmdError XrlFeaTarget::common_0_1_get_target_name | ( | string & | name | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Get name of Xrl Target
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::common_0_1_get_version | ( | string & | version | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Get version string from Xrl Target
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::common_0_1_startup | ( | ) | [inline, virtual] |
Pure-virtual function that needs to be implemented to:
Request a startup of Xrl Target
Implements XrlFeaTargetBase.
| EventLoop& XrlFeaTarget::eventloop | ( | ) | [inline] |
| XrlCmdError XrlFeaTarget::fea_fib_0_1_add_fib_client4 | ( | const string & | client_target_name, |
| const bool & | send_updates, | ||
| const bool & | send_resolves | ||
| ) | [virtual] |
Add a FIB client.
| client_target_name | the target name of the FIB client to add. |
| send_updates | whether updates should be sent. |
| send_resolves | whether resolve requests should be sent. |
| target_name | the target name of the FIB client to add. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_fib_0_1_delete_fib_client4 | ( | const string & | client_target_name | ) | [virtual] |
Delete a FIB client.
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_firewall_0_1_abort_transaction | ( | const uint32_t & | tid | ) | [virtual] |
Abort firewall configuration transaction.
| tid | the transaction ID for this operation. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_firewall_0_1_add_entry4 | ( | const uint32_t & | tid, |
| const uint32_t & | rule_number, | ||
| const string & | ifname, | ||
| const string & | vifname, | ||
| const IPv4Net & | src_network, | ||
| const IPv4Net & | dst_network, | ||
| const uint32_t & | ip_protocol, | ||
| const uint32_t & | src_port_begin, | ||
| const uint32_t & | src_port_end, | ||
| const uint32_t & | dst_port_begin, | ||
| const uint32_t & | dst_port_end, | ||
| const string & | action | ||
| ) | [virtual] |
Add an IPv4 firewall entry.
| tid | the transaction ID for this operation. |
| rule_number | the rule number for this entry. |
| ifname | the name of the interface where this filter is to be applied. |
| vifname | the name of the vif where this filter is to be applied. |
| src_network | the source IPv4 network address prefix. |
| dst_network | the destination IPv4 network address prefix. |
| ip_protocol | the IP protocol number (1-255, or 0 if wildcard). |
| src_port_begin | the source TCP/UDP begin port (0-65535). |
| src_port_end | the source TCP/UDP end port (0-65535). |
| dst_port_begin | the destination TCP/UDP begin port (0-65535). |
| dst_port_end | the destination TCP/UDP end port (0-65535). |
| action | the action to be taken when this filter is matched. It is one of the following keywords: "none", "pass", "drop", "reject". |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_firewall_0_1_commit_transaction | ( | const uint32_t & | tid | ) | [virtual] |
Commit firewall configuration transaction.
| tid | the transaction ID for this operation. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_firewall_0_1_delete_all_entries4 | ( | const uint32_t & | tid | ) | [virtual] |
Delete all IPv4 firewall entries.
| tid | the transaction ID for this operation. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_firewall_0_1_delete_entry4 | ( | const uint32_t & | tid, |
| const uint32_t & | rule_number, | ||
| const string & | ifname, | ||
| const string & | vifname, | ||
| const IPv4Net & | src_network, | ||
| const IPv4Net & | dst_network, | ||
| const uint32_t & | ip_protocol, | ||
| const uint32_t & | src_port_begin, | ||
| const uint32_t & | src_port_end, | ||
| const uint32_t & | dst_port_begin, | ||
| const uint32_t & | dst_port_end | ||
| ) | [virtual] |
Delete an IPv4 firewall entry.
| tid | the transaction ID for this operation. |
| rule_number | the rule number for this entry. |
| ifname | the name of the interface where this filter is to be deleted. |
| vifname | the name of the vif where this filter is to be deleted. |
| src_network | the source IPv4 network address prefix. |
| dst_network | the destination IPv4 network address prefix. |
| ip_protocol | the IP protocol number (1-255, or 0 if wildcard). |
| src_port_begin | the source TCP/UDP begin port (0-65535). |
| src_port_end | the source TCP/UDP end port (0-65535). |
| dst_port_begin | the destination TCP/UDP begin port (0-65535). |
| dst_port_end | the destination TCP/UDP end port (0-65535). |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_firewall_0_1_get_entry_list_next4 | ( | const uint32_t & | token, |
| uint32_t & | rule_number, | ||
| string & | ifname, | ||
| string & | vifname, | ||
| IPv4Net & | src_network, | ||
| IPv4Net & | dst_network, | ||
| uint32_t & | ip_protocol, | ||
| uint32_t & | src_port_begin, | ||
| uint32_t & | src_port_end, | ||
| uint32_t & | dst_port_begin, | ||
| uint32_t & | dst_port_end, | ||
| string & | action, | ||
| bool & | more | ||
| ) | [virtual] |
Get the next item in a list of IPv4 firewall entries.
| token | returned by a previous call to get_entry_list_start4. |
| rule_number | the rule number for this entry. |
| ifname | the name of the interface where this filter exists. |
| vifname | the name of the vif where this filter exists. |
| src_network | the source IPv4 network address prefix. |
| dst_network | the destination IPv4 network address prefix. |
| ip_protocol | the IP protocol number (1-255, or 0 if wildcard). |
| src_port_begin | the source TCP/UDP begin port (0-65535). |
| src_port_end | the source TCP/UDP end port (0-65535). |
| dst_port_begin | the destination TCP/UDP begin port (0-65535). |
| dst_port_end | the destination TCP/UDP end port (0-65535). |
| action | the action taken when this filter is matched. It is one of the following keywords: "none", "pass", "drop", "reject". |
| more | true if the list has more items remaining. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_firewall_0_1_get_entry_list_start4 | ( | uint32_t & | token, |
| bool & | more | ||
| ) | [virtual] |
Get a token for a list of IPv4 firewall entries.
| token | to be provided when calling get_entry_list_next4. |
| more | true if the list is not empty. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_firewall_0_1_replace_entry4 | ( | const uint32_t & | tid, |
| const uint32_t & | rule_number, | ||
| const string & | ifname, | ||
| const string & | vifname, | ||
| const IPv4Net & | src_network, | ||
| const IPv4Net & | dst_network, | ||
| const uint32_t & | ip_protocol, | ||
| const uint32_t & | src_port_begin, | ||
| const uint32_t & | src_port_end, | ||
| const uint32_t & | dst_port_begin, | ||
| const uint32_t & | dst_port_end, | ||
| const string & | action | ||
| ) | [virtual] |
Replace an IPv4 firewall entry.
| tid | the transaction ID for this operation. |
| rule_number | the rule number for this entry. |
| ifname | the name of the interface where this filter is to be applied. |
| vifname | the name of the vif where this filter is to be applied. |
| src_network | the source IPv4 network address prefix. |
| dst_network | the destination IPv4 network address prefix. |
| ip_protocol | the IP protocol number (1-255, or 0 if wildcard). |
| src_port_begin | the source TCP/UDP begin port (0-65535). |
| src_port_end | the source TCP/UDP end port (0-65535). |
| dst_port_begin | the destination TCP/UDP begin port (0-65535). |
| dst_port_end | the destination TCP/UDP end port (0-65535). |
| action | the action to be taken when this filter is matched. It is one of the following keywords: "none", "pass", "drop", "reject". |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_firewall_0_1_start_transaction | ( | uint32_t & | tid | ) | [virtual] |
Start firewall configuration transaction.
| tid | the transaction ID returned by this operation. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fea_firewall_0_1_startup_firewall | ( | ) | [virtual] |
Does nothing, but allows us to have rtrmgr verify startup.
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::finder_event_observer_0_1_xrl_target_birth | ( | const string & | target_class, |
| const string & | target_instance | ||
| ) | [virtual] |
Announce target birth to observer.
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::finder_event_observer_0_1_xrl_target_death | ( | const string & | target_class, |
| const string & | target_instance | ||
| ) | [virtual] |
Announce target death to observer.
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fti_0_2_get_unicast_forwarding_enabled4 | ( | bool & | enabled | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Test whether the IPv4 unicast forwarding engine is enabled or disabled to forward packets.
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fti_0_2_have_ipv4 | ( | bool & | result | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Test if the underlying system supports IPv4.
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fti_0_2_lookup_route_by_dest4 | ( | const IPv4 & | dst, |
| IPv4Net & | netmask, | ||
| IPv4 & | nexthop, | ||
| string & | ifname, | ||
| string & | vifname, | ||
| uint32_t & | metric, | ||
| uint32_t & | admin_distance, | ||
| string & | protocol_origin | ||
| ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Lookup a route for a destination host address.
| dst | the destination host address to lookup. |
| nexthop | the address of the next-hop router toward dst. |
| ifname | the name of the physical interface toward dst. |
| vifname | the name of the virtual interface toward dst. |
| metric | the routing metric toward dst. |
| admin_distance | the administratively defined distance toward dst. |
| protocol_origin | the name of the protocol that originated this routing entry. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fti_0_2_lookup_route_by_network4 | ( | const IPv4Net & | dst, |
| IPv4 & | nexthop, | ||
| string & | ifname, | ||
| string & | vifname, | ||
| uint32_t & | metric, | ||
| uint32_t & | admin_distance, | ||
| string & | protocol_origin | ||
| ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Lookup a route for a destination subnet address.
| dst | the destination subnet address to lookup. |
| nexthop | the address of the next-hop router toward dst. |
| ifname | the name of the physical interface toward dst. |
| vifname | the name of the virtual interface toward dst. |
| metric | the routing metric toward dst. |
| admin_distance | the administratively defined distance toward dst. |
| protocol_origin | the name of the protocol that originated this routing entry. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fti_0_2_set_unicast_forwarding_enabled4 | ( | const bool & | enabled | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Set the IPv4 unicast forwarding engine to enable or disable forwarding of packets.
| enabled | if true, then enable IPv4 unicast forwarding, otherwise disable it. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fti_0_2_set_unicast_forwarding_entries_retain_on_shutdown4 | ( | const bool & | retain | ) | [virtual] |
Set the IPv4 unicast forwarding engine whether to retain existing XORP forwarding entries on shutdown.
| retain | if true, then retain the XORP forwarding entries, otherwise delete them. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fti_0_2_set_unicast_forwarding_entries_retain_on_startup4 | ( | const bool & | retain | ) | [virtual] |
Set the IPv4 unicast forwarding engine whether to retain existing XORP forwarding entries on startup.
| retain | if true, then retain the XORP forwarding entries, otherwise delete them. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::fti_0_2_set_unicast_forwarding_table_id4 | ( | const bool & | is_configured, |
| const uint32_t & | table_id | ||
| ) | [virtual] |
| XrlCmdError XrlFeaTarget::ifmgr_0_1_configure_all_interfaces_from_system | ( | const uint32_t & | tid, |
| const bool & | enable | ||
| ) | [virtual] |
Implicitly configure all interfaces within the FEA by using information from the underlying system.
| tid | the transaction ID. |
| enable | if true, then enable the implicit configuration, otherwise disable it. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::ifmgr_0_1_configure_interface_from_system | ( | const uint32_t & | tid, |
| const string & | ifname, | ||
| const bool & | enable | ||
| ) | [virtual] |
| XrlCmdError XrlFeaTarget::ifmgr_0_1_create_vif | ( | const uint32_t & | tid, |
| const string & | ifname, | ||
| const string & | vif | ||
| ) | [virtual] |
| XrlCmdError XrlFeaTarget::ifmgr_0_1_startup_ifmgr | ( | ) | [virtual] |
Does nothing, but allows us to have rtrmgr verify startup.
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::ifmgr_replicator_0_1_register_ifmgr_mirror | ( | const string & | clientname | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Register remote mirror of interface state.
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::ifmgr_replicator_0_1_unregister_ifmgr_mirror | ( | const string & | clientname | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Register remote mirror of interface state.
Implements XrlFeaTargetBase.
| bool XrlFeaTarget::is_running | ( | ) | const |
| bool XrlFeaTarget::is_shutdown_received | ( | ) | const [inline] |
Test whether a shutdown XRL request has been received.
| XrlCmdError XrlFeaTarget::profile_0_1_clear | ( | const string & | pname | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Clear the profiling entries
| pname | profile variable |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::profile_0_1_disable | ( | const string & | pname | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Disable profiling
| pname | profile variable |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::profile_0_1_enable | ( | const string & | pname | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Enable profiling
| pname | profile variable |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::profile_0_1_get_entries | ( | const string & | pname, |
| const string & | instance_name | ||
| ) | [virtual] |
Pure-virtual function that needs to be implemented to:
Get log entries.
| pname | profile variable |
| instance_name | to send the profiling info to. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::profile_0_1_list | ( | string & | info | ) | [virtual] |
Pure-virtual function that needs to be implemented to:
List all the profiling variables registered with this target.
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::raw_link_0_1_join_multicast_group | ( | const string & | xrl_target_instance_name, |
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ether_type, | ||
| const string & | filter_program, | ||
| const Mac & | group_address | ||
| ) | [virtual] |
Join a MAC multicast group.
| xrl_target_instance_name | the receiver's XRL target instance name. |
| if_name | the interface through which packets should be accepted. |
| vif_name | the vif through which packets should be accepted. |
| 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. |
| filter_program | the filter program to be applied on the received packets. The program uses tcpdump(1) style expression. |
| group_address | the multicast group address to join. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::raw_link_0_1_leave_multicast_group | ( | const string & | xrl_target_instance_name, |
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ether_type, | ||
| const string & | filter_program, | ||
| const Mac & | group_address | ||
| ) | [virtual] |
Leave a MAC multicast group.
| xrl_target_instance_name | the receiver's XRL target instance name. |
| if_name | the interface through which packets should not be accepted. |
| vif_name | the vif through which packets should not be accepted. |
| 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. |
| filter_program | the filter program that was applied on the received packets. The program uses tcpdump(1) style expression. |
| group_address | the multicast group address to leave. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::raw_link_0_1_register_receiver | ( | const string & | xrl_target_instance_name, |
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ether_type, | ||
| const string & | filter_program, | ||
| const bool & | enable_multicast_loopback | ||
| ) | [virtual] |
Register to receive raw link-level packets.
The receiver is expected to support raw_link_client/0.1 interface.
| xrl_target_instance_name | the receiver's XRL target instance name. |
| if_name | the interface through which packets should be accepted. |
| vif_name | the vif through which packets should be accepted. |
| 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. |
| filter_program | the filter program to be applied on the received packets. The program uses tcpdump(1) style expression. |
| 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). |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::raw_link_0_1_send | ( | const string & | if_name, |
| const string & | vif_name, | ||
| const Mac & | src_address, | ||
| const Mac & | dst_address, | ||
| const uint32_t & | ether_type, | ||
| const vector< uint8_t > & | payload | ||
| ) | [virtual] |
Send a raw link-level packet on an interface.
| if_name | the interface to send the packet on. |
| vif_name | the vif to send the packet on. |
| src_address | the MAC source address. |
| dst_address | the MAC destination address. |
| 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. |
| payload | the payload, everything after the MAC header. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::raw_link_0_1_unregister_receiver | ( | const string & | xrl_target_instance_name, |
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ether_type, | ||
| const string & | filter_program | ||
| ) | [virtual] |
Unregister to receive raw link-level packets.
| xrl_target_instance_name | the receiver's XRL target instance name. |
| if_name | the interface through which packets should not be accepted. |
| vif_name | the vif through which packets should not be accepted. |
| 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. |
| filter_program | the filter program that was applied on the received packets. The program uses tcpdump(1) style expression. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::raw_packet4_0_1_join_multicast_group | ( | const string & | xrl_target_instance_name, |
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const IPv4 & | group_address | ||
| ) | [virtual] |
Join an IPv4 multicast group.
| xrl_target_instance_name | the receiver's XRL target instance name. |
| if_name | the interface through which packets should be accepted. |
| vif_name | the vif through which packets should be accepted. |
| 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. |
| group_address | the multicast group address to join. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::raw_packet4_0_1_leave_multicast_group | ( | const string & | xrl_target_instance_name, |
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const IPv4 & | group_address | ||
| ) | [virtual] |
Leave an IPv4 multicast group.
| xrl_target_instance_name | the receiver's XRL target instance name. |
| if_name | the interface through which packets should not be accepted. |
| vif_name | the vif through which packets should not be accepted. |
| 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. |
| group_address | the multicast group address to leave. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::raw_packet4_0_1_register_receiver | ( | const string & | xrl_target_instance_name, |
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol, | ||
| const bool & | enable_multicast_loopback | ||
| ) | [virtual] |
Register to receive IPv4 packets.
The receiver is expected to support raw_packet4_client/0.1 interface.
| xrl_target_instance_name | the receiver's XRL target instance name. |
| if_name | the interface through which packets should be accepted. |
| vif_name | the vif through which packets should be accepted. |
| 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. |
| 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. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::raw_packet4_0_1_send | ( | const string & | if_name, |
| const string & | vif_name, | ||
| const IPv4 & | src_address, | ||
| const IPv4 & | dst_address, | ||
| const uint32_t & | ip_protocol, | ||
| const int32_t & | ip_ttl, | ||
| const int32_t & | ip_tos, | ||
| const bool & | ip_router_alert, | ||
| const bool & | ip_internet_control, | ||
| const vector< uint8_t > & | payload | ||
| ) | [virtual] |
Send an IPv4 packet on a raw socket.
| if_name | the interface to send the packet on. It is essential for multicast. In the unicast case this field may be empty. |
| vif_name | the vif to send the packet on. It is essential for multicast. In the unicast case this field may be empty. |
| src_address | the IP source address. |
| dst_address | the IP destination address. |
| ip_protocol | the IP protocol number. It must be between 1 and 255. |
| ip_ttl | the IP TTL (hop-limit). If it has a negative value, the TTL will be set internally before transmission. |
| 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. |
| ip_router_alert | if true, then add the IP Router Alert option to the IP packet. |
| ip_internet_control | if true, then this is IP control traffic. |
| payload | the payload, everything after the IP header and options. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::raw_packet4_0_1_unregister_receiver | ( | const string & | xrl_target_instance_name, |
| const string & | if_name, | ||
| const string & | vif_name, | ||
| const uint32_t & | ip_protocol | ||
| ) | [virtual] |
Unregister to receive IPv4 packets.
| xrl_target_instance_name | the receiver's XRL target instance name. |
| if_name | the interface through which packets should not be accepted. |
| vif_name | the vif through which packets should not be accepted. |
| 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. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::redist_transaction4_0_1_abort_transaction | ( | const uint32_t & | tid | ) | [virtual] |
Abort transaction.
| tid | the transaction ID of this transaction. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::redist_transaction4_0_1_add_route | ( | const uint32_t & | tid, |
| const IPv4Net & | dst, | ||
| const IPv4 & | nexthop, | ||
| const string & | ifname, | ||
| const string & | vifname, | ||
| const uint32_t & | metric, | ||
| const uint32_t & | admin_distance, | ||
| const string & | cookie, | ||
| const string & | protocol_origin | ||
| ) | [virtual] |
Add/delete a routing entry.
| tid | the transaction ID of this transaction. |
| dst | destination network. |
| nexthop | nexthop router address. |
| ifname | interface name associated with nexthop. |
| vifname | virtual interface name with nexthop. |
| metric | origin routing protocol metric for route. |
| admin_distance | administrative distance of origin routing protocol. |
| cookie | value set by the requestor to identify redistribution source. Typical value is the originating protocol name. |
| protocol_origin | the name of the protocol that originated this routing entry. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::redist_transaction4_0_1_commit_transaction | ( | const uint32_t & | tid | ) | [virtual] |
Commit transaction.
| tid | the transaction ID of this transaction. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::redist_transaction4_0_1_delete_all_routes | ( | const uint32_t & | tid, |
| const string & | cookie | ||
| ) | [virtual] |
Delete all routing entries.
| tid | the transaction ID of this transaction. |
| cookie | value set by the requestor to identify redistribution source. Typical value is the originating protocol name. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::redist_transaction4_0_1_start_transaction | ( | uint32_t & | tid | ) | [virtual] |
Start transaction.
| tid | the transaction ID to use for this transaction. |
Implements XrlFeaTargetBase.
| int XrlFeaTarget::send_gratuitous_arps | ( | const string & | ifname, |
| const Mac & | mac, | ||
| string & | error_msg | ||
| ) | [private] |
| int XrlFeaTarget::set_mac | ( | const string & | ifname, |
| const Mac & | mac, | ||
| string & | error_msg | ||
| ) | [private] |
| int XrlFeaTarget::shutdown | ( | ) |
| XrlCmdError XrlFeaTarget::socket4_0_1_bind | ( | const string & | sockid, |
| const IPv4 & | local_addr, | ||
| const uint32_t & | local_port | ||
| ) | [virtual] |
Bind a socket.
| sockid | the socket ID of the socket to bind. |
| local_addr | the interface address to bind socket to. |
| local_port | the port to bind socket to. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_close | ( | const string & | sockid | ) | [virtual] |
Close socket.
| sockid | unique socket ID of socket to be closed. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_send | ( | const string & | sockid, |
| const vector< uint8_t > & | data | ||
| ) | [virtual] |
Send data on socket.
| sockid | unique socket ID. |
| data | block of data to be sent. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_send_from_multicast_if | ( | const string & | sockid, |
| const IPv4 & | group_addr, | ||
| const uint32_t & | group_port, | ||
| const IPv4 & | ifaddr, | ||
| const vector< uint8_t > & | data | ||
| ) | [virtual] |
Send data on socket to a given multicast group from a given interface.
| sockid | unique socket ID. |
| group_addr | destination address for data. |
| group_port | destination port for data. |
| ifaddr | interface address |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_send_to | ( | const string & | sockid, |
| const IPv4 & | remote_addr, | ||
| const uint32_t & | remote_port, | ||
| const vector< uint8_t > & | data | ||
| ) | [virtual] |
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.
| sockid | unique socket ID. |
| remote_addr | destination address for data. |
| remote_port | destination port for data. |
| data | block of data to be sent. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_set_socket_option | ( | const string & | sockid, |
| const string & | optname, | ||
| const uint32_t & | optval | ||
| ) | [virtual] |
Set a named socket option with an integer value.
| sockid | unique socket ID. |
| optname | name of option to be set. Valid values are: "onesbcast" "receive_broadcast" "reuseport" "send_broadcast" "tos" "ttl" "multicast_loopback" "multicast_ttl" |
| optval | value of option to be set. If value is logically boolean then zero represents false and any non-zero value true. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_set_socket_option_txt | ( | const string & | sockid, |
| const string & | optname, | ||
| const string & | optval | ||
| ) | [virtual] |
Set a named socket option with a text value.
XXX: The "bindtodevice" option exists to workaround an architectural issue in the Linux Ipv4 stack. It SHOULD NOT be used for new code.
| sockid | unique socket ID. |
| optname | name of option to be set. Valid values are: "bindtodevice" |
| optval | value of option to be set. If value is logically boolean then zero represents false and any non-zero value true. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_tcp_listen | ( | const string & | sockid, |
| const uint32_t & | backlog | ||
| ) | [virtual] |
Listen for inbound connections on socket.
When a connection request received the socket creator will receive notification through socket4_user/0.1/connect_event.
| sockid | the unique socket ID of the socket to perform listen. |
| backlog | the maximum number of pending connections. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_tcp_open | ( | const string & | creator, |
| string & | sockid | ||
| ) | [virtual] |
Open a TCP socket.
| creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
| sockid | return parameter that contains unique socket ID when socket instantiation is successful. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_tcp_open_and_bind | ( | const string & | creator, |
| const IPv4 & | local_addr, | ||
| const uint32_t & | local_port, | ||
| string & | sockid | ||
| ) | [virtual] |
Create a bound TCP socket.
| creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
| local_addr | the interface address to bind socket to. |
| local_port | the port to bind socket to. |
| sockid | return parameter that contains unique socket ID when socket instantiation is successful. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_tcp_open_bind_connect | ( | const string & | creator, |
| const IPv4 & | local_addr, | ||
| const uint32_t & | local_port, | ||
| const IPv4 & | remote_addr, | ||
| const uint32_t & | remote_port, | ||
| string & | sockid | ||
| ) | [virtual] |
Create a bound and connected TCP socket.
| creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
| local_addr | the interface address to bind socket to. |
| local_port | the port to bind socket to. |
| remote_addr | the address to connect to. |
| remote_port | the remote port to connect to. |
| sockid | return parameter that contains unique socket ID when socket instantiation is successful. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_udp_enable_recv | ( | const string & | sockid | ) | [virtual] |
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.
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_udp_join_group | ( | const string & | sockid, |
| const IPv4 & | mcast_addr, | ||
| const IPv4 & | join_if_addr | ||
| ) | [virtual] |
Join multicast group on already bound socket.
| sockid | unique socket ID. |
| mcast_addr | group to join. |
| join_if_addr | interface address to perform join on. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_udp_leave_group | ( | const string & | sockid, |
| const IPv4 & | mcast_addr, | ||
| const IPv4 & | leave_if_addr | ||
| ) | [virtual] |
Leave multicast group on already bound socket.
| sockid | unique socket ID. |
| mcast_addr | group to leave. |
| leave_if_addr | interface address to perform leave on. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_udp_open | ( | const string & | creator, |
| string & | sockid | ||
| ) | [virtual] |
Open an UDP socket.
| creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
| sockid | return parameter that contains unique socket ID when socket instantiation is successful. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_udp_open_and_bind | ( | const string & | creator, |
| const IPv4 & | local_addr, | ||
| const uint32_t & | local_port, | ||
| const string & | local_dev, | ||
| const uint32_t & | reuse, | ||
| string & | sockid | ||
| ) | [virtual] |
Create a bound UDP socket.
| creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
| local_addr | the interface address to bind socket to. |
| local_port | the port to bind socket to. |
| sockid | return parameter that contains unique socket ID when socket instantiation is successful. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_udp_open_bind_broadcast | ( | const string & | creator, |
| const string & | ifname, | ||
| const string & | vifname, | ||
| const uint32_t & | local_port, | ||
| const uint32_t & | remote_port, | ||
| const bool & | reuse, | ||
| const bool & | limited, | ||
| const bool & | connected, | ||
| string & | sockid | ||
| ) | [virtual] |
Create a bound and 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.
| creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
| ifname | the interface name to bind socket to. |
| vifname | the vif to bind socket to. |
| local_port | the port to bind socket to. |
| remote_port | the remote port to connect to. |
| reuse | allow other sockets to bind to same port. |
| limited | set the socket up for transmission to the limited broadcast address 255.255.255.255. |
| connected | connect the socket for use with send() not sendto(). |
| sockid | return parameter that contains unique socket ID when socket instantiation is successful. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_udp_open_bind_connect | ( | const string & | creator, |
| const IPv4 & | local_addr, | ||
| const uint32_t & | local_port, | ||
| const IPv4 & | remote_addr, | ||
| const uint32_t & | remote_port, | ||
| string & | sockid | ||
| ) | [virtual] |
Create a bound and connected UDP socket.
| creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
| local_addr | the interface address to bind socket to. |
| local_port | the port to bind socket to. |
| remote_addr | the address to connect to. |
| remote_port | the remote port to connect to. |
| sockid | return parameter that contains unique socket ID when socket instantiation is successful. |
Implements XrlFeaTargetBase.
| XrlCmdError XrlFeaTarget::socket4_0_1_udp_open_bind_join | ( | const string & | creator, |
| const IPv4 & | local_addr, | ||
| const uint32_t & | local_port, | ||
| const IPv4 & | mcast_addr, | ||
| const uint32_t & | ttl, | ||
| const bool & | reuse, | ||
| string & | sockid | ||
| ) | [virtual] |
Create a bound UDP multicast socket.
| creator | the Xrl Target instance name of the socket creator. The named target must implement socket4_user/0.1. |
| local_addr | the interface address to bind socket to. |
| local_port | the port to bind socket to. |
| mcast_addr | the multicast group address to join. |
| ttl | the TTL to use for this multicast socket. |
| reuse | allow other sockets to bind to same multicast group. |
| sockid | return parameter that contains unique socket ID when socket instantiation is successful. |
Implements XrlFeaTargetBase.
| int XrlFeaTarget::startup | ( | ) |