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: <3afc7ed6-cc3f-73fa-fa89-5f2467da30c1@gmail.com>
Date:   Tue, 9 Oct 2018 17:21:57 -0600
From:   David Ahern <dsahern@...il.com>
To:     netdev@...r.kernel.org, davem@...emloft.net
Cc:     roopa@...ulusnetworks.com
Subject: Re: [PATCH net-next] net/ipv6: Add knob to skip DELROUTE message on
 device down

On 10/9/18 3:27 PM, David Ahern wrote:
> From: David Ahern <dsahern@...il.com>
> 
> Another difference between IPv4 and IPv6 is the generation of RTM_DELROUTE
> notifications when a device is taken down (admin down) or deleted. IPv4
> does not generate a message for routes evicted by the down or delete;
> IPv6 does. A NOS at scale really needs to avoid these messages and have
> IPv4 and IPv6 behave similarly, relying on userspace to handle link
> notifications and evict the routes.
> 
> At this point existing user behavior needs to be preserved. Since
> notifications are a global action (not per app) the only way to preserve
> existing behavior and allow the messages to be skipped is to add a new
> sysctl (net/ipv6/route/skip_notify_on_dev_down) which can be set to
> disable the notificatioons.
> 
> IPv6 route code already supports the option to skip the message (it is
> used for multipath routes for example). Besides the new sysctl we need
> to pass the skip_notify setting through the generic fib6_clean and
> fib6_walk functions to fib6_clean_node and to set skip_notify on calls
> to __ip_del_rt for the addrconf_ifdown path.
> 
> Signed-off-by: David Ahern <dsahern@...il.com>
> ---
>  Documentation/networking/ip-sysctl.txt |  8 +++++++
>  include/net/addrconf.h                 |  3 ++-
>  include/net/ip6_fib.h                  |  3 +++
>  include/net/ip6_route.h                |  1 +
>  include/net/netns/ipv6.h               |  1 +
>  net/ipv6/addrconf.c                    | 44 ++++++++++++++++++++++------------
>  net/ipv6/anycast.c                     | 10 +++++---
>  net/ipv6/ip6_fib.c                     | 20 ++++++++++++----
>  net/ipv6/route.c                       | 30 ++++++++++++++++++++++-

I should have noticed this before sending the patch: the addrconf and
anycast changes are not needed. addrconf_ifdown calls rt6_disable_ip
which calls rt6_sync_down_dev. The last one evicts all routes for the
device, so the delete route calls done later in addrconf and anycast are
superfluous.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ