#include #include #include #include #include "bmc-conf-checkout.h" u_int16_t get_sms_io_base () { return IPMI_KCS_SMS_IO_BASE_SR870BN4; } int kcs_bmc_lan_get_arp_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; u_int64_t val; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_bmc_generated_arp_control_rs)); status = ipmi_lan_get_arp (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_arp: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_arp"); return (-1); } fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_bmc_generated_arp_control_rs, "bmc_generated_gratuitous_arps_flag", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "bmc_generated_gratuitous_arps_flag", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_bmc_generated_arp_control_rs, "bmc_generated_arp_responses_flag", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "bmc_generated_arp_responses_flag", (int) val); return (0); } int kcs_lan_get_gratuitous_arp_interval_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; u_int64_t val; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_gratuitous_arp_interval_rs)); status = ipmi_lan_get_gratuitous_arp_interval (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_gratuitous_arp_interval: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_gratuitous_arp_interval"); return (-1); } fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_gratuitous_arp_interval_rs, "gratuitous_arp_interval", &val); fprintf (fp, "%s %u\n\n", "gratuitous_arp_interval", (u_int8_t) val); return (0); } int kcs_lan_get_auth_type_enables_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; u_int64_t val; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_auth_type_enables_rs)); status = ipmi_lan_get_auth_type_enables (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_auth_type_enables: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_auth_type_enables"); return (-1); } fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_callback_level.none", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_callback_level.none", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_callback_level.md2", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_callback_level.md2", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_callback_level.md5", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_callback_level.md5", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_callback_level.straight_password", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_callback_level.straight_password", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_callback_level.oem_proprietary", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_callback_level.oem_proprietary", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_user_level.none", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_user_level.none", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_user_level.md2", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_user_level.md2", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_user_level.md5", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_user_level.md5", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_user_level.straight_password", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_user_level.straight_password", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_user_level.oem_proprietary", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_user_level.oem_proprietary", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_operator_level.none", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_operator_level.none", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_operator_level.md2", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_operator_level.md2", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_operator_level.md5", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_operator_level.md5", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_operator_level.straight_password", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_operator_level.straight_password", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_operator_level.oem_proprietary", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_operator_level.oem_proprietary", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_admin_level.none", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_admin_level.none", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_admin_level.md2", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_admin_level.md2", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_admin_level.md5", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_admin_level.md5", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_admin_level.straight_password", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_admin_level.straight_password", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_admin_level.oem_proprietary", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_admin_level.oem_proprietary", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_oem_level.none", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_oem_level.none", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_oem_level.md2", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_oem_level.md2", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_oem_level.md5", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_oem_level.md5", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_oem_level.straight_password", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_oem_level.straight_password", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_auth_type_enables_rs, "max_privilege_auth_type_oem_level.oem_proprietary", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "max_privilege_auth_type_oem_level.oem_proprietary", (int) val); return (0); } int kcs_lan_get_ip_addr_source_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; u_int64_t val; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_ip_addr_source_rs)); status = ipmi_lan_get_ip_addr_source (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_ip_addr_source: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_ip_addr_source"); return (-1); } fprintf (fp, "### values: Unspecified = 0, static address (manually configured) = 1, \n" "### Address obtained by BMC running DHCP = 2, address loaded by BIOS or system software = 3, \n" "### Address obtained by BMC running other address assignment protocol = 4\n"); fiid_obj_get (obj_data_rs, tmpl_get_lan_conf_param_ip_addr_source_rs, "ip_addr_source", &val); fprintf (fp, "%s %u\n\n", "ip_addr_source", (u_int8_t) val); return (0); } int kcs_lan_get_ip_addr_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_ip_addr_rs)); status = ipmi_lan_get_ip_addr (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_ip_addr: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_ip_addr"); return (-1); } fprintf (fp, "%s %u.%u.%u.%u\n\n", "ip_addr", obj_data_rs[3], obj_data_rs[4], obj_data_rs[5], obj_data_rs[6]); return (0); } int kcs_lan_get_gw1_ip_addr_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_gw_ip_addr_rs)); status = ipmi_lan_get_gw1_ip_addr (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_gw1_ip_addr: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_gw1_ip_addr"); return (-1); } fprintf (fp, "gw1_%s %u.%u.%u.%u\n\n", "ip_addr", obj_data_rs[3], obj_data_rs[4], obj_data_rs[5], obj_data_rs[6]); return (0); } int kcs_lan_get_gw2_ip_addr_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_gw_ip_addr_rs)); status = ipmi_lan_get_gw2_ip_addr (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_gw2_ip_addr: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_gw2_ip_addr"); return (-1); } fprintf (fp, "gw2_%s %u.%u.%u.%u\n\n", "ip_addr", obj_data_rs[3], obj_data_rs[4], obj_data_rs[5], obj_data_rs[6]); return (0); } int kcs_lan_get_subnet_mask_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_subnet_mask_rs)); status = ipmi_lan_get_subnet_mask (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_subnet_mask: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_subnet_mask"); return (-1); } fprintf (fp, "%s %u.%u.%u.%u\n\n", "subnet_mask", obj_data_rs[3], obj_data_rs[4], obj_data_rs[5], obj_data_rs[6]); return (0); } int kcs_lan_get_mac_addr_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_mac_addr_rs)); status = ipmi_lan_get_mac_addr (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_mac_addr: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_mac_addr"); return (-1); } fprintf (fp, "%s %02X:%02X:%02X:%02X:%02X:%02X\n\n", "mac_addr", obj_data_rs[3], obj_data_rs[4], obj_data_rs[5], obj_data_rs[6], obj_data_rs[7], obj_data_rs[8]); return (0); } int kcs_lan_get_gw1_mac_addr_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_mac_addr_rs)); status = ipmi_lan_get_gw1_mac_addr (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_gw1_mac_addr: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_gw1_mac_addr"); return (-1); } fprintf (fp, "gw1_%s %02X:%02X:%02X:%02X:%02X:%02X\n\n", "mac_addr", obj_data_rs[3], obj_data_rs[4], obj_data_rs[5], obj_data_rs[6], obj_data_rs[7], obj_data_rs[8]); return (0); } int kcs_lan_get_gw2_mac_addr_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_lan_conf_param_mac_addr_rs)); status = ipmi_lan_get_gw2_mac_addr (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_LAN_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_lan_get_gw2_mac_addr: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_lan_get_gw2_mac_addr"); return (-1); } fprintf (fp, "gw2_%s %02X:%02X:%02X:%02X:%02X:%02X\n\n", "mac_addr", obj_data_rs[3], obj_data_rs[4], obj_data_rs[5], obj_data_rs[6], obj_data_rs[7], obj_data_rs[8]); return (0); } int get_user_name_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; int user_id; int j; for (user_id = 1; user_id <= 4; user_id++) { obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_user_name_rs)); status = ipmi_kcs_get_user_name (get_sms_io_base (), user_id, obj_hdr_rs, obj_data_rs); if (user_id == 1) { fprintf (fp, "### user_name1 should always be NULL\n"); fprintf (fp, "# %s%d ", "user_name", user_id); } else fprintf (fp, "%s%d ", "user_name", user_id); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_kcs_get_user_name: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); } else if (status != 0) { perror ("ipmi_kcs_get_user_name"); } else { if (user_id == 1) fprintf (fp, "NULL"); else { for (j = 0; obj_data_rs[j + 2] && j < 16; j++) fprintf (fp, "%c", obj_data_rs[j + 2]); } fprintf (fp, "\n\n"); } } return (0); } int get_user_password_checkout (FILE *fp) { fprintf (fp, "### User must give password here\n"); fprintf (fp, "### Empty password is accepted.\n"); fprintf (fp, "%s-password %s\n", "user1", "cdc"); fprintf (fp, "%s-password %s\n", "user2", ""); fprintf (fp, "%s-password %s\n", "user3", ""); fprintf (fp, "%s-password %s\n", "user4", ""); fprintf (fp, "\n"); return (0); } int get_user_access_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; int user_id; u_int64_t val; for (user_id = 1; user_id <= 4; user_id++) { obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_user_access_rs)); status = ipmi_kcs_get_user_access (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, user_id, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_kcs_get_user_access: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); status = -1; } fprintf (fp, "### user access %d\n", user_id); fprintf (fp, "# %s %d\n", "user_id", user_id); fprintf (fp, "### values: Reserved = 0, Callback = 1, User = 2, Operator = 3, \n" "### Administrator = 4, OEM properitary = 5, No access = F\n"); fiid_obj_get (obj_data_rs, tmpl_get_user_access_rs, "user_privilege_level_limit", &val); fprintf (fp, "%s %u\n", "user_privilege_level_limit", (u_int8_t) val); fprintf (fp, "### values: Disable = 0, Enable = 1\n"); fiid_obj_get (obj_data_rs, tmpl_get_user_access_rs, "user_flags.enable_ipmi_msgs", &val); fprintf (fp, "%s %u\n", "user_flags.enable_ipmi_msgs", (u_int8_t) val); fprintf (fp, "### values: Disable = 0, Enable = 1\n"); fiid_obj_get (obj_data_rs, tmpl_get_user_access_rs, "user_flags.enable_link_auth", &val); fprintf (fp, "%s %u\n", "user_flags.enable_link_auth", (u_int8_t) val); fprintf (fp, "### values: Disable = 0, Enable = 1\n"); fiid_obj_get (obj_data_rs, tmpl_get_user_access_rs, "user_flags.restrict_to_callback", &val); fprintf (fp, "%s %u\n", "user_flags.restrict_to_callback", (u_int8_t) val); fprintf (fp, "\n"); } return (0); } int get_channel_access_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; u_int64_t val; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_channel_access_rs)); fprintf (fp, "### channel access: Non-volatile\n"); status = ipmi_kcs_get_channel_access (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_CHANNEL_ACCESS_GET_NON_VOLATILE, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_kcs_get_channel_access: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_kcs_get_channel_access"); return (-1); } fiid_obj_get (obj_data_rs, tmpl_get_channel_access_rs, "ipmi_messaging_access_mode", &val); fprintf (fp, "### values: Diabled = 0, Pre-boot = 1, Always available = 2, Shared = 3\n"); fprintf (fp, "%s %d\n\n", "ipmi_messaging_access_mode", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_channel_access_rs, "user_level_authentication", &val); fprintf (fp, "### values: Enable = 0, Disable = 1\n"); fprintf (fp, "%s %d\n\n", "user_level_authentication", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_channel_access_rs, "per_message_authentication", &val); fprintf (fp, "### values: Enable = 0, Disable = 1\n"); fprintf (fp, "%s %d\n\n", "per_message_authentication", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_channel_access_rs, "pef_alerting", &val); fprintf (fp, "### values: Enable = 0, Disable = 1\n"); fprintf (fp, "%s %d\n\n", "pef_alerting", (int) val); fprintf (fp, "### values: Reserved = 0, Callback = 1, User = 2, Operator = 3, \n" "### Administrator = 4, OEM properitary = 5\n"); fiid_obj_get (obj_data_rs, tmpl_get_channel_access_rs, "channel_privilege_level_limit", &val); fprintf (fp, "%s %u\n\n", "channel_privilege_level_limit", (u_int8_t) val); fprintf (fp, "### channel access: Volatile\n"); status = ipmi_kcs_get_channel_access (get_sms_io_base (), BMC_LAN_CHANNEL_NUMBER, IPMI_CHANNEL_ACCESS_GET_VOLATILE, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_kcs_get_channel_access: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_kcs_get_channel_access"); return (-1); } fiid_obj_get (obj_data_rs, tmpl_get_channel_access_rs, "ipmi_messaging_access_mode", &val); fprintf (fp, "### values: Diabled = 0, Pre-boot = 1, Always available = 2, Shared = 3\n"); fprintf (fp, "%s %d\n\n", "ipmi_messaging_access_mode", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_channel_access_rs, "user_level_authentication", &val); fprintf (fp, "### values: Enable = 0, Disable = 1\n"); fprintf (fp, "%s %d\n\n", "user_level_authentication", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_channel_access_rs, "per_message_authentication", &val); fprintf (fp, "### values: Enable = 0, Disable = 1\n"); fprintf (fp, "%s %d\n\n", "per_message_authentication", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_channel_access_rs, "pef_alerting", &val); fprintf (fp, "### values: Enable = 0, Disable = 1\n"); fprintf (fp, "%s %d\n\n", "pef_alerting", (int) val); fprintf (fp, "### values: Reserved = 0, Callback = 1, User = 2, Operator = 3, \n" "### Administrator = 4, OEM properitary = 5\n"); fiid_obj_get (obj_data_rs, tmpl_get_channel_access_rs, "channel_privilege_level_limit", &val); fprintf (fp, "%s %u\n\n", "channel_privilege_level_limit", (u_int8_t) val); return (0); } int get_serial_connmode_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; u_int64_t val; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_serial_conf_param_connmode_rs)); status = ipmi_get_serial_connmode (get_sms_io_base (), BMC_SERIAL_CHANNEL_NUMBER, IPMI_SERIAL_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_get_serial_connmode: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_get_serial_connmode"); return (-1); } fiid_obj_get (obj_data_rs, tmpl_get_serial_conf_param_connmode_rs, "basic_mode_enable", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "basic_mode", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_serial_conf_param_connmode_rs, "ppp_mode_enable", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "ppp_mode", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_serial_conf_param_connmode_rs, "terminal_mode_enable", &val); fprintf (fp, "### values: enable = 1, disable = 0\n"); fprintf (fp, "%s %d\n\n", "terminal_mode", (int) val); fiid_obj_get (obj_data_rs, tmpl_get_serial_conf_param_connmode_rs, "direct", &val); fprintf (fp, "### values: direct connect mode = 1, modem connect mode = 0\n"); fprintf (fp, "%s %d\n\n", "direct_mode", (int) val); return (0); } int get_serial_page_blackout_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; u_int64_t val; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_serial_conf_param_pageblackout_rs)); status = ipmi_get_serial_page_blackout (get_sms_io_base (), BMC_SERIAL_CHANNEL_NUMBER, IPMI_SERIAL_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_get_serial_page_blackout: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_get_serial_page_blackout"); return (-1); } fiid_obj_get (obj_data_rs, tmpl_get_serial_conf_param_pageblackout_rs, "page_blackout_interval", &val); fprintf (fp, "%s %d\n\n", "page_blackout_interval", (int) val); return (0); } int get_serial_retry_time_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; u_int64_t val; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_serial_conf_param_retry_rs)); status = ipmi_get_serial_retry_time (get_sms_io_base (), BMC_SERIAL_CHANNEL_NUMBER, IPMI_SERIAL_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: ipmi_get_serial_retry_time: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_get_serial_retry_time"); return (-1); } fiid_obj_get (obj_data_rs, tmpl_get_serial_conf_param_retry_rs, "page_blackout_interval", &val); fprintf (fp, "%s %d\n\n", "retry_time", (int) val); return (0); } int get_serial_comm_bits_checkout (FILE *fp) { u_int8_t status; fiid_obj_t obj_hdr_rs; fiid_obj_t obj_data_rs; u_int64_t val; obj_hdr_rs = alloca (fiid_obj_len_bytes (tmpl_hdr_kcs)); obj_data_rs = alloca (fiid_obj_len_bytes (tmpl_get_serial_conf_param_commbits_rs)); status = ipmi_get_serial_comm_bits (get_sms_io_base (), BMC_SERIAL_CHANNEL_NUMBER, IPMI_SERIAL_CONF_GET_PARAMETER, SET_SELECTOR, BLOCK_SELECTOR, obj_hdr_rs, obj_data_rs); if (IPMI_COMP_CODE (obj_data_rs) != IPMI_COMMAND_SUCCESS) { char err_msg[IPMI_ERR_STR_MAX_LEN]; ipmi_strerror_r (obj_data_rs, err_msg, IPMI_ERR_STR_MAX_LEN); fprintf (stderr, "error: tmpl_get_serial_conf_param_commbits_rs: %d: %s\n", IPMI_COMP_CODE(obj_data_rs), err_msg); return (-1); } if (status != 0) { perror ("ipmi_get_serial_comm_bits"); return (-1); } fprintf (fp, "### values: enable = 1, disable = 0\n"); fiid_obj_get (obj_data_rs, tmpl_get_serial_conf_param_commbits_rs, "dtr_hangup", &val); fprintf (fp, "%s %d\n\n", "dtr_hangup", (int) val); fprintf (fp, "### values: No flowcontrol = 0, RTS/CTS flow control (a.k.a. hardware handshake) = 1, \n" "### XON/XOFF flow control = 2\n"); fiid_obj_get (obj_data_rs, tmpl_get_serial_conf_param_commbits_rs, "flow_control", &val); fprintf (fp, "%s %d\n\n", "flow_control", (int) val); fprintf (fp, "### values: 9600 bps = 6, 19.2 kbps = 7, 38.4 kbps = 8, 57.6 kbps = 9, 115.2 kbps = 10\n"); fiid_obj_get (obj_data_rs, tmpl_get_serial_conf_param_commbits_rs, "bit_rate", &val); fprintf (fp, "%s %d\n\n", "bit_rate", (int) val); return (0); } int main () { ipmi_kcs_io_init (get_sms_io_base(), 2); fprintf (stdout, "#############################################################################\n"); fprintf (stdout, "## CAUTION: ##\n"); fprintf (stdout, "## - Any lines starting with '#' or empty lines are ignored. ##\n"); fprintf (stdout, "## - Do not delete or comment any of the existing configuration options. ##\n"); fprintf (stdout, "## - Do not change the sequence of configuration oprtions ##\n"); fprintf (stdout, "#############################################################################\n"); kcs_bmc_lan_get_arp_checkout (stdout); kcs_lan_get_gratuitous_arp_interval_checkout (stdout); kcs_lan_get_auth_type_enables_checkout (stdout); kcs_lan_get_ip_addr_source_checkout (stdout); kcs_lan_get_ip_addr_checkout (stdout); kcs_lan_get_gw1_ip_addr_checkout (stdout); kcs_lan_get_gw2_ip_addr_checkout (stdout); kcs_lan_get_subnet_mask_checkout (stdout); kcs_lan_get_mac_addr_checkout (stdout); kcs_lan_get_gw1_mac_addr_checkout (stdout); kcs_lan_get_gw2_mac_addr_checkout (stdout); get_user_name_checkout (stdout); get_user_password_checkout (stdout); get_user_access_checkout (stdout); get_channel_access_checkout (stdout); get_serial_connmode_checkout (stdout); get_serial_page_blackout_checkout (stdout); get_serial_retry_time_checkout (stdout); get_serial_comm_bits_checkout (stdout); return 0; }