@@ -241,6 +241,7 @@ static struct ipv6_devconf ipv6_devconf __read_mostly = {
241241 .ioam6_enabled = 0 ,
242242 .ioam6_id = IOAM6_DEFAULT_IF_ID ,
243243 .ioam6_id_wide = IOAM6_DEFAULT_IF_ID_WIDE ,
244+ .ndisc_evict_nocarrier = 1 ,
244245};
245246
246247static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = {
@@ -300,6 +301,7 @@ static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = {
300301 .ioam6_enabled = 0 ,
301302 .ioam6_id = IOAM6_DEFAULT_IF_ID ,
302303 .ioam6_id_wide = IOAM6_DEFAULT_IF_ID_WIDE ,
304+ .ndisc_evict_nocarrier = 1 ,
303305};
304306
305307/* Check if link is ready: is it up and is a valid qdisc available */
@@ -5545,6 +5547,7 @@ static inline void ipv6_store_devconf(struct ipv6_devconf *cnf,
55455547 array [DEVCONF_IOAM6_ENABLED ] = cnf -> ioam6_enabled ;
55465548 array [DEVCONF_IOAM6_ID ] = cnf -> ioam6_id ;
55475549 array [DEVCONF_IOAM6_ID_WIDE ] = cnf -> ioam6_id_wide ;
5550+ array [DEVCONF_NDISC_EVICT_NOCARRIER ] = cnf -> ndisc_evict_nocarrier ;
55485551}
55495552
55505553static inline size_t inet6_ifla6_size (void )
@@ -6986,6 +6989,15 @@ static const struct ctl_table addrconf_sysctl[] = {
69866989 .mode = 0644 ,
69876990 .proc_handler = proc_douintvec ,
69886991 },
6992+ {
6993+ .procname = "ndisc_evict_nocarrier" ,
6994+ .data = & ipv6_devconf .ndisc_evict_nocarrier ,
6995+ .maxlen = sizeof (u8 ),
6996+ .mode = 0644 ,
6997+ .proc_handler = proc_dou8vec_minmax ,
6998+ .extra1 = (void * )SYSCTL_ZERO ,
6999+ .extra2 = (void * )SYSCTL_ONE ,
7000+ },
69897001 {
69907002 /* sentinel */
69917003 }
0 commit comments