Skip to content

Commit 8cfeae1

Browse files
david-cermakespressif-bot
authored andcommitted
esp_netif: Remove restarting DHCP client and server if it has already been started
To be in line with previous behaviour in tcpip_adapter, do nothing and return appropriate error if the DHCP client/server has already been started
1 parent ef32802 commit 8cfeae1

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

components/esp_netif/lwip/esp_netif_lwip.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -950,6 +950,11 @@ static esp_err_t esp_netif_dhcpc_start_api(esp_netif_api_msg_t *msg)
950950
return ESP_ERR_INVALID_ARG;
951951
}
952952

953+
if (esp_netif->dhcpc_status == ESP_NETIF_DHCP_STARTED) {
954+
ESP_LOGD(TAG, "dhcp client already started");
955+
return ESP_ERR_ESP_NETIF_DHCP_ALREADY_STARTED;
956+
}
957+
953958
struct netif *p_netif = esp_netif->lwip_netif;
954959

955960
esp_netif_reset_ip_info(esp_netif);
@@ -1019,6 +1024,11 @@ static esp_err_t esp_netif_dhcps_start_api(esp_netif_api_msg_t *msg)
10191024
return ESP_ERR_INVALID_ARG;
10201025
}
10211026

1027+
if (esp_netif->dhcps_status == ESP_NETIF_DHCP_STARTED) {
1028+
ESP_LOGD(TAG, "dhcp server already started");
1029+
return ESP_ERR_ESP_NETIF_DHCP_ALREADY_STARTED;
1030+
}
1031+
10221032
struct netif *p_netif = esp_netif->lwip_netif;
10231033
if (p_netif != NULL && netif_is_up(p_netif)) {
10241034
esp_netif_ip_info_t *default_ip = esp_netif->ip_info;

0 commit comments

Comments
 (0)