diff --git a/extra-repos/systemd/networkmanager/2469.patch b/extra-repos/systemd/networkmanager/2469.patch new file mode 100644 index 000000000..92bff2b3f --- /dev/null +++ b/extra-repos/systemd/networkmanager/2469.patch @@ -0,0 +1,64 @@ +From a31df960e4d9c1f2c9201500115cc1dda7fe6a4f Mon Sep 17 00:00:00 2001 +From: Beniamino Galvani +Date: Fri, 17 Jul 2026 14:04:44 +0200 +Subject: [PATCH] device: fix IPv4 forwarding not enabled on modem data + interfaces + +Modem devices implement ready_for_ip_config() to skip the standard IP +methods (DHCP, shared, link-local) since they handle IP configuration +via ModemManager bearers. + +This also skipped _dev_ipforwarding4_start(), which is responsible for: + + - Enabling forwarding when needed, e.g. when ipv4.method=shared is + active elsewhere. + + - Connecting to the SHARING_IPV4_CHANGED signal so forwarding can be + retroactively enabled when a shared connection appears later. + +As a result, when using a modem as the upstream connection and a Wi-Fi +hotspot (ipv4.method=shared), forwarding was not enabled on the +modem's data interface (e.g. qmapmux0.0), breaking IPv4 connection +sharing. + +Fix this by moving _dev_ipforwarding4_start() to the out_devip label +so it runs for all device types that have an IP ifindex, including +those that skip standard IP methods. + +Guard with an ifindex check so devices that don't yet have a kernel +link (like OVS internal interfaces) are not affected. + +Fixes: 32cbf4c629a3 ('ip: shared: stop using the global forwarding') + +https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/work_items/1935 +https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4118 +--- + src/core/devices/nm-device.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c +index 59c467d16a..4a723c977e 100644 +--- a/src/core/devices/nm-device.c ++++ b/src/core/devices/nm-device.c +@@ -13433,8 +13433,6 @@ activate_stage3_ip_config_for_addr_family(NMDevice *self, int addr_family) + if (priv->ipll_data_4.v4.mode == NM_SETTING_IP4_LL_ENABLED) + _dev_ipll4_start(self); + +- _dev_ipforwarding4_start(self, addr_family); +- + if (nm_streq(priv->ipv4_method, NM_SETTING_IP4_CONFIG_METHOD_AUTO)) + _dev_ipdhcpx_start(self, AF_INET); + else if (nm_streq(priv->ipv4_method, NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL)) { +@@ -13503,6 +13501,9 @@ activate_stage3_ip_config_for_addr_family(NMDevice *self, int addr_family) + } + + out_devip: ++ if (IS_IPv4 && nm_device_get_ip_ifindex(self) > 0) ++ _dev_ipforwarding4_start(self, addr_family); ++ + if (klass->act_stage3_ip_config) + klass->act_stage3_ip_config(self, addr_family); + +-- +GitLab + diff --git a/extra-repos/systemd/networkmanager/APKBUILD b/extra-repos/systemd/networkmanager/APKBUILD index 4f5e684b8..078c593b6 100644 --- a/extra-repos/systemd/networkmanager/APKBUILD +++ b/extra-repos/systemd/networkmanager/APKBUILD @@ -2,9 +2,9 @@ # integrates with logind for sleepmonitor and sessionmonitor. maintainer="" pkgname=networkmanager -_pkgver=1.52.2 +_pkgver=1.56.1 pkgver=9999$_pkgver -pkgrel=2 +pkgrel=1 pkgdesc="Network Management daemon" url="https://wiki.gnome.org/Projects/NetworkManager" # armhf: pmb#2618 @@ -60,6 +60,7 @@ subpackages=" $pkgname-dbg libnm $pkgname-dev + $pkgname-doc $pkgname-lang $pkgname-systemd $pkgname-adsl @@ -78,6 +79,7 @@ source="$pkgname-$_pkgver.tar.gz::https://github.com/NetworkManager/NetworkManag $pkgname.conf $pkgname.rules 0001-hack-wifi-Disable-WPA-PSK-SHA256-for-brcmfmac-in-AP-.patch + 2469.patch " builddir="$srcdir/NetworkManager-$_pkgver" @@ -239,8 +241,9 @@ _default_plugin() { } sha512sums=" -5683a4a4aaf2410dde2c93c38bbea45cdf1f82a4fe49c3582e9a4b2d62718b38fa4934ca92ad95611d52bdf2034f105ca11841fea375f392954e402a4381eb77 networkmanager-1.52.2.tar.gz +4c1e3c2d701a2d1239be72f4923479d542ed5c8467661cd900595a56501468d22ef129c06005e5937cd5d2b0927c46996653f87a4ac4aa1ccc57caf617425711 networkmanager-1.56.1.tar.gz 0f79016bf717dea43830962f524deae8d1cedc274376e40bd912ebe63208c5b1c3b7a5aa14379da19020c587dbd5588df2f0066ca1540070a226983a43e4159b networkmanager.conf 9820ed2ead0af689644842de57657bb10330a1eaff0e85b21ae9913f55e399e47d8b41b0a12956f30de80272b4424c6e55f33acbc88e156879003a260bf576f6 networkmanager.rules d1d23a2409f325814b2e361b886217efc0140af152723dfc5d049b1b6880ccc104d5c117d52fed6d0d87f46a1d477376592ba58531d383d9590cdf6af0b2b5f9 0001-hack-wifi-Disable-WPA-PSK-SHA256-for-brcmfmac-in-AP-.patch +cea8057ffec270eb25a37f00c142c76f69da062a8ab5fb40691ed14f85056c0d0b4a45adf900ddac25b518cb7e2a60c5c990c5860d9a8743d02713eee6facf28 2469.patch "