qcacld-3.0: Refactor ini CFG_DHCP_SERVER_IP_NAME
Refactor ini CFG_DHCP_SERVER_IP_NAME to hdd config file Change-Id: Iabaae01d3abfdada8a68606627cd96f959d05b07
Этот коммит содержится в:

коммит произвёл
nshrivas

родитель
f6601c3858
Коммит
566c81ba4d
@@ -517,6 +517,33 @@ enum hdd_dot11_mode {
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Default Operating Channel")
|
||||
|
||||
#ifdef DHCP_SERVER_OFFLOAD
|
||||
#define IPADDR_NUM_ENTRIES (4)
|
||||
#define IPADDR_STRING_LENGTH (16)
|
||||
#define CFG_DHCP_SERVER_IP_DEFAULT ""
|
||||
|
||||
/*
|
||||
* struct wlan_mlme_chainmask - All chainmask related cfg items
|
||||
* @dhcpServerIP: Dhcp server IP address
|
||||
* @is_dhcp_server_ip_valid: is dhcp server valid
|
||||
*/
|
||||
struct dhcp_server {
|
||||
uint8_t dhcp_server_ip[IPADDR_NUM_ENTRIES];
|
||||
bool is_dhcp_server_ip_valid;
|
||||
}
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gDHCPServerIP - Dhcp server Ip name
|
||||
* @Default:
|
||||
*
|
||||
* This ini is used to give the DHCP IP server name
|
||||
*/
|
||||
#define CFG_DHCP_SERVER_IP_NAME \
|
||||
CFG_INI_STRING("gDHCPServerIP", \
|
||||
0, IPADDR_STRING_LENGTH, CFG_DHCP_SERVER_IP_DEFAULT, "DHCP Server IP")
|
||||
#endif /* DHCP_SERVER_OFFLOAD */
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gNumVdevs - max number of VDEVs supported
|
||||
|
@@ -47,11 +47,6 @@ struct hdd_context;
|
||||
#define FW_MODULE_LOG_LEVEL_STRING_LENGTH (512)
|
||||
#define TX_SCHED_WRR_PARAMS_NUM (5)
|
||||
|
||||
#ifdef DHCP_SERVER_OFFLOAD
|
||||
#define IPADDR_NUM_ENTRIES (4)
|
||||
#define IPADDR_STRING_LENGTH (16)
|
||||
#endif
|
||||
|
||||
/* Number of items that can be configured */
|
||||
#define MAX_CFG_INI_ITEMS 1024
|
||||
|
||||
@@ -103,11 +98,6 @@ struct hdd_context;
|
||||
#define CFG_ENABLE_SNR_MONITORING_MAX (1)
|
||||
#define CFG_ENABLE_SNR_MONITORING_DEFAULT (0)
|
||||
|
||||
#ifdef DHCP_SERVER_OFFLOAD
|
||||
#define CFG_DHCP_SERVER_IP_NAME "gDHCPServerIP"
|
||||
#define CFG_DHCP_SERVER_IP_DEFAULT ""
|
||||
#endif /* DHCP_SERVER_OFFLOAD */
|
||||
|
||||
#ifdef CONFIG_DP_TRACE
|
||||
/* Max length of gDptraceConfig string. e.g.- "1, 6, 1, 62" */
|
||||
#define DP_TRACE_CONFIG_STRING_LENGTH (20)
|
||||
@@ -176,7 +166,7 @@ struct hdd_config {
|
||||
bool fEnableSNRMonitoring;
|
||||
bool advertiseConcurrentOperation;
|
||||
#ifdef DHCP_SERVER_OFFLOAD
|
||||
uint8_t dhcpServerIP[IPADDR_STRING_LENGTH];
|
||||
struct dhcp_server dhcp_server_ip;
|
||||
#endif /* DHCP_SERVER_OFFLOAD */
|
||||
bool apf_enabled;
|
||||
uint16_t sap_tx_leakage_threshold;
|
||||
|
@@ -62,14 +62,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_ENABLE_SNR_MONITORING_DEFAULT,
|
||||
CFG_ENABLE_SNR_MONITORING_MIN,
|
||||
CFG_ENABLE_SNR_MONITORING_MAX),
|
||||
|
||||
#ifdef DHCP_SERVER_OFFLOAD
|
||||
REG_VARIABLE_STRING(CFG_DHCP_SERVER_IP_NAME, WLAN_PARAM_String,
|
||||
struct hdd_config, dhcpServerIP,
|
||||
VAR_FLAGS_OPTIONAL,
|
||||
(void *)CFG_DHCP_SERVER_IP_DEFAULT),
|
||||
#endif /* DHCP_SERVER_OFFLOAD */
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@@ -4721,13 +4721,17 @@ static void wlan_hdd_set_dhcp_server_offload(struct hdd_adapter *adapter)
|
||||
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||
struct dhcp_offload_info_params dhcp_srv_info;
|
||||
uint8_t num_entries = 0;
|
||||
uint8_t srv_ip[IPADDR_NUM_ENTRIES];
|
||||
uint8_t *srv_ip;
|
||||
uint8_t num;
|
||||
uint32_t temp;
|
||||
uint32_t dhcp_max_num_clients;
|
||||
mac_handle_t mac_handle;
|
||||
QDF_STATUS status;
|
||||
|
||||
if (!hdd_ctx->config->dhcp_server_ip.is_dhcp_server_ip_valid)
|
||||
return;
|
||||
|
||||
srv_ip = hdd_ctx->config->dhcp_server_ip.dhcp_server_ip;
|
||||
dhcp_srv_info.vdev_id = adapter->vdev_id;
|
||||
dhcp_srv_info.dhcp_offload_enabled = true;
|
||||
|
||||
@@ -4737,23 +4741,16 @@ static void wlan_hdd_set_dhcp_server_offload(struct hdd_adapter *adapter)
|
||||
return;
|
||||
|
||||
dhcp_srv_info.dhcp_client_num = dhcp_max_num_clients;
|
||||
hdd_string_to_u8_array(hdd_ctx->config->dhcpServerIP,
|
||||
srv_ip, &num_entries, IPADDR_NUM_ENTRIES);
|
||||
if (num_entries != IPADDR_NUM_ENTRIES) {
|
||||
hdd_err("Incorrect IP address (%s) assigned for DHCP server!",
|
||||
hdd_ctx->config->dhcpServerIP);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((srv_ip[0] >= 224) && (srv_ip[0] <= 239)) {
|
||||
hdd_err("Invalid IP address (%s)! It could NOT be multicast IP address!",
|
||||
hdd_ctx->config->dhcpServerIP);
|
||||
hdd_err("Invalid IP address (%d)! It could NOT be multicast IP address!",
|
||||
srv_ip[0]);
|
||||
return;
|
||||
}
|
||||
|
||||
if (srv_ip[IPADDR_NUM_ENTRIES - 1] >= 100) {
|
||||
hdd_err("Invalid IP address (%s)! The last field must be less than 100!",
|
||||
hdd_ctx->config->dhcpServerIP);
|
||||
hdd_err("Invalid IP address (%d)! The last field must be less than 100!",
|
||||
srv_ip[IPADDR_NUM_ENTRIES - 1]);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -9448,6 +9448,30 @@ static void hdd_init_vc_mode_cfg_bitmap(struct hdd_config *config,
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef DHCP_SERVER_OFFLOAD
|
||||
static void
|
||||
hdd_init_dhcp_server_ip(struct hdd_context *hdd_ctx)
|
||||
{
|
||||
uint8_t num_entries;
|
||||
|
||||
hdd_ctx->config->dhcp_server_ip.is_dhcp_server_ip_valid = true;
|
||||
hdd_string_to_u8_array(cfg_get(hdd_ctx->psoc, CFG_DHCP_SERVER_IP_NAME),
|
||||
hdd_ctx->config->dhcp_server_ip.dhcp_server_ip,
|
||||
&num_entries, IPADDR_NUM_ENTRIES);
|
||||
|
||||
if (num_entries != IPADDR_NUM_ENTRIES) {
|
||||
hdd_err("Incorrect IP address (%s) assigned for DHCP server!",
|
||||
cfg_get(hdd_ctx->psoc, CFG_DHCP_SERVER_IP_NAME));
|
||||
hdd_config->dhcp_server_ip.is_dhcp_server_ip_valid = false;
|
||||
}
|
||||
}
|
||||
#else
|
||||
static void
|
||||
hdd_init_dhcp_server_ip(struct hdd_context *hdd_ctx)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* hdd_cfg_params_init() - Initialize hdd params in hdd_config strucuture
|
||||
* @hdd_ctx - Pointer to HDD context
|
||||
@@ -9535,6 +9559,7 @@ static void hdd_cfg_params_init(struct hdd_context *hdd_ctx)
|
||||
hdd_init_wlan_logging_params(config, psoc);
|
||||
hdd_init_packet_log(config, psoc);
|
||||
hdd_init_mtrace_log(config, psoc);
|
||||
hdd_init_dhcp_server_ip(hdd_ctx);
|
||||
hdd_dp_cfg_update(psoc, hdd_ctx);
|
||||
}
|
||||
|
||||
|
Ссылка в новой задаче
Block a user