Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interface stuck on configuring with DHCPv6 #31349

Closed
r-vdp opened this issue Feb 16, 2024 · 5 comments · Fixed by #31362
Closed

Interface stuck on configuring with DHCPv6 #31349

r-vdp opened this issue Feb 16, 2024 · 5 comments · Fixed by #31362
Labels
bug 🐛 Programming errors, that need preferential fixing dhcp network regression ⚠️ A bug in something that used to work correctly and broke through some recent commit

Comments

@r-vdp
Copy link
Contributor

r-vdp commented Feb 16, 2024

systemd version the issue has been seen with

255.2

Used distribution

NixOS unstable

Linux kernel version used

6.7.4

CPU architectures issue was seen on

x86_64

Component

No response

Expected behaviour you didn't see

Interface is configured like this:

[Match]
Name=wan0

[Link]
Multicast=true

[Network]
DHCP=yes
DHCPPrefixDelegation=true
DHCPServer=false
DNSOverTLS=true
Description=Right ethernet port - WAN
IPForward=true
IPv6AcceptRA=true
IPv6PrivacyExtensions=true
IPv6SendRA=false
MulticastDNS=false

[DHCPv4]
UseDNS=false
UseHostname=false
UseNTP=false

[DHCPv6]
PrefixDelegationHint=::/56
UseDNS=false
UseDelegatedPrefix=true
UseHostname=false
UseNTP=false
WithoutRA=solicit

[DHCPPrefixDelegation]
Announce=false
SubnetId=0
UplinkInterface=:self

[IPv6AcceptRA]
DHCPv6Client=always
UseDNS=false

It gets stuck in configuring:

󰈺 ➜ networkctl status wan0
● 2: wan0
                   Link File: /etc/systemd/network/20-wan.link
                Network File: /etc/systemd/network/20-wan.network
                       State: routable (configuring)
                Online state: online
                        Type: ether
                        Path: pci-0000:01:00.0
                      Driver: igc
                      Vendor: Intel Corporation
                       Model: Ethernet Controller I225-V
           Alternative Names: enp1s0
            Hardware Address: 7c:83:34:be:b0:9b (Shenzhen AZW Technology Co., Ltd.)
                         MTU: 1500 (min: 68, max: 9216)
                       QDisc: mq
IPv6 Address Generation Mode: eui64
    Number of Queues (Tx/Rx): 4/4
            Auto negotiation: yes
                       Speed: 1Gbps
                      Duplex: full
                        Port: tp
                     Address: 109.XXX (DHCP4 via XXX)
                              2a02:XXX:4a65:bc58:131:a2cd
                              2a02:XXX:7e83:34ff:febe:b09b
                              2a02:XXX:1495:de94:c1c2:a7a9
                              2a02:XXX:7e83:34ff:febe:b09b
                              fe80::7e83:34ff:febe:b09b
                     Gateway: 109.136.208.1
                              fe80::22e0:9cff:fe28:fc01
           Activation Policy: up
         Required For Online: yes
             DHCP4 Client ID: IAID:0x56504d98/DUID
           DHCP6 Client IAID: 0x56504d98
           DHCP6 Client DUID: DUID-EN/Vendor:0000ab1174753ac9b2ca459a

fév 16 11:52:00 beelink systemd-networkd[954]: wan0: ndisc_check_ready(): SLAAC addresses and routes are not set.
fév 16 11:52:00 beelink systemd-networkd[954]: wan0: ndisc_check_ready(): SLAAC addresses and routes are not set.
fév 16 11:52:00 beelink systemd-networkd[954]: wan0: Received updated NDisc address (configured): 2a02:XXX:7e83:34ff:febe:b09b/64 (valid for 23h 59min 59s, preferred for 59min 59s), flags: manage-temporary-address,no-prefixroute, scope: global
fév 16 11:52:00 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:52:00 beelink systemd-networkd[954]: wan0: Received updated foreign address (configured): 2a02:XXX:1495:de94:c1c2:a7a9/64 (valid for 23h 59min 59s, preferred for 59min 59s), flags: temporary, scope: global
fév 16 11:52:00 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:52:00 beelink systemd-networkd[954]: wan0: Received updated foreign address (configured): 2a02:XXX:7da2:e9be:3f8a:ac61/64 (valid for 23h 59min 59s, preferred for 0), flags: temporary,deprecated, scope: global
fév 16 11:52:00 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:52:00 beelink systemd-networkd[954]: wan0: SLAAC addresses and routes set.
fév 16 11:52:00 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.

Presumably because the dhcpv6 protocol didn't finish? Journalctl output below.

Unexpected behaviour you saw

No response

Steps to reproduce the problem

No response

Additional program output to the terminal or log subsystem illustrating the issue

fév 16 11:13:28 beelink systemd-networkd[954]: wan0: NDISC: Received Router Advertisement: flags OTHER preference medium lifetime 1h 15min
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: NDISC: Invoking callback for 'router' event.
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Acquiring DHCPv6 lease on NDisc request
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Requesting NDisc route (configuring,configured): dst: n/a, src: n/a, gw: fe80::22e0:9cff:fe28:fc01, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 1024, flags: n/a
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Requesting NDisc route (configuring,configured): dst: 2a02:XXX::/64, src: n/a, gw: n/a, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 1024, flags: n/a
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Requesting NDisc address (configured): 2a02:XXX:7e83:34ff:febe:b09b/64 (valid for 23h 59min 59s, preferred for 59min 59s), flags: manage-temporary-address,no-prefixroute, scope: global
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Setting SLAAC addresses and router.
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Configuring NDisc route (requesting,configuring,configured): dst: n/a, src: n/a, gw: fe80::22e0:9cff:fe28:fc01, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 1024, flags: n/a
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Configuring NDisc route (requesting,configuring,configured): dst: 2a02:XXX::/64, src: n/a, gw: n/a, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 1024, flags: n/a
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Configuring NDisc address (requesting,configured): 2a02:XXX:7e83:34ff:febe:b09b/64 (valid for 23h 59min 59s, preferred for 59min 59s), flags: manage-temporary-address,no-prefixroute, scope: global
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: ndisc_check_ready(): SLAAC addresses and routes are not set.
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: ndisc_check_ready(): SLAAC addresses and routes are not set.
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Received updated NDisc address (configured): 2a02:XXX:7e83:34ff:febe:b09b/64 (valid for 23h 59min 59s, preferred for 59min 59s), flags: manage-temporary-address,no-prefixroute, scope: global
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Received updated foreign address (configured): 2a02:XXX:1495:de94:c1c2:a7a9/64 (valid for 23h 59min 59s, preferred for 59min 59s), flags: temporary, scope: global
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: Received updated foreign address (configured): 2a02:XXX:7da2:e9be:3f8a:ac61/64 (valid for 23h 59min 59s, preferred for 0), flags: temporary,deprecated, scope: global
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: SLAAC addresses and routes set.
fév 16 11:13:28 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: NDISC: Received Router Advertisement: flags OTHER preference medium lifetime 1h 15min
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: NDISC: Invoking callback for 'router' event.
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Acquiring DHCPv6 lease on NDisc request
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Requesting NDisc route (configuring,configured): dst: n/a, src: n/a, gw: fe80::22e0:9cff:fe28:fc01, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 1024, flags: n/a
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Requesting NDisc route (configuring,configured): dst: 2a02:XXX::/64, src: n/a, gw: n/a, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 1024, flags: n/a
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Requesting NDisc address (configured): 2a02:XXX:7e83:34ff:febe:b09b/64 (valid for 23h 59min 59s, preferred for 59min 59s), flags: manage-temporary-address,no-prefixroute, scope: global
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Setting SLAAC addresses and router.
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Configuring NDisc route (requesting,configuring,configured): dst: n/a, src: n/a, gw: fe80::22e0:9cff:fe28:fc01, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 1024, flags: n/a
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Configuring NDisc route (requesting,configuring,configured): dst: 2a02:XXX::/64, src: n/a, gw: n/a, prefsrc: n/a, scope: global, table: main(254), proto: ra, type: unicast, nexthop: 0, priority: 1024, flags: n/a
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Configuring NDisc address (requesting,configured): 2a02:XXX:7e83:34ff:febe:b09b/64 (valid for 23h 59min 59s, preferred for 59min 59s), flags: manage-temporary-address,no-prefixroute, scope: global
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: ndisc_check_ready(): SLAAC addresses and routes are not set.
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: ndisc_check_ready(): SLAAC addresses and routes are not set.
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Received updated NDisc address (configured): 2a02:XXX:7e83:34ff:febe:b09b/64 (valid for 23h 59min 59s, preferred for 59min 59s), flags: manage-temporary-address,no-prefixroute, scope: global
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Received updated foreign address (configured): 2a02:XXX:1495:de94:c1c2:a7a9/64 (valid for 23h 59min 59s, preferred for 59min 59s), flags: temporary, scope: global
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: Received updated foreign address (configured): 2a02:XXX:7da2:e9be:3f8a:ac61/64 (valid for 23h 59min 59s, preferred for 0), flags: temporary,deprecated, scope: global
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: SLAAC addresses and routes set.
fév 16 11:29:06 beelink systemd-networkd[954]: wan0: link_check_ready(): DHCPv6 IA_PD prefix is assigned, but DHCPv6 protocol is not finished yet.
@r-vdp r-vdp added the bug 🐛 Programming errors, that need preferential fixing label Feb 16, 2024
@yuwata
Copy link
Member

yuwata commented Feb 16, 2024

Ouch. Please try to set UseAddress=no in [DHCPv6] section as a workaround.

@yuwata
Copy link
Member

yuwata commented Feb 16, 2024

Regression caused by 195b83e.

@yuwata yuwata added network regression ⚠️ A bug in something that used to work correctly and broke through some recent commit dhcp labels Feb 16, 2024
@yuwata
Copy link
Member

yuwata commented Feb 16, 2024

(c.f. similar issue #29979, but with UseAddress=no, and it is already fixed.)

yuwata added a commit to yuwata/systemd that referenced this issue Feb 16, 2024
…delegation

This does not change anything for DHCPv4, as a DHCPv4 address is always
requested anyway. However for DHCPv6, the client may not request IA_NA
addresses by UseAddress=no, or even if it is requested, the server may
not provide any IA_NA addresses. Even in such cases, here the check is
for delegated prefixes, hence it is not necessary to check if DHCPv6
IA_NA addresses are configured.

Fixes a bug introduced by 195b83e.

Fixes systemd#31349.
yuwata added a commit to yuwata/systemd that referenced this issue Feb 16, 2024
…delegation

This does not change anything for DHCPv4, as a DHCPv4 address is always
requested anyway. However for DHCPv6, the client may not request IA_NA
addresses by UseAddress=no, or even if it is requested, the server may
not provide any IA_NA addresses. Even in such cases, here the check is
for delegated prefixes, hence it is not necessary to check if DHCPv6
IA_NA addresses are configured.

Fixes a bug introduced by 195b83e.

Fixes systemd#31349.
yuwata added a commit to yuwata/systemd that referenced this issue Feb 16, 2024
@yuwata
Copy link
Member

yuwata commented Feb 16, 2024

Fix is waiting in #31362.

yuwata added a commit to yuwata/systemd that referenced this issue Feb 16, 2024
…delegation

This does not change anything for DHCPv4, as a DHCPv4 address is always
requested anyway. However for DHCPv6, the client may not request IA_NA
addresses by UseAddress=no, or even if it is requested, the server may
not provide any IA_NA addresses. Even in such cases, here the check is
for delegated prefixes, hence it is not necessary to check if DHCPv6
IA_NA addresses are configured.

Fixes a bug introduced by 195b83e.

Fixes systemd#31349.
yuwata added a commit to yuwata/systemd that referenced this issue Feb 16, 2024
bluca pushed a commit to yuwata/systemd that referenced this issue Feb 17, 2024
…delegation

This does not change anything for DHCPv4, as a DHCPv4 address is always
requested anyway. However for DHCPv6, the client may not request IA_NA
addresses by UseAddress=no, or even if it is requested, the server may
not provide any IA_NA addresses. Even in such cases, here the check is
for delegated prefixes, hence it is not necessary to check if DHCPv6
IA_NA addresses are configured.

Fixes a bug introduced by 195b83e.

Fixes systemd#31349.
bluca pushed a commit to yuwata/systemd that referenced this issue Feb 17, 2024
@r-vdp
Copy link
Contributor Author

r-vdp commented Feb 18, 2024

Amazing, thanks a lot for your quick response, @yuwata !

ayhamthemayhem pushed a commit to neighbourhoodie/nh-systemd that referenced this issue Mar 25, 2024
…delegation

This does not change anything for DHCPv4, as a DHCPv4 address is always
requested anyway. However for DHCPv6, the client may not request IA_NA
addresses by UseAddress=no, or even if it is requested, the server may
not provide any IA_NA addresses. Even in such cases, here the check is
for delegated prefixes, hence it is not necessary to check if DHCPv6
IA_NA addresses are configured.

Fixes a bug introduced by 195b83e.

Fixes systemd#31349.
ayhamthemayhem pushed a commit to neighbourhoodie/nh-systemd that referenced this issue Mar 25, 2024
intelfx pushed a commit to intelfx/systemd that referenced this issue Mar 27, 2024
…delegation

This does not change anything for DHCPv4, as a DHCPv4 address is always
requested anyway. However for DHCPv6, the client may not request IA_NA
addresses by UseAddress=no, or even if it is requested, the server may
not provide any IA_NA addresses. Even in such cases, here the check is
for delegated prefixes, hence it is not necessary to check if DHCPv6
IA_NA addresses are configured.

Fixes a bug introduced by 195b83e.

Fixes systemd#31349.

(cherry picked from commit b4054af)
intelfx pushed a commit to intelfx/systemd that referenced this issue Mar 27, 2024
chunyi-wu pushed a commit to chunyi-wu/systemd that referenced this issue Apr 3, 2024
…delegation

This does not change anything for DHCPv4, as a DHCPv4 address is always
requested anyway. However for DHCPv6, the client may not request IA_NA
addresses by UseAddress=no, or even if it is requested, the server may
not provide any IA_NA addresses. Even in such cases, here the check is
for delegated prefixes, hence it is not necessary to check if DHCPv6
IA_NA addresses are configured.

Fixes a bug introduced by 195b83e.

Fixes systemd#31349.
chunyi-wu pushed a commit to chunyi-wu/systemd that referenced this issue Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐛 Programming errors, that need preferential fixing dhcp network regression ⚠️ A bug in something that used to work correctly and broke through some recent commit
Development

Successfully merging a pull request may close this issue.

2 participants