[Pkg-utopia-maintainers] Bug#1125800: network-manager: Disabling IPv4 manually causes n-m to disconnect after few seconds from IPv6

Witold Baryluk witold.baryluk at gmail.com
Sun Jan 18 12:59:43 GMT 2026


Package: network-manager
Version: 1.54.3-1+b1
Followup-For: Bug #1125800
X-Debbugs-Cc: witold.baryluk at gmail.com

> > [...]
> 
> > ipv4.method:                            disabled
> > [...]
> > ipv4.may-fail:                          yes
> 
> That looks good. Please check if DHCP discovers go out when enabling
> that connection. If so, this is indeed faulty.

No DHCPv4 traffic seen via tcpdump. None. No discovery. If I enable back
IPv4 to Automatic, I do see Request (because of lease file). But when
disabled, it is silent.


And to clarify I do no use DHCPv6. Just SLAAC + ND RAs basically.

Everything that is required for a connection, routing and DNS, appears
to be provided, so not sure.

I do see in logs:

[1768740840.7946] device (enp65s0f0np0): Activation: starting connection 'Wired connection 1' (f662d320-87ec-3fcf-8c29-17814411099a)
[1768740840.7947] audit: op="connection-activate" uuid="f662d320-87ec-3fcf-8c29-17814411099a" name="Wired connection 1" pid=3714721 uid=1000 result="success"
[1768740840.7948] device (enp65s0f0np0): state change: disconnected -> prepare (reason 'none', managed-type: 'full')
[1768740840.7950] manager: NetworkManager state is now CONNECTING
[1768740840.7952] device (enp65s0f0np0): state change: prepare -> config (reason 'none', managed-type: 'full')
[1768740840.7956] device (enp65s0f0np0): state change: config -> ip-config (reason 'none', managed-type: 'full')
[1768740842.4404] dhcp6 (enp65s0f0np0): activation: beginning transaction (timeout in 45 seconds)
[1768740842.4413] policy: set 'Wired connection 1' (enp65s0f0np0) as default for IPv6 routing and DNS
[1768740887.3104] device (enp65s0f0np0): state change: ip-config -> failed (reason 'ip-config-unavailable', managed-type: 'full')
[1768740887.3108] manager: NetworkManager state is now CONNECTED_LOCAL
[1768740887.3109] device (enp65s0f0np0): Activation: failed for connection 'Wired connection 1'
[1768740887.3111] device (enp65s0f0np0): state change: failed -> disconnected (reason 'none', managed-type: 'full')
[1768740887.3123] dhcp6 (enp65s0f0np0): canceled DHCP transaction
[1768740887.3124] dhcp6 (enp65s0f0np0): activation: beginning transaction (timeout in 45 seconds)
[1768740887.3124] dhcp6 (enp65s0f0np0): state changed no lease


it mentioning dhcp6. Unclear why exactly.


And maybe this why things are failing.

But the setting for ipv6 is auto, and not auto-dhcp, so I would expect
this to work fine, and try DHCPv6, but no response to dhcpv6 queries
should not be a failure.


In Vyos my I have something liket his:

 service {
     router-advert {
         interface eth2 {
             default-lifetime 300
             default-preference high
             dnssl example.com
             interval {
                 max 30
             }
             link-mtu 9000
             name-server 2001:4860:4860::64
             name-server 2001:4860:4860::6464
             nat64prefix 64:ff9b::/96 {
                 valid-lifetime 65528
             }
             prefix ::/48 {
             }
             prefix ::/64 {
                 preferred-lifetime 300
                 valid-lifetime 900
             }
             reachable-time 900000
             retrans-timer 0
         }
 }
 

No "managed-flag" or "other-config-flag" set.

And this is generated radvd config

interface eth2 {
    IgnoreIfMissing on;
    AdvDefaultPreference high;
    MaxRtrAdvInterval 30;
    AdvReachableTime 900000;
    AdvIntervalOpt on;
    AdvSendAdvert on;
    AdvDefaultLifetime 300;
    AdvLinkMTU 9000;
    AdvOtherConfigFlag off;
    AdvRetransTimer 0;
    AdvCurHopLimit 64;
    nat64prefix 64:ff9b::/96 {
        AdvValidLifetime 65528;
    };
    autoignoreprefixes {
        ::/48;
    };
    prefix ::/48 {
        AdvAutonomous on;
        AdvValidLifetime 2592000;
        AdvOnLink on;
        AdvPreferredLifetime 14400;
        DeprecatePrefix off;
        DecrementLifetimes off;
    };
    prefix ::/64 {
        AdvAutonomous on;
        AdvValidLifetime 900;
        AdvOnLink on;
        AdvPreferredLifetime 300;
        DeprecatePrefix off;
        DecrementLifetimes off;
    };
    RDNSS 2001:4860:4860::64 2001:4860:4860::6464 {
    };
    DNSSL example.com {
    };
};

Which looks correct.

AdvOtherConfigFlag is explicitly off.

And AdvManagedFlag is not set either, defaulting to off.


>From radvd.conf manpage

.TP
.BR AdvManagedFlag " " on | off

When set, hosts use the administered (stateful) protocol for address
autoconfiguration in addition to any addresses autoconfigured using
stateless address autoconfiguration.  The use of this flag is
described in RFC 4862.

Default: off

.TP
.BR AdvOtherConfigFlag " " on | off

When set, hosts use the administered (stateful) protocol for
autoconfiguration of other (non-address) information.  The use of
this flag is described in RFC 4862.

Default: off


And inspecting icmp6 traffic during connection it also looks about right:


11:12:46.914923 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) :: > ff02::1:ff70:feda: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has fe80::4444:f701:5555:feda
      unknown option (14), length 8 (1):
        0x0000:  fc92 6d42 7dd3
11:12:47.986890 IP6 (flowlabel 0xb2ea0, hlim 255, next-header ICMPv6 (58) payload length: 8) fe80::4444:f701:5770:fefe > ff02::2: [icmp6 sum ok] ICMP6, router solicitation, length 8
11:12:47.987440 IP6 (flowlabel 0xcccbe, hlim 255, next-header ICMPv6 (58) payload length: 40) fe80::da58:1111:fe00:2233 > fe80::4444:f701:5555:feda: [icmp6 sum ok] ICMP6, router advertisement, length 40
    hop limit 64, Flags [managed, other stateful], pref medium, router lifetime 0s, reachable time 0ms, retrans timer 0ms
      source link-address option (1), length 8 (1): d8:55:dd:11:22:33      <==== probably unrelated wifi accesspoint or some L2/L3 switch on a network
        0x0000:  d855 dd11 2233
      mtu option (5), length 8 (1):  1500
        0x0000:  0000 0000 05dc
      advertisement interval option (7), length 8 (1):  600000ms
        0x0000:  0000 0009 27c0
11:12:47.987752 IP6 (flowlabel 0x45c92, hlim 255, next-header ICMPv6 (58) payload length: 184) fe80::aaaa:bbbb:fed6:eeee > fe80::4444:f701:5555:feda: [icmp6 sum ok] ICMP6, router advertisement, length 184
    hop limit 64, Flags [none], pref high, router lifetime 300s, reachable time 900000ms, retrans timer 0ms
      prefix info option (3), length 32 (4): 2a02:111:2233:1::/64, Flags [onlink, auto], valid time 2592000s, pref. time 14400s
        0x0000:  40c0 0027 8d00 0000 3840 0000 0000 2a02
        0x0010:  0111 0001 0001 0000 0000 0000 0000
      prefix info option (3), length 32 (4): 2a02:111:2233:1::/64, Flags [onlink, auto], valid time 900s, pref. time 300s
        0x0000:  40c0 0000 0384 0000 012c 0000 0000 2a02
        0x0010:  0111 0001 0000 0000 0000 0000
      unknown option (38), length 16 (2):
        0x0000:  fff8 0064 ff9b 0000 0000 0000 0000
      rdnss option (25), length 40 (5):  lifetime 90s, addr: 2001:4860:4860::64 addr: 2001:4860:4860::6464
        0x0000:  0000 0000 005a 2001 4860 4860 0000 0000
        0x0010:  0000 0000 0064 2001 4860 4860 0000 0000
        0x0020:  0000 0000 6464
      dnssl option (31), length 24 (3):  lifetime 90s, domain(s): example.com.
        0x0000:  0000 0000 005a 0733 aabb 6666 6677 0311
        0x0010:  2233 0000 0000
      mtu option (5), length 8 (1):  9000
        0x0000:  0000 0000 2328
      source link-address option (1), length 8 (1): aa:bb:cc:dd:ee:ff
        0x0000:  aabb ccdd eeff
      advertisement interval option (7), length 8 (1):  30000ms
        0x0000:  0000 0000 7530
11:12:48.258299 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) :: > ff02::1:ffdd:4f4f: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2a02:111:2223:3:1122:3344:5ad6:7788
      unknown option (14), length 8 (1):
        0x0000:  1426 abcd 1234


No unexpected options. And all expected options are there.

Option 38 is PREF64 option, with correct '64:ff9b::/96' prefix. I know
that n-m does not fully support that yet, nor option DHCPv4 option 108,
and there is a work on that, but that is not what this bug is about.


But maybe some interface flag is not right:


4: enp65s0f0np0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP group default qlen 1000
    link/ether 64:9d:aa:aa:bb:cc brd ff:ff:ff:ff:ff:ff
    altname enx649d99ffee34
    inet6 2a02:111:2223:3:1122:3344:5ad6:7788/64 scope global dynamic noprefixroute              <==== ???
       valid_lft 7192sec preferred_lft 292sec
    inet6 fe80::4444:f701:5555:fefe/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever


But of course routes and default routes are accepted, and network works
perfectly fine.


Weirdly, if put IPv4 from disabled to Link-Local only (so it does not
fail), Network Manager is happy, and connection is stable (the IPv4 LL
is not used for anything, or any routing):

[1768740755.7602] device (enp65s0f0np0): Activation: starting connection 'Wired connection 1' (f662d320-87ec-3fcf-8c29-17814411099a)
[1768740755.7603] audit: op="connection-activate" uuid="f662d320-87ec-3fcf-8c29-17814411099a" name="Wired connection 1" pid=3714721 uid=1000 result="success"
[1768740755.7604] device (enp65s0f0np0): state change: disconnected -> prepare (reason 'none', managed-type: 'full')
[1768740755.7606] manager: NetworkManager state is now CONNECTING
[1768740755.7608] device (enp65s0f0np0): state change: prepare -> config (reason 'none', managed-type: 'full')
[1768740755.7613] device (enp65s0f0np0): state change: config -> ip-config (reason 'none', managed-type: 'full')
[1768740755.9368] device (enp65s0f0np0): state change: ip-config -> ip-check (reason 'none', managed-type: 'full')
[1768740755.9390] device (enp65s0f0np0): state change: ip-check -> secondaries (reason 'none', managed-type: 'full')
[1768740755.9392] device (enp65s0f0np0): state change: secondaries -> activated (reason 'none', managed-type: 'full')
[1768740755.9395] manager: NetworkManager state is now CONNECTED_LOCAL
[1768740755.9397] device (enp65s0f0np0): Activation: successful, device activated.
[1768740757.0725] dhcp6 (enp65s0f0np0): activation: beginning transaction (timeout in 45 seconds)
[1768740757.0735] manager: NetworkManager state is now CONNECTED_SITE
[1768740757.0735] policy: set 'Wired connection 1' (enp65s0f0np0) as default for IPv6 routing and DNS
(it still tries to do dhcp6, but there are no messages about it failing or timing out - it should
timeout without an error, but maybe some message should be printed)



Regards,
Witold



More information about the Pkg-utopia-maintainers mailing list