lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ