{"object_kind":"push","event_name":"push","before":"99bcfa3a625a4471077f376cf4c36287285e4eef","after":"b5731c989ae5eaf81280647853c560748b717a00","ref":"refs/heads/ih/forwarding","ref_protected":false,"checkout_sha":"b5731c989ae5eaf81280647853c560748b717a00","message":null,"user_id":94562,"user_name":"Íñigo Huguet","user_username":"ihuguet","user_email":"","user_avatar":"https://gitlab.freedesktop.org/uploads/-/system/user/avatar/94562/avatar.png","project_id":411,"project":{"id":411,"name":"NetworkManager","description":"NetworkManager — network management daemon","web_url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager","avatar_url":"https://gitlab.freedesktop.org/uploads/-/system/project/avatar/411/nm_logo.png","git_ssh_url":"git@ssh.gitlab.freedesktop.org:NetworkManager/NetworkManager.git","git_http_url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git","namespace":"NetworkManager","visibility_level":20,"path_with_namespace":"NetworkManager/NetworkManager","default_branch":"main","ci_config_path":"","homepage":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager","url":"git@ssh.gitlab.freedesktop.org:NetworkManager/NetworkManager.git","ssh_url":"git@ssh.gitlab.freedesktop.org:NetworkManager/NetworkManager.git","http_url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git"},"commits":[{"id":"6f6bb17a28e7247bfae8794f622b6855440b53e1","message":"nm-initrd-generator: fix ignored prefix for IPv6 address with brackets\n\nWhen defining an IPv6 address with square brackets and prefix, like\n[dead::beef]/64, the prefix was silently ignored. The address was\naccepted only accidentally, because get_word replaced ']' with '\\0' so\nit resulted in a valid IPv6 address string, but without the prefix.\n\nThe previous commit has fixed get_word with better logic to handle the\nsquare brackets, uncovering this issue.\n\nFix it by explicitly splitting IP addresses and prefixes in\nreader_parse_ip so we get a valid address and prefix.\n\nAlso, use a prefix different to 64 in the test test_if_ip6_manual. 64 is\nthe default one, making that the test passed despite the defined prefix\nwas actually ignored.\n\nFixes: ecc074b2f8a6 ('initrd: add command line parser')\n","title":"nm-initrd-generator: fix ignored prefix for IPv6 address with brackets","timestamp":"2025-05-14T07:35:31+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/6f6bb17a28e7247bfae8794f622b6855440b53e1","author":{"name":"Íñigo Huguet","email":"ihuguet@redhat.com"},"added":[],"modified":["src/nm-initrd-generator/nmi-cmdline-reader.c","src/nm-initrd-generator/tests/test-cmdline-reader.c"],"removed":[]},{"id":"34255b26922d9555cd3341f444087c8e81b0a21e","message":"merge: branch 'ih/initrd-fix-bond-ip6'\n\nnm-initrd-generator: fix IPv6 with square brackets in bond options\n\nCloses #1755 and #1731\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2197","title":"merge: branch 'ih/initrd-fix-bond-ip6'","timestamp":"2025-05-14T05:36:37+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/34255b26922d9555cd3341f444087c8e81b0a21e","author":{"name":"Íñigo Huguet","email":"inigohuguet@hotmail.com"},"added":[],"modified":["src/nm-initrd-generator/nmi-cmdline-reader.c","src/nm-initrd-generator/tests/test-cmdline-reader.c"],"removed":[]},{"id":"94595332c454384cd67ae6ab6e54e3684bc6a97a","message":"core: virtual devices can be available without a parent set\n\nWhen calling to nm_device_is_available, the device types that requires a\nparent like VLAN or MACVLAN checks that their parent exists.\n\nnm_device_is_available is a function to check if the device is available\nto activate a connection, so it makes sense that if the parent is not\npresent it can't be activated.\n\nHowever, this is wrong for 2 reasons:\n1. Most of they are virtual devices that might be unrealized when\n checking its availability. If they're unrealized, their parent hasn't\n been set yet.\n2. Even if they're realized, their current parent might not be the one\n that is defined in the connection that is being activated.\n\nThis is causing that unrealized devices are not being activated as ports\nbecause nm_manager_get_best_device_for_connection thinks that they are\nnot available.\n\nGet rid of these checks for the parent in the is_available callbacks.\n\nFixes: ba86c208e0aa ('Revert \"core: prevent the activation of unavailable OVS interfaces only\"')\nFixes: 774badb1519a ('core: prevent the activation of unavailable devices')\n","title":"core: virtual devices can be available without a parent set","timestamp":"2025-05-14T05:42:19+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/94595332c454384cd67ae6ab6e54e3684bc6a97a","author":{"name":"Íñigo Huguet","email":"ihuguet@redhat.com"},"added":[],"modified":["src/core/devices/nm-device-6lowpan.c","src/core/devices/nm-device-ipvlan.c","src/core/devices/nm-device-macsec.c","src/core/devices/nm-device-macvlan.c","src/core/devices/nm-device-vlan.c"],"removed":[]},{"id":"892e816a9defd82406ca597ef0d826c3f183f92a","message":"merge: branch 'ih/unrealized-parents'\n\ncore: virtual devices can be available without a parent\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2203","title":"merge: branch 'ih/unrealized-parents'","timestamp":"2025-05-14T05:42:36+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/892e816a9defd82406ca597ef0d826c3f183f92a","author":{"name":"Íñigo Huguet","email":"inigohuguet@hotmail.com"},"added":[],"modified":["src/core/devices/nm-device-6lowpan.c","src/core/devices/nm-device-ipvlan.c","src/core/devices/nm-device-macsec.c","src/core/devices/nm-device-macvlan.c","src/core/devices/nm-device-vlan.c"],"removed":[]},{"id":"fd3eccfb1612a3bac87232e1cbaabc10da80c302","message":"device: update the external-down unmanaged flag on port attach/release\n\nA device has the \"external-down\" unmanaged flag when:\n\n !is-created-by-nm AND (!is-up OR (!has-address AND !is-controller))\n\nWhen the \"is-up\" or the \"has-address\" conditions change, we properly update\nthe unmanaged flag by calling _dev_unmanaged_check_external_down() in\n_dev_l3_cfg_notify_cb(PLATFORM_CHANGE_ON_IDLE).\n\nThe \"is-controller\" condition changes when another link indicates the\ncurrent device as controller. We currently don't update the unmanaged flag\nwhen that happens and so it's possible that the device stays unmanaged even\nif it has a port. This can be easily reproduced by running this commands:\n\n ip link add veth0 type veth peer name veth1\n ip link add vrf0 type vrf table 10\n ip link set vrf0 up\n ip link set veth0 master vrf0\n\nSometimes, the device shows as \"unmanaged\" instead of \"connected\n(externally)\".\n\nFix this by re-evaluating the \"external-down\" unmanaged flags on the\ncontroller when a port is attached or detached.\n\nFixes: c3586ce01a5b ('device: consider a device with slaves configured')\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2209\n","title":"device: update the external-down unmanaged flag on port attach/release","timestamp":"2025-05-15T17:22:39+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/fd3eccfb1612a3bac87232e1cbaabc10da80c302","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/devices/nm-device.c"],"removed":[]},{"id":"c1350f40bdc769514f637b4b6754c4ff3ef67b66","message":"ip-config: fix crash in DNS options evaluation\n\nFixes: 58287cbcc0c8 ('core: rework IP configuration in NetworkManager using layer 3 configuration')\n","title":"ip-config: fix crash in DNS options evaluation","timestamp":"2025-05-16T09:41:03+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/c1350f40bdc769514f637b4b6754c4ff3ef67b66","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/nm-ip-config.c"],"removed":[]},{"id":"dd7252ff0c98fa1eed5c0e5a7b9ebcb63aef93a2","message":"merge: branch 'bg/ip-config-crash'\n\nip-config: fix crash in DNS options evaluation\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2210","title":"merge: branch 'bg/ip-config-crash'","timestamp":"2025-05-16T15:36:08+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/dd7252ff0c98fa1eed5c0e5a7b9ebcb63aef93a2","author":{"name":"Gris Ge","email":"fge@redhat.com"},"added":[],"modified":["src/core/nm-ip-config.c"],"removed":[]},{"id":"43bcfbcdf5e255544adee3d02d0e98efa088c5d3","message":"cli: drop _NMC_RL_STARTUPHOOK_ARGS\n\nFixes incompatible pointer types warning, which became an error in\nnewer compilers (e.g., https://bugs.gentoo.org/938249).\n\nModern libedit versions use the same type signature as readline for\nrl_startup_hook, both declare\n\ntypedef int\t rl_hook_func_t(void)\n\nThis essentially reverts f47d55fc66bb (\"cli: Fix for rl_startup_hook\nfunction signatures mismatch (-lreadline vs -ledit)\").\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2082\n","title":"cli: drop _NMC_RL_STARTUPHOOK_ARGS","timestamp":"2025-05-20T09:54:31+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/43bcfbcdf5e255544adee3d02d0e98efa088c5d3","author":{"name":"Florian Schmaus","email":"flo@geekplace.eu"},"added":[],"modified":["src/nmcli/agent.c","src/nmcli/common.c","src/nmcli/common.h"],"removed":[]},{"id":"ccd9431e82ecb1653e4fb22116195d9eada1a3e5","message":"device: update L3 if connectivity changes in IP_CHECK/SECONDARIES\n\nIf connectivity goes from/to FULL, the penalization of default route metric\nmay change. For this reason we re-commit L3 configuration if the\nconnectivity changes while the device is ACTIVATED.\n\nHowever, there are more device states that need consideration:\nIP_CHECK and SECONDARIES, that happen between initial configuration on\nIP_CONFIG and removal when the device goes DEACTIVATING.\n\nThis should fix the issue encountered here:\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2070\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2212\n","title":"device: update L3 if connectivity changes in IP_CHECK/SECONDARIES","timestamp":"2025-05-22T11:18:36+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/ccd9431e82ecb1653e4fb22116195d9eada1a3e5","author":{"name":"Lubomir Rintel","email":"lkundrak@v3.sk"},"added":[],"modified":["src/core/devices/nm-device.c"],"removed":[]},{"id":"75b3f8496b7c39f1fa6f824bd6724ba980e8b8fd","message":"dns: Fix port handling in Dnsconfd plugin\n\nFixes #1765\n","title":"dns: Fix port handling in Dnsconfd plugin","timestamp":"2025-05-27T08:24:22+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/75b3f8496b7c39f1fa6f824bd6724ba980e8b8fd","author":{"name":"Tomas Korbar","email":"tkorbar@redhat.com"},"added":[],"modified":["src/core/dns/nm-dns-dnsconfd.c","src/libnm-core-aux-intern/nm-libnm-core-utils.c","src/libnm-core-aux-intern/nm-libnm-core-utils.h","src/libnm-core-impl/tests/test-general.c"],"removed":[]},{"id":"4ec06e1eaa046dba35b3289e114f6b6e38e978d0","message":"merge: branch 'dnsconfd-port-fix'\n\ndns: Fix port handling in Dnsconfd plugin\n\nCloses #1765\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2211","title":"merge: branch 'dnsconfd-port-fix'","timestamp":"2025-05-27T08:49:59+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/4ec06e1eaa046dba35b3289e114f6b6e38e978d0","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/dns/nm-dns-dnsconfd.c","src/libnm-core-aux-intern/nm-libnm-core-utils.c","src/libnm-core-aux-intern/nm-libnm-core-utils.h","src/libnm-core-impl/tests/test-general.c"],"removed":[]},{"id":"5ef3cfa4d02d144fc309aa0c5ce05019e7b66d4a","message":"ovs/factory: improve logging\n\nBe clearer about the progress of creating the device and ways it can end\nup failing.\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2207\n","title":"ovs/factory: improve logging","timestamp":"2025-05-27T11:29:01+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/5ef3cfa4d02d144fc309aa0c5ce05019e7b66d4a","author":{"name":"Lubomir Rintel","email":"lkundrak@v3.sk"},"added":[],"modified":["src/core/devices/ovs/nm-ovs-factory.c"],"removed":[]},{"id":"f680f23cba387ab188952080e94cabbad73f6dcb","message":"manager: note if we see an openvswitch link without a plugin\n\nAdd Open VSwitch to link types that are supported by a plugin.\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2207\n","title":"manager: note if we see an openvswitch link without a plugin","timestamp":"2025-05-27T11:29:01+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/f680f23cba387ab188952080e94cabbad73f6dcb","author":{"name":"Lubomir Rintel","email":"lkundrak@v3.sk"},"added":[],"modified":["src/core/nm-manager.c"],"removed":[]},{"id":"dcf4bc92411ce81c6e0b3673297f75156bd687f1","message":"ovs/factory: fix manager-initiated device creation\n\nThe Open VSwitch interfaces have corresponding platform links. When an\nOpen VSwitch interface is created while NetworkManager is running, the\nOVS factory usually sees an OVSDB entry appear first, then creates a\nNMDevice. After that, when a platform link appears, the device is\nalready there.\n\nUpon a (re-)start, the link might be seen first, and then things\ngo south. The OVS factory rejects the device, which results in Generic\ndevice being created instead. Another device, this time of an\nappropriate is created for the same link once the OVSDB entry is seen.\n\nNeedless to say, with two NMDevices for the same platform link existing,\nno end of mayhem ensues (an assertion is tripped).\n\nResolves: https://issues.redhat.com/browse/NMT-1634\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2207\n","title":"ovs/factory: fix manager-initiated device creation","timestamp":"2025-05-27T11:29:01+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/dcf4bc92411ce81c6e0b3673297f75156bd687f1","author":{"name":"Lubomir Rintel","email":"lkundrak@v3.sk"},"added":[],"modified":["src/core/devices/ovs/nm-ovs-factory.c"],"removed":[]},{"id":"7ee8d84a1ea030f5a4dd867702ed2992f192c5c8","message":"merge: branch 'lr/ovs-generic'\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2207\n","title":"merge: branch 'lr/ovs-generic'","timestamp":"2025-05-27T11:29:46+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/7ee8d84a1ea030f5a4dd867702ed2992f192c5c8","author":{"name":"Lubomir Rintel","email":"lkundrak@v3.sk"},"added":[],"modified":["src/core/devices/ovs/nm-ovs-factory.c","src/core/nm-manager.c"],"removed":[]},{"id":"c69681d8858ca9286d436307ebb3c10c30f7e491","message":"Revert \"policy: refresh IPv4 forwarding after connection activation and disconnection\"\n\nThis reverts commit 2ad5fbf0253d6f915a0e8815ca70ba4d9ec41648.\n\nIt is actually a partial revert. The changes to documentation don't need\nto be reverted.\n\nFixes: 2ad5fbf0253d ('policy: refresh IPv4 forwarding after connection activation and disconnection')\n","title":"Revert \"policy: refresh IPv4 forwarding after connection activation and disconnection\"","timestamp":"2025-05-28T08:31:52+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/c69681d8858ca9286d436307ebb3c10c30f7e491","author":{"name":"Íñigo Huguet","email":"ihuguet@redhat.com"},"added":[],"modified":["src/core/devices/nm-device.c","src/core/devices/nm-device.h","src/core/nm-policy.c"],"removed":[]},{"id":"5e33643097ea9ffe18db5be6d4910eb3656ae84c","message":"ip: restore IP forwarding on device deconfiguration\n\nWith the ipv4.forwarding property we may modify the forwarding sysctl of\nthe device on activation. In next commits, we will also modify it if the\nconnection is shared, instead of modifying the global forwarding.\n\nRestore the forwarding value to the default one when the device is\ndeconfigured for any reason. But don't touch it if it was activated with\nipv4.forwarding=ignore.\n\nFixes: a8a2e6d727f0 ('ip-config: Support configuring per-device IPv4 sysctl forwarding option')\n","title":"ip: restore IP forwarding on device deconfiguration","timestamp":"2025-05-28T08:31:54+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/5e33643097ea9ffe18db5be6d4910eb3656ae84c","author":{"name":"Íñigo Huguet","email":"ihuguet@redhat.com"},"added":[],"modified":["src/core/devices/nm-device.c"],"removed":[]},{"id":"4aa8b80c83af34a3c60b1f4b85f8368acd4b14f0","message":"fixup! ip: restore IP forwarding on device deconfiguration\n","title":"fixup! ip: restore IP forwarding on device deconfiguration","timestamp":"2025-05-28T08:35:58+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/4aa8b80c83af34a3c60b1f4b85f8368acd4b14f0","author":{"name":"Íñigo Huguet","email":"ihuguet@redhat.com"},"added":[],"modified":["src/core/devices/nm-device.c"],"removed":[]},{"id":"d234dbba1eacc67baa09518e31e87de3e0b730e6","message":"manager: add sharing-ipv4-changed signal\n\nThis signal notifies about the \"sharing state\", that's it, when there\nis at least one shared connection active or not. Each device informs\nto nm_manager when a shared connection is activated or deactivated\nand nm_manager emits this signal when the first shared connection is\nactivated or the last one is deactivated.\n\nFor now we're only interested in IPv4 forwarding as it's the only one\nthat we need to track from nm_device (in following commits).\n\nFixes: a8a2e6d727f0 ('ip-config: Support configuring per-device IPv4 sysctl forwarding option')\n","title":"manager: add sharing-ipv4-changed signal","timestamp":"2025-05-28T08:36:02+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/d234dbba1eacc67baa09518e31e87de3e0b730e6","author":{"name":"Íñigo Huguet","email":"ihuguet@redhat.com"},"added":[],"modified":["src/core/devices/nm-device.c","src/core/nm-manager.c","src/core/nm-manager.h"],"removed":[]},{"id":"b5731c989ae5eaf81280647853c560748b717a00","message":"ip: shared: stop using the global forwarding\n\nAs we introduced the ipv4.forwarding property in a8a2e6d727f0 ('ip-config:\nSupport configuring per-device IPv4 sysctl forwarding option'), we must\nnot enable or disable the global forwarding setting in the kernel, as it\naffects to all the devices, maybe forcing them to behave in a way\ndifferent to what the user requested in ipv4.forwarding.\n\nInstead, we need to selectively enable or disable the per-device forwarding\nsettings. Specifically, only devices activated with ipv4.forwarding=auto\nmust have their forwarding enabled or disabled depending on shared\nconnections. Devices with yes/no/ignore must not be affected by shared\nconnections.\n\nAlso, devices with ipv4.forwarding=auto must get the proper forwarding value\non activation, but also change it when shared connections appear or\ndissapear dynamically. Use the new sharing-ipv6-change signal from\nnm_manager to achieve it.\n\nFixes: a8a2e6d727f0 ('ip-config: Support configuring per-device IPv4 sysctl forwarding option')\n","title":"ip: shared: stop using the global forwarding","timestamp":"2025-05-28T08:36:03+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/b5731c989ae5eaf81280647853c560748b717a00","author":{"name":"Íñigo Huguet","email":"ihuguet@redhat.com"},"added":[],"modified":["src/core/devices/nm-device.c"],"removed":[]}],"total_commits_count":24,"push_options":{},"repository":{"name":"NetworkManager","url":"git@ssh.gitlab.freedesktop.org:NetworkManager/NetworkManager.git","description":"NetworkManager — network management daemon","homepage":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager","git_http_url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git","git_ssh_url":"git@ssh.gitlab.freedesktop.org:NetworkManager/NetworkManager.git","visibility_level":20}}