mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-25 17:59:25 +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;
|
||||
}
|
||||
|
||||
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
|
||||
@ -1477,6 +1477,7 @@ bool netconfig_reconfigure(struct netconfig *netconfig)
|
||||
* lost or delayed. Try to force the gateway into the ARP cache
|
||||
* to alleviate this
|
||||
*/
|
||||
if (set_arp_gw)
|
||||
netconfig_gateway_to_arp(netconfig);
|
||||
|
||||
if (netconfig->rtm_protocol == RTPROT_DHCP) {
|
||||
|
@ -36,7 +36,7 @@ bool netconfig_load_settings(struct netconfig *netconfig,
|
||||
bool netconfig_configure(struct netconfig *netconfig,
|
||||
netconfig_notify_func_t notify,
|
||||
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);
|
||||
char *netconfig_get_dhcp_server_ipv4(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);
|
||||
|
||||
if (station->netconfig)
|
||||
netconfig_reconfigure(station->netconfig);
|
||||
netconfig_reconfigure(station->netconfig,
|
||||
!supports_arp_evict_nocarrier);
|
||||
|
||||
if (station->roam_freqs) {
|
||||
scan_freq_set_free(station->roam_freqs);
|
||||
|
Loading…
Reference in New Issue
Block a user