mirror of
https://git.savannah.nongnu.org/git/lwip.git
synced 2025-08-04 13:34:38 +08:00
netif: add IPV4_ADDR_VALID ext status callback reason
This ext-callback reason is always issued when an IPv4 config has been set, even if it has not changed (e.g. DHCP reboot) See bug #55121
This commit is contained in:
parent
bb31fbd737
commit
8a8058a436
@ -739,6 +739,12 @@ netif_set_addr(struct netif *netif, const ip4_addr_t *ipaddr, const ip4_addr_t *
|
|||||||
#if LWIP_NETIF_EXT_STATUS_CALLBACK
|
#if LWIP_NETIF_EXT_STATUS_CALLBACK
|
||||||
if (change_reason != LWIP_NSC_NONE) {
|
if (change_reason != LWIP_NSC_NONE) {
|
||||||
change_reason |= LWIP_NSC_IPV4_SETTINGS_CHANGED;
|
change_reason |= LWIP_NSC_IPV4_SETTINGS_CHANGED;
|
||||||
|
}
|
||||||
|
if (!remove) {
|
||||||
|
/* Isssue a callback even if the address hasn't changed, eg. DHCP reboot */
|
||||||
|
change_reason |= LWIP_NSC_IPV4_ADDR_VALID;
|
||||||
|
}
|
||||||
|
if (change_reason != LWIP_NSC_NONE) {
|
||||||
netif_invoke_ext_callback(netif, change_reason, &cb_args);
|
netif_invoke_ext_callback(netif, change_reason, &cb_args);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -599,6 +599,8 @@ typedef u16_t netif_nsc_reason_t;
|
|||||||
#define LWIP_NSC_IPV6_SET 0x0100
|
#define LWIP_NSC_IPV6_SET 0x0100
|
||||||
/** IPv6 address state has changed */
|
/** IPv6 address state has changed */
|
||||||
#define LWIP_NSC_IPV6_ADDR_STATE_CHANGED 0x0200
|
#define LWIP_NSC_IPV6_ADDR_STATE_CHANGED 0x0200
|
||||||
|
/** IPv4 settings: valid address set, application may start to communicate */
|
||||||
|
#define LWIP_NSC_IPV4_ADDR_VALID 0x0400
|
||||||
|
|
||||||
/** @ingroup netif
|
/** @ingroup netif
|
||||||
* Argument supplied to netif_ext_callback_fn.
|
* Argument supplied to netif_ext_callback_fn.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user