Re: [PATCH net-next] ipv6: don't generate link-local addr in random or privacy mode
From: Lorenzo Colitti
Date: Wed Nov 17 2021 - 03:37:01 EST
On Wed, Nov 17, 2021 at 4:22 PM Rocco Yue <rocco.yue@xxxxxxxxxxxx> wrote:
> Disabling the kernel's automatic link-local address generation
> doesn't mean that it violates RFC 4291, because an appropriate
> link-local addr can be added to the cellulal NIC through ioctl.
Well, it would mean that the kernel requires additional work from
userspace to respect the RFC.
> The method you mentioned can also solve the current problem, but it
> seems to introduce more logic:
> (1) set the cellular interface addr_gen_mode to RANDOM_LL_TOKEN or PRIVACY_LL_TOKEN;
> (2) set the cellular interface up;
> (3) disable ipv6 first;
I don't think you need to set the interface up to disable IPv6. Also I
think that if the interface is down autoconf won't run so you don't
actually need to do this.
> (4) set token addr through netlink;
Can't 4 be the same as 3? The same netlink message can configure both
the addr_gen_mode and the token, no?
It seems to me that the following should work, and would be much simpler.
1. Bring the interface down. All addresses are deleted.
2. Send a netlink request to set addr_gen_mode RANDOM_LL_TOKEN or
PRIVACY_LL_TOKEN and set the token.
3. Bring the interface up. Autoconf runs. The link-local address is
generated from the token. An RS is sent. When the RA is received, the
global address is generated using RFC 7217 or randomly.
Cheers,
Lorenzo