Hi Simon, On Tue, Jul 22, 2025 at 12:55:31PM +0100, Simon McVittie wrote: > On Mon, 21 Jul 2025 at 23:46:48 +0000, Andy Smith wrote: > > This is a server system with network statically configured by ifupdown. > > I assume you are not also running NetworkManager on this system, and have > not taken any particular steps to install extra GNetworkMonitor plugins?
That's correct, there is no NetworkManager here. ifupdown is configured to bring up interfaces e-25g-0 and e-25g-1 with static link-local addresses, as well as some global scope addresses on interface lo. The BIRD software then establishes BGP sessions which provide two default routes. > I think this would likely go better if you can talk directly to upstream via > https://gitlab.gnome.org/GNOME/glib/-/issues/ - I am unlikely to be able to > add value to that conversation, since I am not an expert on network routing > or netlink. I don't think any of the other GLib maintainers within Debian > are, either. Fair enough, I will give that a try. > > This is a valid network configuration since even if BGP were not in the > > picture, it could be talking to its default gateway router over one of > > the link-local addresses and still be fully functional as an Internet > > host. > > Those link-local addresses are IPv6-only, though, so how would you contact > an IPv4 address like 8.8.8.8 that way? Even if the link-local addresses have > a default route to the entire IPv6 internet, that isn't going to cover the > IPv4 internet. Linux has supported an IPv6 next-hop for IPv4 for quite a while now. So again, taking BGP out of the picture you could on a Debian host type something like: # ip address add 192.168.1.1/32 dev eth0 # ip -4 route add default via inet6 fe80::1 src 192.168.1.1 and assuming that fe80::1 was an address available on the network that eth0 is connected to, that would work to direct all IPv4 traffic through it. However, last time I looked it was not possible to configure that in typical distribution-level network configuration frameworks like NetworkManager or systemd-networkd. In ifupdown you'd have to do it by calling "ip" commands directly in hooks. I've also seen other software that is very confused by the fact that the IPv4 Internet is reachable (only) through an IPv6 address. Maybe that is what is going on here. I appreciate how this would be a bit outside of the norm for a desktop setup, though if it is that then I think it's still a bug worth reporting because IPv6-only networks are a thing that should be supported, and will be seen sooner by those with mobile devices. Of course, my goal here is to get firmware updates for which fwupd is really my only option aside from hunting the updates down manually. > I don't see any sign of a default gateway router among the ip(8) output you > quoted - I think you would have to run "ip -4 route list" to show the > presence or absence of a default gateway (and if I understand correctly, "ip > -4 route list" is implemented in terms of netlink requests similar to the > one GLib is doing). $ ip -4 route list | grep -A2 default default proto bird src 85.119.80.32 metric 500 nexthop via inet6 fe80::1 dev e-25g-0 weight 1 nexthop via inet6 fe80::1 dev e-25g-1 weight 1 I note that cdn.fwupd.org does have an IPv6 address as well, yet g_network_monitor_can_reach() on this host also fails for that. Thanks, Andy