Commit 52fa3ee0 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 'make-neighbor-eviction-controllable-by-userspace'

James Prestwood says:

====================
Make neighbor eviction controllable by userspace
====================

Link: https://lore.kernel.org/r/20211101173630.300969-1-prestwoj@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 1d6d336f f86ca07e
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -1611,6 +1611,15 @@ arp_accept - BOOLEAN
	gratuitous arp frame, the arp table will be updated regardless
	if this setting is on or off.

arp_evict_nocarrier - BOOLEAN
	Clears the ARP cache on NOCARRIER events. This option is important for
	wireless devices where the ARP cache should not be cleared when roaming
	between access points on the same network. In most cases this should
	remain as the default (1).

	- 1 - (default): Clear the ARP cache on NOCARRIER events
	- 0 - Do not clear ARP cache on NOCARRIER events

mcast_solicit - INTEGER
	The maximum number of multicast probes in INCOMPLETE state,
	when the associated hardware address is unknown.  Defaults
@@ -2341,6 +2350,15 @@ ndisc_tclass - INTEGER

	* 0 - (default)

ndisc_evict_nocarrier - BOOLEAN
	Clears the neighbor discovery table on NOCARRIER events. This option is
	important for wireless devices where the neighbor discovery cache should
	not be cleared when roaming between access points on the same network.
	In most cases this should remain as the default (1).

	- 1 - (default): Clear neighbor discover cache on NOCARRIER events.
	- 0 - Do not clear neighbor discovery cache on NOCARRIER events.

mldv1_unsolicited_report_interval - INTEGER
	The interval in milliseconds in which the next unsolicited
	MLDv1 report retransmit will take place.
+2 −0
Original line number Diff line number Diff line
@@ -133,6 +133,8 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev)
#define IN_DEV_ARP_ANNOUNCE(in_dev)	IN_DEV_MAXCONF((in_dev), ARP_ANNOUNCE)
#define IN_DEV_ARP_IGNORE(in_dev)	IN_DEV_MAXCONF((in_dev), ARP_IGNORE)
#define IN_DEV_ARP_NOTIFY(in_dev)	IN_DEV_MAXCONF((in_dev), ARP_NOTIFY)
#define IN_DEV_ARP_EVICT_NOCARRIER(in_dev) IN_DEV_ANDCONF((in_dev), \
							  ARP_EVICT_NOCARRIER)

struct in_ifaddr {
	struct hlist_node	hash;
+1 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ struct ipv6_devconf {
	__u32		ioam6_id;
	__u32		ioam6_id_wide;
	__u8		ioam6_enabled;
	__u8		ndisc_evict_nocarrier;

	struct ctl_table_header *sysctl_header;
};
+1 −0
Original line number Diff line number Diff line
@@ -169,6 +169,7 @@ enum
	IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST,
	IPV4_DEVCONF_DROP_GRATUITOUS_ARP,
	IPV4_DEVCONF_BC_FORWARDING,
	IPV4_DEVCONF_ARP_EVICT_NOCARRIER,
	__IPV4_DEVCONF_MAX
};

+1 −0
Original line number Diff line number Diff line
@@ -193,6 +193,7 @@ enum {
	DEVCONF_IOAM6_ENABLED,
	DEVCONF_IOAM6_ID,
	DEVCONF_IOAM6_ID_WIDE,
	DEVCONF_NDISC_EVICT_NOCARRIER,
	DEVCONF_MAX
};

Loading