On 08.04.2016 17:25, Bjørn Mork wrote:
Hannes Frederic Sowa <han...@stressinduktion.org> writes:
On Fri, Apr 8, 2016, at 16:18, Bjørn Mork wrote:
Daniel Borkmann <dan...@iogearbox.net> writes:
if (!token)
return -EINVAL;
- if (ipv6_addr_any(token))
- return -EINVAL;
if (dev->flags & (IFF_LOOPBACK | IFF_NOARP))
return -EINVAL;
Not directly related to the patch in question. It just made me aware of
this restriction...
I realize that I'm a few years late here, but what's with the IFF_NOARP?
Is that just because we can't do DAD for the token based addresses? How
is that different from manually configuring the whole address?
IFF_NOARP is kind of the equivalent to no neighbor discovery. If you set
a token and never get in a router advertisement you never create a
tokenized ip address, thus the feature is useless.
You can get router advertisements with IFF_NOARP. You cannot lookup L2
addresses, but the L3 prefix info is still as useful as with any other
interface.
Of course router advertisements can be send and received with IFF_NOARP
and probably we act on them as usual, as you showed. Looking in the
source we don't really specify what those flags mean/do for IPv6. So I
think you can assume that it is in there because of history.
I would absolutely not mind if you remove the limitation for IFF_ARP.
Bye,
Hannes