{"object_kind":"push","event_name":"push","before":"0aab6ef1c0d0e94aa1422301b9a9e8dec8617be9","after":"b5410bb24a3fca5c594541e1f27fff1c26972081","ref":"refs/heads/main","ref_protected":false,"checkout_sha":"b5410bb24a3fca5c594541e1f27fff1c26972081","message":null,"user_id":1050,"user_name":"Beniamino Galvani","user_username":"bgalvani","user_email":"","user_avatar":"https://gitlab.freedesktop.org/uploads/-/system/user/avatar/1050/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":"cb0929163507ecad0b907cb9ae3c1695d25d93aa","message":"nmcli: fix hiding default values\n\nA property should be hidden when it has the default value and one of the\nfollowing conditions is met:\n\n - nmcli is called in \"overview\" mode (with flag -o)\n - the property has the HIDE flag\n\nPreviously, properties with the HIDE flag were always hidden. Fix\nthat.\n","title":"nmcli: fix hiding default values","timestamp":"2026-02-06T10:37:56+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/cb0929163507ecad0b907cb9ae3c1695d25d93aa","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/nmcli/utils.c"],"removed":[]},{"id":"f2ced1e115ecad8132c2d1758e5ff0cd62268706","message":"l3cfg: split updating CLAT config to a separate function\n\nSplit the CLAT code from _l3cfg_update_combined_config() so that the\nfunction can be followed more easily.\n","title":"l3cfg: split updating CLAT config to a separate function","timestamp":"2026-02-06T10:37:57+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/f2ced1e115ecad8132c2d1758e5ff0cd62268706","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/nm-l3cfg.c"],"removed":[]},{"id":"de42acd3fd51e94064ab0eea7514f18cfae9eb0d","message":"core: print whether CLAT support is compiled in\n\nAt startup, print whether CLAT support is compiled in; it is useful\nwhen debugging.\n","title":"core: print whether CLAT support is compiled in","timestamp":"2026-02-06T10:37:57+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/de42acd3fd51e94064ab0eea7514f18cfae9eb0d","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/main.c"],"removed":[]},{"id":"aeeb52ab668b92251f897a8cb3d14a86bdb55b96","message":"core: log message if CLAT is enabled but not supported\n\nIf CLAT is not supported (disabled at build time) and the\nconfiguration enables it, log a message.\n","title":"core: log message if CLAT is enabled but not supported","timestamp":"2026-02-06T10:37:57+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/aeeb52ab668b92251f897a8cb3d14a86bdb55b96","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/devices/nm-device.c"],"removed":[]},{"id":"fbfb5afec0385fcec9d14b2d2554e29ce0276d47","message":"build: move the CLAT line in the meson summary\n\nMove the CLAT line from the Miscellaneous section to the Features one.\n","title":"build: move the CLAT line in the meson summary","timestamp":"2026-02-06T10:37:58+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/fbfb5afec0385fcec9d14b2d2554e29ce0276d47","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["meson.build"],"removed":[]},{"id":"6d44237ed30f3add1b38a138aec644bba419a540","message":"ndisc: track multiple PREF64 options\n\nPreviously the NMNDisc instance always used the last received NAT64\nprefix. If a network advertises multiple NAT64 prefixes,\nNetworkManager would constantly flip between them. Change this and\nkeep a list of valid PREF64. Most importantly, stick with the same\nPREF64 unless a new one appears from a router with higher priority, or\nthe current PREF64 expires.\n","title":"ndisc: track multiple PREF64 options","timestamp":"2026-02-06T10:37:58+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/6d44237ed30f3add1b38a138aec644bba419a540","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/ndisc/nm-lndp-ndisc.c","src/core/ndisc/nm-ndisc-private.h","src/core/ndisc/nm-ndisc.c","src/core/ndisc/nm-ndisc.h"],"removed":[]},{"id":"5c041cb891997171a5385777e35a7eb92142798a","message":"l3cfg: send DAD solicitation for the IPv6 CLAT address\n\nAs per draft-ietf-v6ops-claton-14, hosts must perform duplicate\naddresses detection (DAD) on the generated CLAT IPv6 address. This is\nnecessary not only to avoid address collisions but also because some\nnetworks drop traffic from addresses that have not done DAD.\n\nSince doing true DAD adds complexity, adopt the same approach as\nAndroid: start DAD by sending a neighbor solicitation and don't wait\nfor any reply. This avoids the problem with dropped traffic; it\ndoesn't help with collisions, but collisions are anyway very unlikely\nbecause the interface identifier is a random 64-bit value.\n\n https://android.googlesource.com/platform/packages/modules/Connectivity/+/5ae193ae36ec7621a5f7bcf387997c5081e9c239/clatd/main.c#363\n","title":"l3cfg: send DAD solicitation for the IPv6 CLAT address","timestamp":"2026-02-06T10:37:59+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/5c041cb891997171a5385777e35a7eb92142798a","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/nm-core-utils.c","src/core/nm-core-utils.h","src/core/nm-l3cfg.c","src/core/tests/test-core.c"],"removed":[]},{"id":"72cb5839fc8a0f7ac6963e3e91860014b0ab7f72","message":"core: l3cd: store the CLAT state\n\nIn the l3cd we already stored the CLAT administrative state (whether\nwe want to enable it or not) and the selected PREF64. Also store the\nother current CLAT parameters, so that we can export them to clients\nvia D-Bus.\n","title":"core: l3cd: store the CLAT state","timestamp":"2026-02-06T10:38:00+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/72cb5839fc8a0f7ac6963e3e91860014b0ab7f72","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/nm-l3-config-data.c","src/core/nm-l3-config-data.h"],"removed":[]},{"id":"f00030d79acf8a4a0b491646be814f279bd7ae9c","message":"core: export the CLAT state over D-Bus\n\nExport over D-Bus the CLAT state: the IPv4 and IPv6 CLAT addresses and\nthe NAT64 prefix.\n","title":"core: export the CLAT state over D-Bus","timestamp":"2026-02-06T10:38:02+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/f00030d79acf8a4a0b491646be814f279bd7ae9c","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/nm-ip-config.c","src/core/nm-l3cfg.c"],"removed":[]},{"id":"d1598a10ece7ac89bd92eeb1f87204b77602c8e3","message":"libnm: support the CLAT state\n\nMake available the CLAT state in the NMIPConfig libnm objects.\n","title":"libnm: support the CLAT state","timestamp":"2026-02-06T10:38:03+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/d1598a10ece7ac89bd92eeb1f87204b77602c8e3","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/libnm-client-impl/libnm.ver","src/libnm-client-impl/nm-ip-config.c","src/libnm-client-public/nm-ip-config.h"],"removed":[]},{"id":"c86d23451669024e834eccdfcb46c73df29059f2","message":"nmcli: show the CLAT state\n\nIt is useful to show that the CLAT is enabled and which addresses and\nprefix it is using. Add this information to the overview and to the\ndevice/connection output. Example:\n\n$ nmcli\n veth0: connected to clat\n \"veth0\"\n ethernet (veth), 4A:37:01:56:9D:AE, sw, mtu 1500\n ip4 default\n inet4 192.0.0.5/32\n route4 default metric 101\n inet6 2002:aaaa::64d4:2932:3585:7c89/64\n inet6 fe80::c060:8caf:f69b:e41a/64\n route6 fe80::/64 metric 1024\n route6 2002:aaaa::/64 metric 101\n route6 default via fe80::871:7ff:fe14:b7b9 metric 101\n clat inet4 192.0.0.5 inet6 2002:aaaa::2c0d:1e71:ef87:fac7 pref64 64:ff9b::/96\n\n$ nmcli connection show clat\n ...\n IP4.ADDRESS[1]: 192.0.0.5/32\n IP4.GATEWAY: 0.0.0.0\n IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 0.0.0.0, mt = 101\n IP4.CLAT-ADDRESS: 192.0.0.5\n IP6.ADDRESS[1]: 2002:aaaa::64d4:2932:3585:7c89/64\n IP6.ADDRESS[2]: fe80::c060:8caf:f69b:e41a/64\n IP6.GATEWAY: fe80::871:7ff:fe14:b7b9\n IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024\n IP6.ROUTE[2]: dst = 2002:aaaa::/64, nh = ::, mt = 101\n IP6.ROUTE[3]: dst = ::/0, nh = fe80::871:7ff:fe14:b7b9, mt = 101\n IP6.CLAT-ADDRESS: 2002:aaaa::2c0d:1e71:ef87:fac7\n IP6.CLAT-PREF64: 64:ff9b::/96\n\nNote how the IPv4 CLAT address is displayed both in IP4.ADDRESS and\nIP4.CLAT-ADDRESS. That's because it is also configured in kernel. The\nIPv6 CLAT address is not displayed in IP6.ADDRESS because it's not\nconfigured in kernel.\n","title":"nmcli: show the CLAT state","timestamp":"2026-02-06T10:38:04+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/c86d23451669024e834eccdfcb46c73df29059f2","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/nmcli/common.c","src/nmcli/general.c","src/nmcli/utils.h","src/tests/client/test-client.check-on-disk/test_003.expected","tools/test-networkmanager-service.py"],"removed":[]},{"id":"e2cdd5c4dc2dae6b4fae19744f7b94f5de601dc5","message":"build: don't require libndp >= 1.9 if CLAT is disabled\n\nlibndp >= 1.9 is only required to parse the PREF64 option needed for\nCLAT. When building NM in an enviroment with an older libndp, still\nallow building without CLAT support.\n","title":"build: don't require libndp >= 1.9 if CLAT is disabled","timestamp":"2026-02-06T10:38:05+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/e2cdd5c4dc2dae6b4fae19744f7b94f5de601dc5","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["meson.build","src/core/ndisc/nm-lndp-ndisc.c"],"removed":[]},{"id":"f9b20833940d0a0a1d74347a27c579883d73ab4e","message":"l3cd: rename \"clat\" to \"clat_config\"\n\nThe member indicates if CLAT is enabled in the configuration. Use a\nclearer name.\n","title":"l3cd: rename \"clat\" to \"clat_config\"","timestamp":"2026-02-06T10:38:06+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/f9b20833940d0a0a1d74347a27c579883d73ab4e","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/devices/nm-device.c","src/core/nm-l3-config-data.c","src/core/nm-l3-config-data.h","src/core/nm-l3cfg.c"],"removed":[]},{"id":"d7edc806b60f3c027406f5b0329052758bade05f","message":"core: clat: add the \"nm\" prefix to ebpf program names\n\nThe program names are displayed in the \"bpftool prog\" output. It is\neasier to recognize NM programs if they have the \"nm\" prefix.\n","title":"core: clat: add the \"nm\" prefix to ebpf program names","timestamp":"2026-02-06T10:38:07+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/d7edc806b60f3c027406f5b0329052758bade05f","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/bpf/clat.bpf.c","src/core/nm-l3cfg.c"],"removed":[]},{"id":"112190d09a4bc7f117859c5c5551682534a96821","message":"clat: support layer3 interfaces\n\nWhen running the CLAT over an interface that doesn't use the Ethernet\nheader, like an IP tunnel, there are some changes needed. The BPF\nprogram must compute offsets differently. Also, the DAD packet should\nnot include an Ethernet header.\n","title":"clat: support layer3 interfaces","timestamp":"2026-02-06T17:47:30+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/112190d09a4bc7f117859c5c5551682534a96821","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/bpf/clat.bpf.c","src/core/nm-core-utils.c","src/core/nm-core-utils.h","src/core/nm-l3cfg.c"],"removed":[]},{"id":"a4e30ee849c05d73bdebb0c963724fc3e61d567c","message":"clat: print translation statistics during deactivation\n\nPrint some statistics about the translation when the connection goes\ndown:\n\n clat: stats: egress (v4 to v6): tcp 1275, udp 191, icmp 9, other 0, dropped 2; ingress (v6 to v4): tcp 1669, udp 272, icmp 0, other 0, fragment 136, dropped 0\n\nThose counters can be used to better understand what's going wrong in\ncase of problems; for example, if the packets are being dropped in the\ningress path or in the egress one.\n","title":"clat: print translation statistics during deactivation","timestamp":"2026-02-06T17:47:33+01:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/a4e30ee849c05d73bdebb0c963724fc3e61d567c","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/bpf/clat.bpf.c","src/core/bpf/clat.h","src/core/nm-l3cfg.c"],"removed":[]},{"id":"b5410bb24a3fca5c594541e1f27fff1c26972081","message":"merge: branch 'bg/clat-improvements'\n\nCLAT improvements\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2353","title":"merge: branch 'bg/clat-improvements'","timestamp":"2026-02-10T08:53:35+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/b5410bb24a3fca5c594541e1f27fff1c26972081","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["meson.build","src/core/bpf/clat.bpf.c","src/core/bpf/clat.h","src/core/devices/nm-device.c","src/core/main.c","src/core/ndisc/nm-lndp-ndisc.c","src/core/ndisc/nm-ndisc-private.h","src/core/ndisc/nm-ndisc.c","src/core/ndisc/nm-ndisc.h","src/core/nm-core-utils.c","src/core/nm-core-utils.h","src/core/nm-ip-config.c","src/core/nm-l3-config-data.c","src/core/nm-l3-config-data.h","src/core/nm-l3cfg.c","src/core/tests/test-core.c","src/libnm-client-impl/libnm.ver","src/libnm-client-impl/nm-ip-config.c","src/libnm-client-public/nm-ip-config.h","src/nmcli/common.c","src/nmcli/general.c","src/nmcli/utils.c","src/nmcli/utils.h","src/tests/client/test-client.check-on-disk/test_003.expected","tools/test-networkmanager-service.py"],"removed":[]}],"total_commits_count":17,"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}}