mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-02-18 09:00:51 +01:00
netconfig: netconfig_reconfigure check bool for setting ARP
Only set the gateway to the ARP cache if the caller requests.
This commit is contained in:
parent
873924a027
commit
b4c20ef81c
@ -1468,7 +1468,7 @@ bool netconfig_configure(struct netconfig *netconfig,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool netconfig_reconfigure(struct netconfig *netconfig)
|
bool netconfig_reconfigure(struct netconfig *netconfig, bool set_arp_gw)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Starting with kernel 4.20, ARP cache is flushed when the netdev
|
* Starting with kernel 4.20, ARP cache is flushed when the netdev
|
||||||
@ -1477,6 +1477,7 @@ bool netconfig_reconfigure(struct netconfig *netconfig)
|
|||||||
* lost or delayed. Try to force the gateway into the ARP cache
|
* lost or delayed. Try to force the gateway into the ARP cache
|
||||||
* to alleviate this
|
* to alleviate this
|
||||||
*/
|
*/
|
||||||
|
if (set_arp_gw)
|
||||||
netconfig_gateway_to_arp(netconfig);
|
netconfig_gateway_to_arp(netconfig);
|
||||||
|
|
||||||
if (netconfig->rtm_protocol == RTPROT_DHCP) {
|
if (netconfig->rtm_protocol == RTPROT_DHCP) {
|
||||||
|
@ -36,7 +36,7 @@ bool netconfig_load_settings(struct netconfig *netconfig,
|
|||||||
bool netconfig_configure(struct netconfig *netconfig,
|
bool netconfig_configure(struct netconfig *netconfig,
|
||||||
netconfig_notify_func_t notify,
|
netconfig_notify_func_t notify,
|
||||||
void *user_data);
|
void *user_data);
|
||||||
bool netconfig_reconfigure(struct netconfig *netconfig);
|
bool netconfig_reconfigure(struct netconfig *netconfig, bool set_arp_gw);
|
||||||
bool netconfig_reset(struct netconfig *netconfig);
|
bool netconfig_reset(struct netconfig *netconfig);
|
||||||
char *netconfig_get_dhcp_server_ipv4(struct netconfig *netconfig);
|
char *netconfig_get_dhcp_server_ipv4(struct netconfig *netconfig);
|
||||||
bool netconfig_get_fils_ip_req(struct netconfig *netconfig,
|
bool netconfig_get_fils_ip_req(struct netconfig *netconfig,
|
||||||
|
@ -1851,7 +1851,8 @@ static void station_roamed(struct station *station)
|
|||||||
station_roam_timeout_rearm(station, roam_retry_interval);
|
station_roam_timeout_rearm(station, roam_retry_interval);
|
||||||
|
|
||||||
if (station->netconfig)
|
if (station->netconfig)
|
||||||
netconfig_reconfigure(station->netconfig);
|
netconfig_reconfigure(station->netconfig,
|
||||||
|
!supports_arp_evict_nocarrier);
|
||||||
|
|
||||||
if (station->roam_freqs) {
|
if (station->roam_freqs) {
|
||||||
scan_freq_set_free(station->roam_freqs);
|
scan_freq_set_free(station->roam_freqs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user