Re: platform-linux: do-change-link[2]: failure changing link: failure 22 (Invalid argument)

On Mon, 2018-03-26 at 08:10 -0400, Brian J. Murrell wrote:
On Mon, 2018-03-26 at 13:41 +0200, Thomas Haller wrote:


Hi Thomas,

it fails setting the token.

platform-linux: link: change 2: token: set IPv6 address generation
token to ::2

Probably because kernel does in inet6_set_iftoken():
»·······if (!token)
»·······»·······return -EINVAL;
»·······if (dev->flags & (IFF_LOOPBACK | IFF_NOARP))
»·······»·······return -EINVAL;
»·······if (!ipv6_accept_ra(idev))
»·······»·······return -EINVAL;
»·······if (idev->cnf.rtr_solicits == 0)
»·······»·······return -EINVAL;

But it succeeds eventually doesn't it, or otherwise how am I getting
 ::2 IPv6 addresses assigned at all?

Yes, if you want a ::2 token, that's right. 

NetworkManager creates both IPv6 link local addresses and autoconf6
addresses in uses space (it does NDP using libndp, and does not use
kernel. Although NM sets
it disables other related sysctl, that effectively tell kernel not do
to autoconf6.

I think the <error> in the logfile about setting the token in kernel
doesn't matter, because it's NM who uses the token (it's still a bit
odd). I opened a bug about that:

(btw, why do you want to configure the token?)

My understanding is that that is how one has a static host portion in
one's IPv6 address(es) while still allowing the router to tell the
the network portion for all of it's addresses.


The goal is that no matter how the network portion of the address
change, the host portion remains the same.

Is this not the correct way to achieve that?

Your router says there is a DHCPv6 server around.

Oh, interesting.

Don't configure your
network that way, if it's not the case.

Indeed.  I will look into how to disable this on the router.

Much appreciate the time you spent looking at this.


Attachment: signature.asc
Description: This is a digitally signed message part

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]