mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
fix(esp_netif): Fix PPP server to negotiate its own address is configured
Closes https://github.com/espressif/esp-protocols/issues/565
This commit is contained in:
parent
1572df3bb8
commit
99b0a765a8
@ -165,7 +165,7 @@ static void on_ppp_notify_phase(ppp_pcb *pcb, u8_t phase, void *ctx)
|
|||||||
#endif // PPP_NOTIFY_PHASE
|
#endif // PPP_NOTIFY_PHASE
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PPP low level output callback used to transmit data using standard esp-netif interafce
|
* @brief PPP low level output callback used to transmit data using standard esp-netif interface
|
||||||
*
|
*
|
||||||
* @param pcb PPP control block
|
* @param pcb PPP control block
|
||||||
* @param data Buffer to write to serial port
|
* @param data Buffer to write to serial port
|
||||||
@ -255,6 +255,10 @@ esp_err_t esp_netif_start_ppp(esp_netif_t *esp_netif)
|
|||||||
// Set our preferred address, and accept the remote
|
// Set our preferred address, and accept the remote
|
||||||
ppp_ctx->ppp->ipcp_wantoptions.ouraddr = ppp_ctx->ppp_our_ip4_addr.addr;
|
ppp_ctx->ppp->ipcp_wantoptions.ouraddr = ppp_ctx->ppp_our_ip4_addr.addr;
|
||||||
ppp_ctx->ppp->ipcp_wantoptions.accept_remote = 1;
|
ppp_ctx->ppp->ipcp_wantoptions.accept_remote = 1;
|
||||||
|
ppp_ctx->ppp->ask_for_local = 1; /* `ask_for_local` option in the lwip's pcb is `0` by default and causes
|
||||||
|
* the initial negotiation IPCP request to reset our own address to '0.0.0.0'.
|
||||||
|
* https://github.com/lwip-tcpip/lwip/blob/1cc1536e/src/netif/ppp/ipcp.c#L728-L729
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
if (ppp_ctx->ppp_their_ip4_addr.addr != IPADDR_ANY) {
|
if (ppp_ctx->ppp_their_ip4_addr.addr != IPADDR_ANY) {
|
||||||
// Set their preferred address, and accept the local
|
// Set their preferred address, and accept the local
|
||||||
|
Loading…
Reference in New Issue
Block a user