[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAedzxqxZO=SOefYyTe8y_f2Tw2_d9tfMWW=5a7PfGqd6cYLGw@mail.gmail.com>
Date: Mon, 26 Sep 2016 18:29:01 +0900
From: Erik Kline <ek@...gle.com>
To: Maciej Żenczykowski <zenczykowski@...il.com>
Cc: Maciej Żenczykowski <maze@...gle.com>,
"David S . Miller" <davem@...emloft.net>,
netdev <netdev@...r.kernel.org>,
Lorenzo Colitti <lorenzo@...gle.com>
Subject: Re: [PATCH v4 4/7] ipv6 addrconf: add new sysctl 'router_solicitation_max_interval'
On 25 September 2016 at 20:03, Maciej Żenczykowski
<zenczykowski@...il.com> wrote:
> From: Maciej Żenczykowski <maze@...gle.com>
>
> Accessible via:
> /proc/sys/net/ipv6/conf/*/router_solicitation_max_interval
>
> For now we default it to the same value as the normal interval.
>
> Signed-off-by: Maciej Żenczykowski <maze@...gle.com>
> ---
> include/linux/ipv6.h | 1 +
> include/net/addrconf.h | 1 +
> include/uapi/linux/ipv6.h | 1 +
> net/ipv6/addrconf.c | 11 +++++++++++
> 4 files changed, 14 insertions(+)
>
> diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
> index c6dbcd84a2c7..7e9a789be5e0 100644
> --- a/include/linux/ipv6.h
> +++ b/include/linux/ipv6.h
> @@ -18,6 +18,7 @@ struct ipv6_devconf {
> __s32 dad_transmits;
> __s32 rtr_solicits;
> __s32 rtr_solicit_interval;
> + __s32 rtr_solicit_max_interval;
> __s32 rtr_solicit_delay;
> __s32 force_mld_version;
> __s32 mldv1_unsolicited_report_interval;
> diff --git a/include/net/addrconf.h b/include/net/addrconf.h
> index 9826d3a9464c..275e5af4c2f4 100644
> --- a/include/net/addrconf.h
> +++ b/include/net/addrconf.h
> @@ -3,6 +3,7 @@
>
> #define MAX_RTR_SOLICITATIONS 3
> #define RTR_SOLICITATION_INTERVAL (4*HZ)
> +#define RTR_SOLICITATION_MAX_INTERVAL (4*HZ)
>
> #define MIN_VALID_LIFETIME (2*3600) /* 2 hours */
>
> diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h
> index 395876060f50..8c2772340c3f 100644
> --- a/include/uapi/linux/ipv6.h
> +++ b/include/uapi/linux/ipv6.h
> @@ -177,6 +177,7 @@ enum {
> DEVCONF_DROP_UNICAST_IN_L2_MULTICAST,
> DEVCONF_DROP_UNSOLICITED_NA,
> DEVCONF_KEEP_ADDR_ON_DOWN,
> + DEVCONF_RTR_SOLICIT_MAX_INTERVAL,
> DEVCONF_MAX
> };
>
> diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
> index 6c63bf06fbcf..255be34cdbce 100644
> --- a/net/ipv6/addrconf.c
> +++ b/net/ipv6/addrconf.c
> @@ -187,6 +187,7 @@ static struct ipv6_devconf ipv6_devconf __read_mostly = {
> .dad_transmits = 1,
> .rtr_solicits = MAX_RTR_SOLICITATIONS,
> .rtr_solicit_interval = RTR_SOLICITATION_INTERVAL,
> + .rtr_solicit_max_interval = RTR_SOLICITATION_MAX_INTERVAL,
> .rtr_solicit_delay = MAX_RTR_SOLICITATION_DELAY,
> .use_tempaddr = 0,
> .temp_valid_lft = TEMP_VALID_LIFETIME,
> @@ -232,6 +233,7 @@ static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = {
> .dad_transmits = 1,
> .rtr_solicits = MAX_RTR_SOLICITATIONS,
> .rtr_solicit_interval = RTR_SOLICITATION_INTERVAL,
> + .rtr_solicit_max_interval = RTR_SOLICITATION_MAX_INTERVAL,
> .rtr_solicit_delay = MAX_RTR_SOLICITATION_DELAY,
> .use_tempaddr = 0,
> .temp_valid_lft = TEMP_VALID_LIFETIME,
> @@ -4891,6 +4893,8 @@ static inline void ipv6_store_devconf(struct ipv6_devconf *cnf,
> array[DEVCONF_RTR_SOLICITS] = cnf->rtr_solicits;
> array[DEVCONF_RTR_SOLICIT_INTERVAL] =
> jiffies_to_msecs(cnf->rtr_solicit_interval);
> + array[DEVCONF_RTR_SOLICIT_MAX_INTERVAL] =
> + jiffies_to_msecs(cnf->rtr_solicit_max_interval);
> array[DEVCONF_RTR_SOLICIT_DELAY] =
> jiffies_to_msecs(cnf->rtr_solicit_delay);
> array[DEVCONF_FORCE_MLD_VERSION] = cnf->force_mld_version;
> @@ -5771,6 +5775,13 @@ static const struct ctl_table addrconf_sysctl[] = {
> .proc_handler = proc_dointvec_jiffies,
> },
> {
> + .procname = "router_solicitation_max_interval",
> + .data = &ipv6_devconf.rtr_solicit_max_interval,
> + .maxlen = sizeof(int),
> + .mode = 0644,
> + .proc_handler = proc_dointvec_jiffies,
> + },
> + {
> .procname = "router_solicitation_delay",
> .data = &ipv6_devconf.rtr_solicit_delay,
> .maxlen = sizeof(int),
> --
> 2.8.0.rc3.226.g39d4020
>
Acked-by: Erik Kline <ek@...gle.com>
Powered by blists - more mailing lists