|
|
@@ -140,6 +140,8 @@ static esp_netif_t* esp_netif_is_active(esp_netif_t *arg)
|
|
|
* @brief This function sets default netif no matter which implementation used
|
|
|
*
|
|
|
* @param esp_netif handle to network interface
|
|
|
+ *
|
|
|
+ * @note: This function must be called from lwip thread
|
|
|
*/
|
|
|
static void esp_netif_set_default_netif(esp_netif_t *esp_netif)
|
|
|
{
|
|
|
@@ -151,14 +153,17 @@ static void esp_netif_set_default_netif(esp_netif_t *esp_netif)
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * @brief This function sets default routing netif based on priorities of all interfaces which are up
|
|
|
- * @param esp_netif current interface which just updated state
|
|
|
- * @param action updating action (on-off)
|
|
|
- *
|
|
|
- * @note: This function must be called from lwip thread
|
|
|
+ * @brief tcpip thread version of esp_netif_update_default_netif
|
|
|
*
|
|
|
+ * @note This function and all functions called from this must be called from lwip task context
|
|
|
*/
|
|
|
-static void esp_netif_update_default_netif(esp_netif_t *esp_netif, esp_netif_action_t action) {
|
|
|
+static esp_err_t esp_netif_update_default_netif_lwip(esp_netif_api_msg_t *msg)
|
|
|
+{
|
|
|
+ esp_netif_t *esp_netif = msg->esp_netif;
|
|
|
+ esp_netif_action_t action = (esp_netif_action_t)msg->data;
|
|
|
+
|
|
|
+ ESP_LOGD(TAG, "%s %p", __func__, esp_netif);
|
|
|
+
|
|
|
switch (action) {
|
|
|
case ESP_NETIF_STARTED:
|
|
|
{
|
|
|
@@ -200,6 +205,18 @@ static void esp_netif_update_default_netif(esp_netif_t *esp_netif, esp_netif_act
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
+ return ESP_OK;
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @brief This function sets default routing netif based on priorities of all interfaces which are up
|
|
|
+ *
|
|
|
+ * @param esp_netif current interface which just updated state
|
|
|
+ * @param action updating action (on-off)
|
|
|
+ */
|
|
|
+static esp_err_t esp_netif_update_default_netif(esp_netif_t *esp_netif, esp_netif_action_t action)
|
|
|
+{
|
|
|
+ return esp_netif_lwip_ipc_call(esp_netif_update_default_netif_lwip, esp_netif, (void*)action);
|
|
|
}
|
|
|
|
|
|
void esp_netif_set_ip4_addr(esp_ip4_addr_t *addr, uint8_t a, uint8_t b, uint8_t c, uint8_t d)
|