Merge branch 'bugfix/fix_wdt_trigger' into 'master'

Fix WDT trigger

See merge request sdk/ESP8266_RTOS_SDK!320
This commit is contained in:
Wu Jian Gang
2018-07-23 19:56:50 +08:00

View File

@ -1102,26 +1102,24 @@ esp_err_t tcpip_adapter_get_netif(tcpip_adapter_if_t tcpip_if, void ** netif)
struct netif* ip4_route_src_hook(const ip4_addr_t* dest, const ip4_addr_t* src) struct netif* ip4_route_src_hook(const ip4_addr_t* dest, const ip4_addr_t* src)
{ {
/* destination IP is broadcast IP? */ extern struct netif *netif_list;
if ((src != NULL) && (dest->addr == IPADDR_BROADCAST)) { struct netif *netif = NULL;
if (esp_netif[TCPIP_ADAPTER_IF_STA] != NULL
&& netif_is_up(esp_netif[TCPIP_ADAPTER_IF_STA])
&& netif_is_link_up(esp_netif[TCPIP_ADAPTER_IF_STA])
&& !ip4_addr_isany_val(*netif_ip4_addr(esp_netif[TCPIP_ADAPTER_IF_STA]))
&& ip4_addr_cmp(src, netif_ip4_addr(esp_netif[TCPIP_ADAPTER_IF_STA]))) {
return esp_netif[TCPIP_ADAPTER_IF_STA];
}
if (esp_netif[TCPIP_ADAPTER_IF_AP] != NULL /* destination IP is broadcast IP? */
&& netif_is_up(esp_netif[TCPIP_ADAPTER_IF_AP]) if ((src != NULL) && !ip4_addr_isany(src)) {
&& netif_is_link_up(esp_netif[TCPIP_ADAPTER_IF_AP]) /* iterate through netifs */
&& !ip4_addr_isany_val(*netif_ip4_addr(esp_netif[TCPIP_ADAPTER_IF_AP])) for (netif = netif_list; netif != NULL; netif = netif->next) {
&& ip4_addr_cmp(src, netif_ip4_addr(esp_netif[TCPIP_ADAPTER_IF_AP]))) { /* is the netif up, does it have a link and a valid address? */
return esp_netif[TCPIP_ADAPTER_IF_AP]; if (netif_is_up(netif) && netif_is_link_up(netif) && !ip4_addr_isany_val(*netif_ip4_addr(netif))) {
/* source IP matches? */
if (ip4_addr_cmp(src, netif_ip4_addr(netif))) {
/* return netif on which to forward IP packet */
return netif;
}
}
} }
} }
return netif;
return NULL;
} }
#endif /* CONFIG_TCPIP_LWIP */ #endif /* CONFIG_TCPIP_LWIP */