{"object_kind":"push","event_name":"push","before":"ee56e17c53396e536015a282453e66b831bd6e3a","after":"ef234f834c02f3e627a4ae5cf62e887cb82a13ee","ref":"refs/heads/main","ref_protected":false,"checkout_sha":"ef234f834c02f3e627a4ae5cf62e887cb82a13ee","message":null,"user_id":1050,"user_name":"Beniamino Galvani","user_username":"bgalvani","user_email":"[REDACTED]","user_avatar":"https://gitlab.freedesktop.org/uploads/-/system/user/avatar/1050/avatar.png?v=1791605000","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?v=1791569232","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":"38698689ccf33229e427bcfcf1041ddf31aa0430","message":"bpf: clat: fix inner ICMPv6 checksum computation\n\nrewrite_icmpv6_inner() was using the fields of the outer IPv6 header\nas the pseudo-header when updating the ICMP checksum, instead of the\ninner one.\n\nSuggested-by: Skye Soss \n\nFixes: c93ce654671c ('bpf: clat: translate inner headers of incoming ICMPv6 errors')\n","title":"bpf: clat: fix inner ICMPv6 checksum computation","timestamp":"2026-10-08T23:04:28+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/38698689ccf33229e427bcfcf1041ddf31aa0430","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/bpf/clat.bpf.c"],"removed":[]},{"id":"03ab223b9da95e423ea3e236b368caf6308efb50","message":"bpf: clat: fix ICMP checksum update with truncated inner L4 header\n\nAccording to RFC 792, an ICMPv4 error message is required to include\nthe IP header plus the first 8 octets from the original packet. The\nTCP checksum is at offset 16 inside the TCP header, and so it might\nnot be present in the inner packet.\n\nIf we fail to update the inner L4 checksum because the field is not\nincluded, the packet data didn't change and we must not update\ncsum_diff. Setting it would corrupt the ICMP checksum.\n\nSuggested-by: Skye Soss \n\nFixes: c93ce654671c ('bpf: clat: translate inner headers of incoming ICMPv6 errors')\n","title":"bpf: clat: fix ICMP checksum update with truncated inner L4 header","timestamp":"2026-10-08T23:09:59+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/03ab223b9da95e423ea3e236b368caf6308efb50","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/bpf/clat.bpf.c"],"removed":[]},{"id":"ab4c4c62762ec1b92aae7c2c5f4128858be448f5","message":"bpf: clat: fix handling of 0-checksum UDP packets inside ICMP\n\nFix the following scenario:\n\n - The client send an IPv4 UDP packet with zero checksum.\n - The CLAT translates it into a 0-checksum IPv6 UDP packet.\n - The packet is rejected by a router, which generates an ICMPv6 error\n message quoting the original IPv6 packet.\n - The ICMP packet reaches the CLAT.\n - When translating the inner IPv6 packet to IPv4, the CLAT invokes\n update_l4_checksum(), which:\n - Computes the pseudo-header differences into 'csum'.\n - Calls bpf_l4_csum_replace(flags=BPF_F_MARK_MANGLED_0) to update\n the UDP checksum. The function doesn't touch the checksum because\n of BPF_F_MARK_MANGLED_0.\n - Update_l4_checksum() still updates 'csum_diff' even if it didn't\n change the packet.\n - Rewrite_ipv6_inner() computes a wrong ICMP checksum.\n\nDon't update 'csum_diff' if we didn't rewrite the L4 checksum.\n\nFixes: c93ce654671c ('bpf: clat: translate inner headers of incoming ICMPv6 errors')\n","title":"bpf: clat: fix handling of 0-checksum UDP packets inside ICMP","timestamp":"2026-10-09T10:33:29+02:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/ab4c4c62762ec1b92aae7c2c5f4128858be448f5","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/bpf/clat.bpf.c"],"removed":[]},{"id":"ef234f834c02f3e627a4ae5cf62e887cb82a13ee","message":"merge: branch 'bg/clat-csum-fixes'\n\nCLAT checksum fixes\n\nhttps://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2553","title":"merge: branch 'bg/clat-csum-fixes'","timestamp":"2026-10-10T08:07:16+00:00","url":"https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/ef234f834c02f3e627a4ae5cf62e887cb82a13ee","author":{"name":"Beniamino Galvani","email":"bgalvani@redhat.com"},"added":[],"modified":["src/core/bpf/clat.bpf.c"],"removed":[]}],"total_commits_count":4,"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}}