Hello Russ & Marc,

Cyril Brulebois <k...@debian.org> (2018-03-14):
> Russ Allbery <r...@debian.org> (2018-03-12):
[…]
> Yeah, that seems very likely… Even if the word regression or the commit
> ID doesn't appear in the commit message, the follow-up commit seems to
> fix this specific issue:
> 
>     commit 29b5ad083a6925efec8e188013d1298742e0baaa
>     Author: Jörg Thalheim <jo...@higgsboson.tk>
>     Date:   Mon Dec 19 15:34:07 2016 +0100
>     
>         networkd-ndisc: handle missing mtu gracefully (#4913)
>         
>         At least bird's implementation of router advertisement does not
>         set MTU option by default (instead it supplies an option to the user).
>         In this case just leave MTU as it is.
> 
>  → 
> https://github.com/systemd/systemd/commit/29b5ad083a6925efec8e188013d1298742e0baaa
> 
> Regarding the other pair of functions getting the return code checked
> (sd_netlink_message_open_container & sd_netlink_message_close_container)
> there doesn't seem to be any follow-up commits touching that file in
> these areas… I'm not sure netlink operations are likely to fail anyway
> (except for ENOMEM situations), so that's probably fine?
> 
> > It's possible that this means the local IPv6 routing environment is
> > not correctly configured, but since this change was made in a stable
> > update and IPv6 was working perfectly prior to this change, it still
> > feels like a relatively serious regression to me.
> 
> Definitely, sorry for having proposed that commit without spotting it.
> 
> I can build a patched systemd with this extra cherry-pick for you to
> double check; I'll post a link once it's available.

I've put up an amd64 build for stretch here:
  https://people.debian.org/~kibi/systemd/

along with the source package. I'm also attaching the source debdiff.

I'm not tagging this bug report with +patch yet, as this needs to be
tested on networks with and without advertised MTU (in case that doesn't
work in the latter case, reverting the commit introduced in the 9.4
point release might be just as good…).


Cheers,
-- 
Cyril Brulebois (k...@debian.org)            <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant
diff -Nru systemd-232/debian/changelog systemd-232/debian/changelog
--- systemd-232/debian/changelog	2017-12-03 15:03:50.000000000 +0100
+++ systemd-232/debian/changelog	2018-03-15 05:00:23.000000000 +0100
@@ -1,3 +1,11 @@
+systemd (232-25+deb9u3) UNRELEASED; urgency=medium
+
+  * networkd-ndisc: handle missing mtu gracefully (Closes: #892794). The
+    previous upload made networkd respect the MTU field in IPv6 RA but
+    unfortunately broke setups where there's no such field.
+
+ -- Cyril Brulebois <k...@debian.org>  Thu, 15 Mar 2018 05:00:23 +0100
+
 systemd (232-25+deb9u2) stretch; urgency=medium
 
   * networkd: Handle MTU field in IPv6 RA (Closes: #878162)
diff -Nru systemd-232/debian/patches/networkd-ndisc-handle-missing-mtu-gracefully-4913.patch systemd-232/debian/patches/networkd-ndisc-handle-missing-mtu-gracefully-4913.patch
--- systemd-232/debian/patches/networkd-ndisc-handle-missing-mtu-gracefully-4913.patch	1970-01-01 01:00:00.000000000 +0100
+++ systemd-232/debian/patches/networkd-ndisc-handle-missing-mtu-gracefully-4913.patch	2018-03-15 04:56:05.000000000 +0100
@@ -0,0 +1,30 @@
+From 29b5ad083a6925efec8e188013d1298742e0baaa Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <jo...@higgsboson.tk>
+Date: Mon, 19 Dec 2016 15:34:07 +0100
+Subject: [PATCH] networkd-ndisc: handle missing mtu gracefully (#4913)
+
+At least bird's implementation of router advertisement does not
+set MTU option by default (instead it supplies an option to the user).
+In this case just leave MTU as it is.
+---
+ src/network/networkd-ndisc.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
+index 5320592f7..5097ab9d7 100644
+--- a/src/network/networkd-ndisc.c
++++ b/src/network/networkd-ndisc.c
+@@ -118,7 +118,9 @@ static void ndisc_router_process_default(Link *link, sd_ndisc_router *rt) {
+         }
+ 
+         r = sd_ndisc_router_get_mtu(rt, &mtu);
+-        if (r < 0) {
++        if (r == -ENODATA)
++                mtu = 0;
++        else if (r < 0) {
+                 log_link_warning_errno(link, r, "Failed to get default router MTU from RA: %m");
+                 return;
+         }
+-- 
+2.11.0
+
diff -Nru systemd-232/debian/patches/series systemd-232/debian/patches/series
--- systemd-232/debian/patches/series	2017-12-03 15:03:50.000000000 +0100
+++ systemd-232/debian/patches/series	2018-03-15 04:56:48.000000000 +0100
@@ -75,6 +75,7 @@
 main-improve-RLIMIT_NOFILE-handling-5795.patch
 cryptsetup-generator-run-cryptsetup-service-before-swap-u.patch
 networkd-handle-MTU-field-in-IPv6-RA-4719.patch
+networkd-ndisc-handle-missing-mtu-gracefully-4913.patch
 shared-Add-a-linker-script-so-that-all-functions-are-tagg.patch
 resolved-fix-loop-on-packets-with-pseudo-dns-types.patch
 machinectl-don-t-output-No-machines.-with-no-legend-optio.patch

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Pkg-systemd-maintainers mailing list
Pkg-systemd-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-systemd-maintainers

Reply via email to