iPXE
mlx_nvconfig_defaults.h
Go to the documentation of this file.
00001 #ifndef MLX_NVCONFIG_DEFAULTS_H_
00002 #define MLX_NVCONFIG_DEFAULTS_H_
00003 
00004 /*
00005  * Copyright (C) 2015 Mellanox Technologies Ltd.
00006  *
00007  * This program is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU General Public License as
00009  * published by the Free Software Foundation; either version 2 of the
00010  * License, or any later version.
00011  *
00012  * This program is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU General Public License
00018  * along with this program; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00020  * 02110-1301, USA.
00021  */
00022 
00023 FILE_LICENCE ( GPL2_OR_LATER );
00024 #include "mlx_nvconfig_prm.h"
00025 /*
00026  * Default values
00027  */
00028 #define DEFAULT_FLEXBOOT_MENU_TO 4
00029 #define DEFAULT_MAX_VFS 8
00030 #define DEFAULT_BOOT_PROTOCOL 1
00031 #define DEFAULT_OPTION_ROM_EN 1
00032 #define DEFAULT_BOOT_VLAN 1
00033 #define DEFAULT_ISCSI_DHCP_PARAM_EN 1
00034 #define DEFAULT_ISCSI_IPV4_DHCP_EN 1
00035 #define DEFAULT_ISCSI_DRIVE_NUM 0x80
00036 #define DEFAULT_OCSD_OCBB_EN 1
00037 #define DEFAULT_BOOT_IP_VER 0
00038 #define DEFAULT_BOOT_LINK_UP_TO 0
00039 #define DEFAULT_BOOT_UNDI_NETWORK_WAIT_TO 30
00040 #define DEFAULT_BOOT_IP_VERSION_EN 1
00041 
00042 struct mlx_nvconfig_port_conf_defaults {
00043         mlx_uint8 pptx;
00044         mlx_uint8 pprx;
00045         mlx_boolean boot_option_rom_en;
00046         mlx_boolean boot_vlan_en;
00047         mlx_uint8 boot_retry_count;
00048         mlx_uint8 boot_protocol;
00049         mlx_uint8 boot_vlan;
00050         mlx_uint8 boot_pkey;
00051         mlx_boolean en_wol_magic;
00052         mlx_uint8 network_link_type;
00053         mlx_uint8 iscsi_boot_to_target;
00054         mlx_boolean iscsi_vlan_en;
00055         mlx_boolean iscsi_tcp_timestamps_en;
00056         mlx_boolean iscsi_chap_mutual_auth_en;
00057         mlx_boolean iscsi_chap_auth_en;
00058         mlx_boolean iscsi_dhcp_params_en;
00059         mlx_boolean iscsi_ipv4_dhcp_en;
00060         mlx_uint8 iscsi_lun_busy_retry_count;
00061         mlx_uint8 iscsi_link_up_delay_time;
00062         mlx_uint8 iscsi_drive_num;
00063         mlx_uint8 client_identifier;
00064         mlx_uint8 mac_admin_bit;
00065         mlx_uint8 default_link_type;
00066         mlx_uint8 linkup_timeout;
00067         mlx_uint8 ip_ver;
00068         mlx_uint8 undi_network_wait_to;
00069 };
00070 
00071 struct mlx_nvconfig_conf_defaults  {
00072         mlx_uint8 max_vfs;
00073         mlx_uint8 total_vfs;
00074         mlx_uint8 sriov_en;
00075         mlx_uint8 maximum_uar_bar_size;
00076         mlx_uint8 uar_bar_size;
00077         mlx_uint8 flexboot_menu_to;
00078         mlx_boolean ocsd_ocbb_en;
00079         mlx_boolean boot_ip_ver_en;
00080 };
00081 
00082 mlx_status
00083 nvconfig_read_port_default_values(
00084                 IN mlx_utils *utils,
00085                 IN mlx_uint8 port,
00086                 OUT struct mlx_nvconfig_port_conf_defaults *port_conf_def
00087                 );
00088 
00089 mlx_status
00090 nvconfig_read_general_default_values(
00091                 IN mlx_utils *utils,
00092                 OUT struct mlx_nvconfig_conf_defaults *conf_def
00093                 );
00094 
00095 mlx_status
00096 nvconfig_read_rom_ini_values(
00097                 IN mlx_utils *utils,
00098                 OUT struct mlx_nvcofnig_romini *rom_ini
00099                 );
00100 #endif /* MLX_NVCONFIG_DEFAULTS_H_ */