diff --git a/ChangeLog b/ChangeLog index 8a25b47f6..0a3f0d025 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2017-04-03 LaMont Jones + + * libfreeipmi/: Add support to read IPv6 configuration. + 2017-03-20 Albert Chu * man/ipmiseld.8.pre.in: Clarify --test-run and --foreground diff --git a/libfreeipmi/api/ipmi-lan-cmds-api.c b/libfreeipmi/api/ipmi-lan-cmds-api.c index d71cf9009..3fa84ad3c 100644 --- a/libfreeipmi/api/ipmi-lan-cmds-api.c +++ b/libfreeipmi/api/ipmi-lan-cmds-api.c @@ -2233,6 +2233,750 @@ ipmi_cmd_get_lan_configuration_parameters_bad_password_threshold (ipmi_ctx_t ctx return (0); } +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_ipv4_support (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_ipv4_support_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_IPV4_SUPPORT) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_ipv4_addressing_enables (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_ipv4_addressing_enables_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_IPV4_ADDRESSING_ENABLES) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_header_static_traffic_class (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_header_static_traffic_class_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_HEADER_STATIC_TRAFFIC_CLASS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_header_static_hop_limit (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_header_static_hop_limit_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_HEADER_STATIC_HOP_LIMIT) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_header_flow_label (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_header_flow_label_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_HEADER_FLOW_LABEL) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_status (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_status_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATUS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_static_addresses (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_static_addresses_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ADDRESSES) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duid_storage_length (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duid_storage_length_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_STATIC_DUID_STORAGE_LENGTH) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duids (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duids_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_STATIC_DUIDS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_address_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ADDRESS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duid_storage_length (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duid_storage_length_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_DYNAMIC_DUID_STORAGE_LENGTH) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duids (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duids_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_DYNAMIC_DUIDS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_configuration_support (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_configuration_support_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_TIMING_CONFIGURATION_SUPPORT) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_and_configuration (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_and_configuration_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_TIMING_AND_CONFIGURATION) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_router_address_configuration_control (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_router_address_configuration_control_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_ROUTER_ADDRESS_CONFIGURATION_CONTROL) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_1_ip_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_ip_address_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_1_IP_ADDRESS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_1_mac_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_mac_address_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_1_MAC_ADDRESS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_length (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_length_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_1_PREFIX_LENGTH) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_value (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_value_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_1_PREFIX_VALUE) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_2_ip_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_ip_address_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_2_IP_ADDRESS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_2_mac_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_mac_address_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_2_MAC_ADDRESS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_length (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_length_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_2_PREFIX_LENGTH) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_value (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_value_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_2_PREFIX_VALUE) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_number_of_dynamic_router_info_sets (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_number_of_dynamic_router_info_sets_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_NUMBER_OF_DYNAMIC_ROUTER_INFO_SETS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_ip_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_ip_address_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ROUTER_INFO_IP_ADDRESS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_mac_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_mac_address_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ROUTER_INFO_MAC_ADDRESS) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_length (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_length_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ROUTER_INFO_PREFIX_LENGTH) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_value (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_value_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ROUTER_INFO_PREFIX_VALUE) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_received_hop_limit (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_received_hop_limit_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ROUTER_RECEIVED_HOP_LIMIT) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration_support (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration_support_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_NEIGHBOR_DISCOVERY_SLAAC_TIMING_CONFIGURATION_SUPPORT) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + +int +ipmi_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs) +{ + if (_ipmi_cmd_get_lan_configuration_parameters_common (ctx, + channel_number, + get_parameter, + set_selector, + block_selector, + obj_cmd_rs, + tmpl_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration_rs, + IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_NEIGHBOR_DISCOVERY_SLAAC_TIMING_CONFIGURATION) < 0) + { + ERR_TRACE (ipmi_ctx_errormsg (ctx), ipmi_ctx_errnum (ctx)); + return (-1); + } + + return (0); +} + int ipmi_cmd_suspend_bmc_arps (ipmi_ctx_t ctx, uint8_t channel_number, diff --git a/libfreeipmi/cmds/ipmi-lan-cmds.c b/libfreeipmi/cmds/ipmi-lan-cmds.c index d5dafa883..01117c77f 100644 --- a/libfreeipmi/cmds/ipmi-lan-cmds.c +++ b/libfreeipmi/cmds/ipmi-lan-cmds.c @@ -756,6 +756,349 @@ fiid_template_t tmpl_cmd_get_lan_configuration_parameters_bad_password_threshold { 0, "", 0} }; +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_ipv4_support_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 1, "supports_ipv6_only", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 1, "supports_ipv6_and_ipv4_simultaneously", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 1, "supports_ipv6_destination_address_for_lan_alert", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 5, "reserved2", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_ipv4_addressing_enables_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "enables", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_header_static_traffic_class_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "traffic_class", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_header_static_hop_limit_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "static_hop_limit", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_header_flow_label_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 20, "flow_label", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, /* LS byte first */ + { 4, "reserved2", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_status_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "static_address_max", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "dynamic_address_max", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 1, "dhcpv6_addressing_supported", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 1, "slaac_addressing_supported", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 6, "reserved2", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_addresses_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "set_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "source", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 3, "reserved2", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 1, "enable", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 128, "address", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "address_prefix_length", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "address_status", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duid_storage_length_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "maximum_blocks", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duids_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "set_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "block_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 128, "duid", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_address_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "set_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "source_type", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "reserved2", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 128, "address", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "address_prefix_length", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "address_status", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duid_storage_length_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "maximum_blocks", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duids_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "set_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "block_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 128, "duid", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_configuration_support_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 2, "timing_configuration", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 6, "reserved2", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_and_configuration_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "set_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "block_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_router_address_configuration_control_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 1, "enable_static_router_address", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 1, "enable_dynamic_router_address", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 6, "reserved2", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_ip_address_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 128, "ipv6_router_ip_address", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_mac_address_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 48, "router_mac_address", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_length_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "prefix_length", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_value_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 128, "prefix_value", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_ip_address_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 128, "ipv6_router_ip_address", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_mac_address_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 48, "router_mac_address", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_length_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "prefix_length", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_value_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 128, "prefix_value", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_number_of_dynamic_router_info_sets_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "number_of_dynamic_router_address_information_entries", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_ip_address_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "set_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 128, "router_ip_address", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_mac_address_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "set_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 48, "router_mac_address", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_length_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "set_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "prefix_length", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_value_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "set_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 128, "prefix_value", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_received_hop_limit_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "hop_limit", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration_support_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 2, "timing_configuration", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 6, "reserved2", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + +fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration_rs = + { + { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED | FIID_FIELD_MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 4, "oldest_revision_parameter", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "set_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 8, "block_selector", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, + { 0, "", 0} + }; + fiid_template_t tmpl_cmd_suspend_bmc_arps_rq = { { 8, "cmd", FIID_FIELD_REQUIRED | FIID_FIELD_LENGTH_FIXED}, diff --git a/libfreeipmi/include/freeipmi/api/ipmi-lan-cmds-api.h b/libfreeipmi/include/freeipmi/api/ipmi-lan-cmds-api.h index fe57ede63..73c2a55ce 100644 --- a/libfreeipmi/include/freeipmi/api/ipmi-lan-cmds-api.h +++ b/libfreeipmi/include/freeipmi/api/ipmi-lan-cmds-api.h @@ -397,6 +397,223 @@ int ipmi_cmd_get_lan_configuration_parameters_bad_password_threshold (ipmi_ctx_t uint8_t block_selector, fiid_obj_t obj_cmd_rs); +int ipmi_cmd_get_lan_configuration_parameters_ipv6_ipv4_support (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_ipv4_addressing_enables (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_header_static_traffic_class (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_header_static_hop_limit (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_header_flow_label (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_status (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_static_addresses (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duid_storage_length (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duids (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duid_storage_length (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duids (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_configuration_support (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_and_configuration (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_router_address_configuration_control (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_1_ip_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_1_mac_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_length (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_value (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_2_ip_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_2_mac_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_length (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_value (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_number_of_dynamic_router_info_sets (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_ip_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_mac_address (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_length (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_value (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_received_hop_limit (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration_support (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + +int ipmi_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration (ipmi_ctx_t ctx, + uint8_t channel_number, + uint8_t get_parameter, + uint8_t set_selector, + uint8_t block_selector, + fiid_obj_t obj_cmd_rs); + int ipmi_cmd_suspend_bmc_arps (ipmi_ctx_t ctx, uint8_t channel_number, uint8_t gratuitous_arp_suspend, diff --git a/libfreeipmi/include/freeipmi/cmds/ipmi-lan-cmds.h b/libfreeipmi/include/freeipmi/cmds/ipmi-lan-cmds.h index e9121fd0b..ea3d7498f 100644 --- a/libfreeipmi/include/freeipmi/cmds/ipmi-lan-cmds.h +++ b/libfreeipmi/include/freeipmi/cmds/ipmi-lan-cmds.h @@ -61,6 +61,15 @@ extern "C" { || (__val) == IPMI_IP_ADDRESS_SOURCE_BIOS \ || (__val) == IPMI_IP_ADDRESS_SOURCE_OTHER) ? 1 : 0) +#define IPMI_IPV6_IPV4_ADDRESSING_ENABLES_IPV6_DISABLED 0x0 +#define IPMI_IPV6_IPV4_ADDRESSING_ENABLES_IPV6_ONLY 0x1 +#define IPMI_IPV6_IPV4_ADDRESSING_ENABLES_IPV6_AND_IPV4 0x2 + +#define IPMI_IPV6_IPV4_ADDRESSING_ENABLES_VALID(__val) \ + (((__val) == IPMI_IPV6_IPV4_ADDRESSING_ENABLES_IPV6_DISABLED \ + || (__val) == IPMI_IPV6_IPV4_ADDRESSING_ENABLES_IPV6_ONLY \ + || (__val) == IPMI_IPV6_IPV4_ADDRESSING_ENABLES_IPV6_AND_IPV4) ? 1 : 0) + #define IPMI_BMC_GENERATED_GRATUITOUS_ARPS_ENABLE 0x1 #define IPMI_BMC_GENERATED_GRATUITOUS_ARPS_DISABLE 0x0 @@ -156,6 +165,33 @@ extern "C" { (((__val) == IPMI_CLEAR_ALL_STATISTICS \ || (__val) == IPMI_DONT_CLEAR_ALL_STATISTICS) ? 1 : 0) +#define IPMI_IPV6_ADDRESS_SOURCE_STATIC 0x00 +#define IPMI_IPV6_ADDRESS_SOURCE_SLAAC 0x01 +#define IPMI_IPV6_ADDRESS_SOURCE_DHCPV6 0x02 + +#define IPMI_IPV6_STATIC_ADDRESS_SOURCE_VALID(__address_status) \ + (((__address_status) == IPMI_IPV6_ADDRESS_SOURCE_STATIC) ? 1 : 0) + +#define IPMI_IPV6_DYNAMIC_ADDRESS_SOURCE_VALID(__address_status) \ + (((__address_status) == IPMI_IPV6_ADDRESS_SOURCE_SLAAC \ + || (__address_status) == IPMI_IPV6_ADDRESS_SOURCE_DHCPV6) ? 1 : 0) + + +#define IPMI_IPV6_ADDRESS_STATUS_ACTIVE 0x00 +#define IPMI_IPV6_ADDRESS_STATUS_DISABLED 0x01 +#define IPMI_IPV6_ADDRESS_STATUS_PENDING 0x02 +#define IPMI_IPV6_ADDRESS_STATUS_FAILED 0x03 +#define IPMI_IPV6_ADDRESS_STATUS_DEPRECATED 0x04 +#define IPMI_IPV6_ADDRESS_STATUS_INVALID 0x05 + +#define IPMI_IPV6_ADDRESS_STATUS_VALID(__address_status) \ + (((__address_status) == IPMI_IPV6_ADDRESS_STATUS_ACTIVE \ + || (__address_status) == IPMI_IPV6_ADDRESS_STATUS_DISABLED \ + || (__address_status) == IPMI_IPV6_ADDRESS_STATUS_PENDING \ + || (__address_status) == IPMI_IPV6_ADDRESS_STATUS_FAILED \ + || (__address_status) == IPMI_IPV6_ADDRESS_STATUS_DEPRECATED \ + || (__address_status) == IPMI_IPV6_ADDRESS_STATUS_INVALID) ? 1 : 0) + /* * fill* functions return 0 on success, -1 on error. * @@ -220,6 +256,37 @@ extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_rmcpplus_messag extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_rmcpplus_messaging_cipher_suite_entries_rs; extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_rmcpplus_messaging_cipher_suite_privilege_levels_rs; extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_bad_password_threshold_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_ipv4_support_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_ipv4_addressing_enables_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_header_static_traffic_class_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_header_static_hop_limit_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_header_flow_label_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_status_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_addresses_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duid_storage_length_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duids_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_address_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duid_storage_length_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duids_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_configuration_support_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_and_configuration_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_router_address_configuration_control_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_ip_address_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_mac_address_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_length_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_value_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_ip_address_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_mac_address_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_length_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_value_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_number_of_dynamic_router_info_sets_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_ip_address_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_mac_address_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_length_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_value_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_received_hop_limit_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration_support_rs; +extern fiid_template_t tmpl_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration_rs; extern fiid_template_t tmpl_cmd_suspend_bmc_arps_rq; extern fiid_template_t tmpl_cmd_suspend_bmc_arps_rs; diff --git a/libfreeipmi/include/freeipmi/spec/ipmi-lan-configuration-parameters-spec.h b/libfreeipmi/include/freeipmi/spec/ipmi-lan-configuration-parameters-spec.h index 843b2799d..26beb8c2f 100644 --- a/libfreeipmi/include/freeipmi/spec/ipmi-lan-configuration-parameters-spec.h +++ b/libfreeipmi/include/freeipmi/spec/ipmi-lan-configuration-parameters-spec.h @@ -23,40 +23,71 @@ extern "C" { #endif -#define IPMI_LAN_CONFIGURATION_PARAMETER_SET_IN_PROGRESS 0 -#define IPMI_LAN_CONFIGURATION_PARAMETER_AUTHENTICATION_TYPE_SUPPORT 1 -#define IPMI_LAN_CONFIGURATION_PARAMETER_AUTHENTICATION_TYPE_ENABLES 2 -#define IPMI_LAN_CONFIGURATION_PARAMETER_IP_ADDRESS 3 -#define IPMI_LAN_CONFIGURATION_PARAMETER_IP_ADDRESS_SOURCE 4 -#define IPMI_LAN_CONFIGURATION_PARAMETER_MAC_ADDRESS 5 -#define IPMI_LAN_CONFIGURATION_PARAMETER_SUBNET_MASK 6 -#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV4_HEADER_PARAMETERS 7 -#define IPMI_LAN_CONFIGURATION_PARAMETER_PRIMARY_RMCP_PORT_NUMBER 8 -#define IPMI_LAN_CONFIGURATION_PARAMETER_SECONDARY_RMCP_PORT_NUMBER 9 -#define IPMI_LAN_CONFIGURATION_PARAMETER_BMC_GENERATED_ARP_CONTROL 10 -#define IPMI_LAN_CONFIGURATION_PARAMETER_GRATUITOUS_ARP_INTERVAL 11 -#define IPMI_LAN_CONFIGURATION_PARAMETER_DEFAULT_GATEWAY_ADDRESS 12 -#define IPMI_LAN_CONFIGURATION_PARAMETER_DEFAULT_GATEWAY_MAC_ADDRESS 13 -#define IPMI_LAN_CONFIGURATION_PARAMETER_BACKUP_GATEWAY_ADDRESS 14 -#define IPMI_LAN_CONFIGURATION_PARAMETER_BACKUP_GATEWAY_MAC_ADDRESS 15 -#define IPMI_LAN_CONFIGURATION_PARAMETER_COMMUNITY_STRING 16 -#define IPMI_LAN_CONFIGURATION_PARAMETER_NUMBER_OF_DESTINATIONS 17 -#define IPMI_LAN_CONFIGURATION_PARAMETER_DESTINATION_TYPE 18 -#define IPMI_LAN_CONFIGURATION_PARAMETER_DESTINATION_ADDRESSES 19 -#define IPMI_LAN_CONFIGURATION_PARAMETER_VLAN_ID 20 -#define IPMI_LAN_CONFIGURATION_PARAMETER_VLAN_PRIORITY 21 -#define IPMI_LAN_CONFIGURATION_PARAMETER_RMCPPLUS_MESSAGING_CIPHER_SUITE_ENTRY_SUPPORT 22 -#define IPMI_LAN_CONFIGURATION_PARAMETER_RMCPPLUS_MESSAGING_CIPHER_SUITE_ENTRIES 23 -#define IPMI_LAN_CONFIGURATION_PARAMETER_RMCPPLUS_MESSAGING_CIPHER_SUITE_PRIVILEGE_LEVELS 24 -#define IPMI_LAN_CONFIGURATION_PARAMETER_DESTINATION_ADDRESS_VLAN_TAGS 25 -#define IPMI_LAN_CONFIGURATION_PARAMETER_BAD_PASSWORD_THRESHOLD 26 -#define IPMI_LAN_CONFIGURATION_PARAMETER_OEM_MIN 192 -#define IPMI_LAN_CONFIGURATION_PARAMETER_OEM_MAX 255 +#define IPMI_LAN_CONFIGURATION_PARAMETER_SET_IN_PROGRESS 0 +#define IPMI_LAN_CONFIGURATION_PARAMETER_AUTHENTICATION_TYPE_SUPPORT 1 +#define IPMI_LAN_CONFIGURATION_PARAMETER_AUTHENTICATION_TYPE_ENABLES 2 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IP_ADDRESS 3 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IP_ADDRESS_SOURCE 4 +#define IPMI_LAN_CONFIGURATION_PARAMETER_MAC_ADDRESS 5 +#define IPMI_LAN_CONFIGURATION_PARAMETER_SUBNET_MASK 6 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV4_HEADER_PARAMETERS 7 +#define IPMI_LAN_CONFIGURATION_PARAMETER_PRIMARY_RMCP_PORT_NUMBER 8 +#define IPMI_LAN_CONFIGURATION_PARAMETER_SECONDARY_RMCP_PORT_NUMBER 9 +#define IPMI_LAN_CONFIGURATION_PARAMETER_BMC_GENERATED_ARP_CONTROL 10 +#define IPMI_LAN_CONFIGURATION_PARAMETER_GRATUITOUS_ARP_INTERVAL 11 +#define IPMI_LAN_CONFIGURATION_PARAMETER_DEFAULT_GATEWAY_ADDRESS 12 +#define IPMI_LAN_CONFIGURATION_PARAMETER_DEFAULT_GATEWAY_MAC_ADDRESS 13 +#define IPMI_LAN_CONFIGURATION_PARAMETER_BACKUP_GATEWAY_ADDRESS 14 +#define IPMI_LAN_CONFIGURATION_PARAMETER_BACKUP_GATEWAY_MAC_ADDRESS 15 +#define IPMI_LAN_CONFIGURATION_PARAMETER_COMMUNITY_STRING 16 +#define IPMI_LAN_CONFIGURATION_PARAMETER_NUMBER_OF_DESTINATIONS 17 +#define IPMI_LAN_CONFIGURATION_PARAMETER_DESTINATION_TYPE 18 +#define IPMI_LAN_CONFIGURATION_PARAMETER_DESTINATION_ADDRESSES 19 +#define IPMI_LAN_CONFIGURATION_PARAMETER_VLAN_ID 20 +#define IPMI_LAN_CONFIGURATION_PARAMETER_VLAN_PRIORITY 21 +#define IPMI_LAN_CONFIGURATION_PARAMETER_RMCPPLUS_MESSAGING_CIPHER_SUITE_ENTRY_SUPPORT 22 +#define IPMI_LAN_CONFIGURATION_PARAMETER_RMCPPLUS_MESSAGING_CIPHER_SUITE_ENTRIES 23 +#define IPMI_LAN_CONFIGURATION_PARAMETER_RMCPPLUS_MESSAGING_CIPHER_SUITE_PRIVILEGE_LEVELS 24 +#define IPMI_LAN_CONFIGURATION_PARAMETER_DESTINATION_ADDRESS_VLAN_TAGS 25 +#define IPMI_LAN_CONFIGURATION_PARAMETER_BAD_PASSWORD_THRESHOLD 26 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_IPV4_SUPPORT 50 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_IPV4_ADDRESSING_ENABLES 51 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_HEADER_STATIC_TRAFFIC_CLASS 52 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_HEADER_STATIC_HOP_LIMIT 53 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_HEADER_FLOW_LABEL 54 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATUS 55 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ADDRESSES 56 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_STATIC_DUID_STORAGE_LENGTH 57 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_STATIC_DUIDS 58 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ADDRESS 59 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_DYNAMIC_DUID_STORAGE_LENGTH 60 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_DYNAMIC_DUIDS 61 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_TIMING_CONFIGURATION_SUPPORT 62 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DHCPV6_TIMING_AND_CONFIGURATION 63 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_ROUTER_ADDRESS_CONFIGURATION_CONTROL 64 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_1_IP_ADDRESS 65 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_1_MAC_ADDRESS 66 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_1_PREFIX_LENGTH 67 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_1_PREFIX_VALUE 68 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_2_IP_ADDRESS 69 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_2_MAC_ADDRESS 70 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_2_PREFIX_LENGTH 71 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_STATIC_ROUTER_2_PREFIX_VALUE 72 +#define IPMI_LAN_CONFIGURATION_PARAMETER_NUMBER_OF_DYNAMIC_ROUTER_INFO_SETS 73 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ROUTER_INFO_IP_ADDRESS 74 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ROUTER_INFO_MAC_ADDRESS 75 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ROUTER_INFO_PREFIX_LENGTH 76 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ROUTER_INFO_PREFIX_VALUE 77 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_DYNAMIC_ROUTER_RECEIVED_HOP_LIMIT 78 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_NEIGHBOR_DISCOVERY_SLAAC_TIMING_CONFIGURATION_SUPPORT 79 +#define IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_NEIGHBOR_DISCOVERY_SLAAC_TIMING_CONFIGURATION 80 +#define IPMI_LAN_CONFIGURATION_PARAMETER_OEM_MIN 192 +#define IPMI_LAN_CONFIGURATION_PARAMETER_OEM_MAX 255 /* To avoid gcc warnings, add +1 in comparison */ #define IPMI_LAN_CONFIGURATION_PARAMETER_SELECTOR_VALID(__parameter_selector) \ ((((__parameter_selector) + 1) > (IPMI_LAN_CONFIGURATION_PARAMETER_SET_IN_PROGRESS + 1) \ - && (__parameter_selector) <= IPMI_LAN_CONFIGURATION_PARAMETER_BAD_PASSWORD_THRESHOLD) ? 1 : 0) + && (__parameter_selector) <= IPMI_LAN_CONFIGURATION_PARAMETER_IPV6_NEIGHBOR_DISCOVERY_SLAAC_TIMING_CONFIGURATION) ? 1 : 0) /* To avoid gcc warnings, subtract -1 in comparison */ #define IPMI_LAN_CONFIGURATION_PARAMETER_SELECTOR_IS_OEM(__parameter_selector) \ diff --git a/libfreeipmi/include/freeipmi/templates/ipmi-lan-cmds-templates.h b/libfreeipmi/include/freeipmi/templates/ipmi-lan-cmds-templates.h index 83f982c68..e29093f52 100644 --- a/libfreeipmi/include/freeipmi/templates/ipmi-lan-cmds-templates.h +++ b/libfreeipmi/include/freeipmi/templates/ipmi-lan-cmds-templates.h @@ -755,6 +755,380 @@ FIID Template: tmpl_cmd_get_lan_configuration_parameters_bad_password_threshold_ { 16, "attempt_count_reset_interval", REQUIRED, LENGTH-FIXED } { 16, "user_lockout_interval", REQUIRED, LENGTH-FIXED } +Get LAN Configuration Parameters (IPv6 IPv4 Support) Response +------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_ipv4_support_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 1, "supports_ipv6_only", REQUIRED | LENGTH_FIXED}, + { 1, "supports_ipv6_and_ipv4_simultaneously", REQUIRED | LENGTH_FIXED}, + { 1, "supports_ipv6_destination_address_for_lan_alert", REQUIRED | LENGTH_FIXED}, + { 5, "reserved2", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 IPv4 Addressing Enables) Response +------------------------------------------------------------------------ + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_ipv4_addressing_enables_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "enables", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Header Static Traffic Class) Response +---------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_header_static_traffic_class_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "traffic_class", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Header Static Hop Limit) Response +------------------------------------------------------------------------ + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_header_static_hop_limit_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "static_hop_limit", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Header Flow Label) Response +------------------------------------------------------------------ + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_header_flow_label_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 20, "flow_label", REQUIRED | LENGTH_FIXED}, /* LS byte first */ + { 4, "reserved2", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Status) Response +------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_status_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "static_address_max", REQUIRED | LENGTH_FIXED}, + { 8, "dynamic_address_max", REQUIRED | LENGTH_FIXED}, + { 1, "dhcpv6_addressing_supported", REQUIRED | LENGTH_FIXED}, + { 1, "slaac_addressing_supported", REQUIRED | LENGTH_FIXED}, + { 6, "reserved2", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Static Addresses) Response +----------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_static_addresses_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "set_selector", REQUIRED | LENGTH_FIXED}, + { 4, "source", REQUIRED | LENGTH_FIXED}, + { 3, "reserved2", REQUIRED | LENGTH_FIXED}, + { 1, "enable", REQUIRED | LENGTH_FIXED}, + { 128, "address", REQUIRED | LENGTH_FIXED}, + { 8, "address_prefix_length", REQUIRED | LENGTH_FIXED}, + { 8, "address_status", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dhcpv6 Static Duid Storage Length) Response +---------------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duid_storage_length_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "maximum_blocks", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dhcpv6 Static Duids) Response +-------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_static_duids_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "set_selector", REQUIRED | LENGTH_FIXED}, + { 8, "block_selector", REQUIRED | LENGTH_FIXED}, + { 128, "duid", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dynamic Address) Response +---------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_address_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "set_selector", REQUIRED | LENGTH_FIXED}, + { 4, "source_type", REQUIRED | LENGTH_FIXED}, + { 4, "reserved2", REQUIRED | LENGTH_FIXED}, + { 128, "address", REQUIRED | LENGTH_FIXED}, + { 8, "address_prefix_length", REQUIRED | LENGTH_FIXED}, + { 8, "address_status", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dhcpv6 Dynamic Duid Storage Length) Response +----------------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duid_storage_length_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "maximum_blocks", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dhcpv6 Dynamic Duids) Response +--------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_dynamic_duids_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "set_selector", REQUIRED | LENGTH_FIXED}, + { 8, "block_selector", REQUIRED | LENGTH_FIXED}, + { 128, "duid", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dhcpv6 Timing Configuration Support) Response +------------------------------------------------------------------------------------ + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_configuration_support_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 2, "timing_configuration", REQUIRED | LENGTH_FIXED}, + { 6, "reserved2", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dhcpv6 Timing And Configuration) Response +-------------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dhcpv6_timing_and_configuration_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "set_selector", REQUIRED | LENGTH_FIXED}, + { 8, "block_selector", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Router Address Configuration Control) Response +------------------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_router_address_configuration_control_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 1, "enable_static_router_address", REQUIRED | LENGTH_FIXED}, + { 1, "enable_dynamic_router_address", REQUIRED | LENGTH_FIXED}, + { 6, "reserved2", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Static Router 1 IP Address) Response +--------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_ip_address_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 128, "ipv6_router_ip_address", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Static Router 1 Mac Address) Response +---------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_mac_address_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 48, "router_mac_address", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Static Router 1 Prefix Length) Response +------------------------------------------------------------------------------ + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_length_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "prefix_length", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Static Router 1 Prefix Value) Response +----------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_1_prefix_value_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 128, "prefix_value", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Static Router 2 IP Address) Response +--------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_ip_address_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 128, "ipv6_router_ip_address", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Static Router 2 Mac Address) Response +---------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_mac_address_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 48, "router_mac_address", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Static Router 2 Prefix Length) Response +------------------------------------------------------------------------------ + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_length_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "prefix_length", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Static Router 2 Prefix Value) Response +----------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_static_router_2_prefix_value_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 128, "prefix_value", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (Number Of Dynamic Router Info Sets) Response +------------------------------------------------------------------------------ + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_number_of_dynamic_router_info_sets_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "number_of_dynamic_router_address_information_entries", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dynamic Router Info IP Address) Response +------------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_ip_address_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "set_selector", REQUIRED | FIXED}, + { 128, "router_ip_address", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dynamic Router Info Mac Address) Response +-------------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_mac_address_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "set_selector", REQUIRED | FIXED}, + { 48, "router_mac_address", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dynamic Router Info Prefix Length) Response +---------------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_length_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "set_selector", REQUIRED | FIXED}, + { 8, "prefix_length", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dynamic Router Info Prefix Value) Response +--------------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_info_prefix_value_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "set_selector", REQUIRED | FIXED}, + { 128, "prefix_value", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Dynamic Router Received Hop Limit) Response +---------------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_dynamic_router_received_hop_limit_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "hop_limit", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Neighbor Discovery Slaac Timing Configuration Support) Response +------------------------------------------------------------------------------------------------------ + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration_support_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 2, "timing_configuration", REQUIRED | LENGTH_FIXED}, + { 6, "reserved2", REQUIRED | LENGTH_FIXED}, + +Get LAN Configuration Parameters (IPv6 Neighbor Discovery Slaac Timing Configuration) Response +---------------------------------------------------------------------------------------------- + +FIID Template: tmpl_cmd_get_lan_configuration_parameters_ipv6_neighbor_discovery_slaac_timing_configuration_rs + + { 8, "cmd", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 8, "comp_code", REQUIRED | LENGTH_FIXED | MAKES_PACKET_SUFFICIENT}, + { 4, "present_revision", REQUIRED | LENGTH_FIXED}, + { 4, "oldest_revision_parameter", REQUIRED | LENGTH_FIXED}, + { 8, "set_selector", REQUIRED | LENGTH_FIXED}, + { 8, "block_selector", REQUIRED | LENGTH_FIXED}, + Suspend BMC ARPs Request ------------------------