[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20161230.152547.1766479809420832083.davem@davemloft.net>
Date: Fri, 30 Dec 2016 15:25:47 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: dsa@...ulusnetworks.com
Cc: netdev@...r.kernel.org, darwin.dingel@...iedtelesis.co.nz,
Mark.Tomlinson@...iedtelesis.co.nz
Subject: Re: [PATCH net-next] net: Allow IP_MULTICAST_IF to set index to L3
slave
From: David Ahern <dsa@...ulusnetworks.com>
Date: Thu, 29 Dec 2016 15:39:37 -0800
> IP_MULTICAST_IF fails if sk_bound_dev_if is already set and the new index
> does not match it. e.g.,
>
> ntpd[15381]: setsockopt IP_MULTICAST_IF 192.168.1.23 fails: Invalid argument
>
> Relax the check in setsockopt to allow setting mc_index to an L3 slave if
> sk_bound_dev_if points to an L3 master.
>
> Make a similar change for IPv6. In this case change the device lookup to
> take the rcu_read_lock avoiding a refcnt. The rcu lock is also needed for
> the lookup of a potential L3 master device.
>
> This really only silences a setsockopt failure since uses of mc_index are
> secondary to sk_bound_dev_if if it is set. In both cases, if either index
> is an L3 slave or master, lookups are directed to the same FIB table so
> relaxing the check at setsockopt time causes no harm.
>
> Patch is based on a suggested change by Darwin for a problem noted in
> their code base.
>
> Suggested-by: Darwin Dingel <darwin.dingel@...iedtelesis.co.nz>
> Signed-off-by: David Ahern <dsa@...ulusnetworks.com>
This seems ok, applied, thanks.
Powered by blists - more mailing lists