Skip to content

networkd: [IPv6Prefix] Assign= option does not respect [Network] IPv6Token= option #20149

@riobard

Description

@riobard

systemd version the issue has been seen with

247

Used distribution

Debian

Linux kernel version used (uname -a)

Linux host 5.10.0-0.bpo.7-amd64 #1 SMP Debian 5.10.40-1~bpo10+1 (2021-06-04) x86_64 GNU/Linux

CPU architecture issue was seen on

x86_64

Expected behaviour you didn't see

After settings IPv6Token= in [Network] section of .network file, and Assign=true in [IPv6Prefix], the autoconfigured address from the given prefix on the interface should contain interface identifier as specified by IPv6Token.

Unexpected behaviour you saw

The autoconfigured address always uses EUI-64 interface identifier.

Additionally, [DHCPv6PrefixDelegation] has its own Token= option which acts similarly to IPv6Token= in [Network] section. I propose if Token= is unset, we should follow IPv6Token= as well.

Also, Assign= should default to the same truth value in both [IPv6Prefix] and [DHCPv6PrefixDelegation]. Right now the former defaults to false but the latter defaults to true which is confusing. Both defaulting to true is likely the intended behavior.

Steps to reproduce the problem

test.network config

[Network]
IPv6Token=::1
#IPv6Token=prefixstable # does not work either
IPv6SendRA=yes
...

[IPv6Prefix]
Prefix=fd00:dead:beef:feed::/64
Assign=true # should assign fd00:dead:beef:feed::1/64 to the interface
# but it always assigns fd00:dead:beef:feed:[EUI-64-iid]/64, ignoring IPv6Token option above

...

Metadata

Metadata

Assignees

No one assigned

    Labels

    RFE 🎁Request for Enhancement, i.e. a feature requestdhcpnetwork

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions