2020-03-13 17:24:10 |
Sunil Mukundan |
bug |
|
|
added bug |
2020-03-13 17:31:07 |
Sunil Mukundan |
summary |
systemd-network: Setting UseRoutes to False results in DHCP default gateway not being installed |
systemd-networkd: Setting UseRoutes to False results in DHCP default gateway not being installed |
|
2020-03-24 18:38:51 |
Balint Reczey |
nominated for series |
|
Ubuntu Eoan |
|
2020-03-24 18:38:51 |
Balint Reczey |
bug task added |
|
systemd (Ubuntu Eoan) |
|
2020-03-24 18:38:51 |
Balint Reczey |
nominated for series |
|
Ubuntu Bionic |
|
2020-03-24 18:38:51 |
Balint Reczey |
bug task added |
|
systemd (Ubuntu Bionic) |
|
2020-03-28 15:08:03 |
Dan Streetman |
systemd (Ubuntu): status |
New |
Fix Released |
|
2020-03-28 15:08:08 |
Dan Streetman |
bug |
|
|
added subscriber Dan Streetman |
2020-04-14 09:20:30 |
Dan Streetman |
tags |
|
ddstreet |
|
2020-04-14 13:04:46 |
Launchpad Janitor |
systemd (Ubuntu Bionic): status |
New |
Confirmed |
|
2020-04-14 13:04:46 |
Launchpad Janitor |
systemd (Ubuntu Eoan): status |
New |
Confirmed |
|
2020-04-15 16:22:43 |
Dan Streetman |
summary |
systemd-networkd: Setting UseRoutes to False results in DHCP default gateway not being installed |
systemd-networkd: UseRoutes behavior change with introduction of UseGateway param |
|
2020-04-15 17:45:28 |
Dan Streetman |
bug task added |
|
netplan.io (Ubuntu) |
|
2020-04-15 17:58:27 |
Dan Streetman |
description |
requesting backport of PR https://github.com/systemd/systemd/pull/14983 which fixes the issue described in
https://github.com/systemd/systemd/issues/14982 to 18.04 (bionic) |
[impact]
the networkd UseRoutes parameter allowed ignoring all routes provided by a dhcp4 server, including the route via the dhcp4-provided gateway. This was the behavior of networkd until recently, and in Focal the UseRoutes parameter does *not* prevent networkd from adding the route via the dhcp4-provided gateway. This is now controlled with a new parameter, UseGateway.
The systemd in Focal unfortunately has part of the upstream code; it no longer ignores the gateway route when UseRoutes=false is specified, but also it does not include the UseGateway parameter.
[test case]
bug 1872589 has a good test case netplan config, but a very quick test can be done with the networkd config:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
this results in the system incorrectly setting a route via the default gateway:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
[regression potential]
tbd
[other info]
to properly support separation of 'routes' and 'gateways' received via dhcp4, SRU releases should also support the UseGateway parameter, which is what this bug was originally opened requesting.
[original description]
requesting backport of PR https://github.com/systemd/systemd/pull/14983 which fixes the issue described in
https://github.com/systemd/systemd/issues/14982 to 18.04 (bionic) |
|
2020-04-15 17:58:38 |
Dan Streetman |
nominated for series |
|
Ubuntu Focal |
|
2020-04-15 17:58:38 |
Dan Streetman |
bug task added |
|
systemd (Ubuntu Focal) |
|
2020-04-15 17:58:38 |
Dan Streetman |
bug task added |
|
netplan.io (Ubuntu Focal) |
|
2020-04-15 17:58:48 |
Dan Streetman |
netplan.io (Ubuntu Bionic): status |
New |
Invalid |
|
2020-04-15 17:58:51 |
Dan Streetman |
netplan.io (Ubuntu Eoan): status |
New |
Invalid |
|
2020-04-16 10:13:23 |
Dan Streetman |
description |
[impact]
the networkd UseRoutes parameter allowed ignoring all routes provided by a dhcp4 server, including the route via the dhcp4-provided gateway. This was the behavior of networkd until recently, and in Focal the UseRoutes parameter does *not* prevent networkd from adding the route via the dhcp4-provided gateway. This is now controlled with a new parameter, UseGateway.
The systemd in Focal unfortunately has part of the upstream code; it no longer ignores the gateway route when UseRoutes=false is specified, but also it does not include the UseGateway parameter.
[test case]
bug 1872589 has a good test case netplan config, but a very quick test can be done with the networkd config:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
this results in the system incorrectly setting a route via the default gateway:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
[regression potential]
tbd
[other info]
to properly support separation of 'routes' and 'gateways' received via dhcp4, SRU releases should also support the UseGateway parameter, which is what this bug was originally opened requesting.
[original description]
requesting backport of PR https://github.com/systemd/systemd/pull/14983 which fixes the issue described in
https://github.com/systemd/systemd/issues/14982 to 18.04 (bionic) |
[impact]
the networkd UseRoutes parameter allowed ignoring all routes provided by a dhcp4 server, including the route via the dhcp4-provided gateway. This was the behavior of networkd until recently, and in Focal the UseRoutes parameter does *not* prevent networkd from adding the route via the dhcp4-provided gateway. This is now controlled with a new parameter, UseGateway.
The systemd in Focal unfortunately has part of the upstream code; it no longer ignores the gateway route when UseRoutes=false is specified, but also it does not include the UseGateway parameter.
Before Focal, networkd did not allow ignoring dhcpv4 routes and the gateway separately; the UseRoutes= parameter either used, or ignored, both. This is why upstream added the UseGateway= paramter, which should be backported to allow control of ignoring the dhcpv4 routes and gateway separately.
[test case]
In Focal, bug 1872589 has a good test case netplan config, but a very quick test can be done with the networkd config:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
this results in the system incorrectly setting a route via the default gateway:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
Before Focal, the above test case shows "correct" behavior, but there is no way to ignore the dhcpv4 routes but use the dhcpv4 gateway. This pre-Focal, the test case would be to use the UseGateway= parameter, e.g.:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
UseGateway=true
which *should* result in the default gateway being configured:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
[regression potential]
Any regression would likely involve incorrect setting, or ignoring, of dhcpv4-provided routes, and/or incorrect setting, or ignoring, of the dhcpv4-provided gateway.
[other info]
to properly support separation of 'routes' and 'gateways' received via dhcp4, SRU releases should also support the UseGateway parameter, which is what this bug was originally opened requesting.
[original description]
requesting backport of PR https://github.com/systemd/systemd/pull/14983 which fixes the issue described in
https://github.com/systemd/systemd/issues/14982 to 18.04 (bionic) |
|
2020-04-16 10:16:45 |
Dan Streetman |
description |
[impact]
the networkd UseRoutes parameter allowed ignoring all routes provided by a dhcp4 server, including the route via the dhcp4-provided gateway. This was the behavior of networkd until recently, and in Focal the UseRoutes parameter does *not* prevent networkd from adding the route via the dhcp4-provided gateway. This is now controlled with a new parameter, UseGateway.
The systemd in Focal unfortunately has part of the upstream code; it no longer ignores the gateway route when UseRoutes=false is specified, but also it does not include the UseGateway parameter.
Before Focal, networkd did not allow ignoring dhcpv4 routes and the gateway separately; the UseRoutes= parameter either used, or ignored, both. This is why upstream added the UseGateway= paramter, which should be backported to allow control of ignoring the dhcpv4 routes and gateway separately.
[test case]
In Focal, bug 1872589 has a good test case netplan config, but a very quick test can be done with the networkd config:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
this results in the system incorrectly setting a route via the default gateway:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
Before Focal, the above test case shows "correct" behavior, but there is no way to ignore the dhcpv4 routes but use the dhcpv4 gateway. This pre-Focal, the test case would be to use the UseGateway= parameter, e.g.:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
UseGateway=true
which *should* result in the default gateway being configured:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
[regression potential]
Any regression would likely involve incorrect setting, or ignoring, of dhcpv4-provided routes, and/or incorrect setting, or ignoring, of the dhcpv4-provided gateway.
[other info]
to properly support separation of 'routes' and 'gateways' received via dhcp4, SRU releases should also support the UseGateway parameter, which is what this bug was originally opened requesting.
[original description]
requesting backport of PR https://github.com/systemd/systemd/pull/14983 which fixes the issue described in
https://github.com/systemd/systemd/issues/14982 to 18.04 (bionic) |
[impact]
the networkd UseRoutes parameter allowed ignoring all routes provided by a dhcp4 server, including the route via the dhcp4-provided gateway. This was the behavior of networkd until recently, and in Focal the UseRoutes parameter does *not* prevent networkd from adding the route via the dhcp4-provided gateway. This is now controlled with a new parameter, UseGateway.
The systemd in Focal unfortunately has part of the upstream code; it no longer ignores the gateway route when UseRoutes=false is specified, but also it does not include the UseGateway parameter.
Before Focal, networkd did not allow ignoring dhcpv4 routes and the gateway separately; the UseRoutes= parameter either used, or ignored, both. This is why upstream added the UseGateway= paramter, which should be backported to allow control of ignoring the dhcpv4 routes and gateway separately.
[test case]
In Focal, bug 1872589 has a good test case netplan config, but a very quick test can be done with the networkd config:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
this results in the system incorrectly setting a route via the default gateway:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
Before Focal, the above test case shows "correct" behavior, but there is no way to ignore the dhcpv4 routes but use the dhcpv4 gateway. This pre-Focal, the test case would be to use the UseGateway= parameter, e.g.:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
UseGateway=true
which *should* result in the default gateway being configured:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
[regression potential]
Any regression would likely involve incorrect setting, or ignoring, of dhcpv4-provided routes, and/or incorrect setting, or ignoring, of the dhcpv4-provided gateway.
[scope]
One possible direction is this upstream PR
https://github.com/systemd/systemd/pull/15443
If accepted, that (and previous commits adding UseGateway= parameter) would need to be applied to Debian and all Ubuntu releases; Focal, Eoan, Bionic, and Xenial.
[other info]
to properly support separation of 'routes' and 'gateways' received via dhcp4, SRU releases should also support the UseGateway parameter, which is what this bug was originally opened requesting.
[original description]
requesting backport of PR https://github.com/systemd/systemd/pull/14983 which fixes the issue described in
https://github.com/systemd/systemd/issues/14982 to 18.04 (bionic) |
|
2020-04-22 22:37:39 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~ddstreet/ubuntu/+source/systemd/+git/systemd/+merge/382806 |
|
2020-04-24 10:19:50 |
Dan Streetman |
systemd (Ubuntu Bionic): assignee |
|
Dan Streetman (ddstreet) |
|
2020-04-24 10:19:52 |
Dan Streetman |
systemd (Ubuntu Eoan): assignee |
|
Dan Streetman (ddstreet) |
|
2020-04-24 10:19:54 |
Dan Streetman |
systemd (Ubuntu Focal): assignee |
|
Dan Streetman (ddstreet) |
|
2020-04-24 10:20:03 |
Dan Streetman |
systemd (Ubuntu Bionic): importance |
Undecided |
Medium |
|
2020-04-24 10:20:05 |
Dan Streetman |
systemd (Ubuntu Eoan): importance |
Undecided |
Medium |
|
2020-04-24 10:20:08 |
Dan Streetman |
systemd (Ubuntu Focal): importance |
Undecided |
High |
|
2020-04-24 10:20:11 |
Dan Streetman |
systemd (Ubuntu Focal): status |
Fix Released |
In Progress |
|
2020-04-24 10:20:13 |
Dan Streetman |
systemd (Ubuntu Eoan): status |
Confirmed |
In Progress |
|
2020-04-24 10:20:15 |
Dan Streetman |
systemd (Ubuntu Bionic): status |
Confirmed |
In Progress |
|
2020-04-24 10:25:24 |
Dan Streetman |
description |
[impact]
the networkd UseRoutes parameter allowed ignoring all routes provided by a dhcp4 server, including the route via the dhcp4-provided gateway. This was the behavior of networkd until recently, and in Focal the UseRoutes parameter does *not* prevent networkd from adding the route via the dhcp4-provided gateway. This is now controlled with a new parameter, UseGateway.
The systemd in Focal unfortunately has part of the upstream code; it no longer ignores the gateway route when UseRoutes=false is specified, but also it does not include the UseGateway parameter.
Before Focal, networkd did not allow ignoring dhcpv4 routes and the gateway separately; the UseRoutes= parameter either used, or ignored, both. This is why upstream added the UseGateway= paramter, which should be backported to allow control of ignoring the dhcpv4 routes and gateway separately.
[test case]
In Focal, bug 1872589 has a good test case netplan config, but a very quick test can be done with the networkd config:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
this results in the system incorrectly setting a route via the default gateway:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
Before Focal, the above test case shows "correct" behavior, but there is no way to ignore the dhcpv4 routes but use the dhcpv4 gateway. This pre-Focal, the test case would be to use the UseGateway= parameter, e.g.:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
UseGateway=true
which *should* result in the default gateway being configured:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
[regression potential]
Any regression would likely involve incorrect setting, or ignoring, of dhcpv4-provided routes, and/or incorrect setting, or ignoring, of the dhcpv4-provided gateway.
[scope]
One possible direction is this upstream PR
https://github.com/systemd/systemd/pull/15443
If accepted, that (and previous commits adding UseGateway= parameter) would need to be applied to Debian and all Ubuntu releases; Focal, Eoan, Bionic, and Xenial.
[other info]
to properly support separation of 'routes' and 'gateways' received via dhcp4, SRU releases should also support the UseGateway parameter, which is what this bug was originally opened requesting.
[original description]
requesting backport of PR https://github.com/systemd/systemd/pull/14983 which fixes the issue described in
https://github.com/systemd/systemd/issues/14982 to 18.04 (bionic) |
[impact]
the networkd UseRoutes parameter allowed ignoring all routes provided by a dhcp4 server, including the route via the dhcp4-provided gateway. This was the behavior of networkd until recently, and in Focal the UseRoutes parameter does *not* prevent networkd from adding the route via the dhcp4-provided gateway. This is now controlled with a new parameter, UseGateway.
The systemd in Focal unfortunately has part of the upstream code; it no longer ignores the gateway route when UseRoutes=false is specified, but also it does not include the UseGateway parameter.
Before Focal, networkd did not allow ignoring dhcpv4 routes and the gateway separately; the UseRoutes= parameter either used, or ignored, both. This is why upstream added the UseGateway= paramter, which should be backported to allow control of ignoring the dhcpv4 routes and gateway separately.
[test case]
In Focal, bug 1872589 has a good test case netplan config, but a very quick test can be done with the networkd config:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
this results in the system incorrectly setting a route via the default gateway:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
Before Focal, the above test case shows "correct" behavior, but there is no way to ignore the dhcpv4 routes but use the dhcpv4 gateway. This pre-Focal, the test case would be to use the UseGateway= parameter, e.g.:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
UseGateway=true
which *should* result in the default gateway being configured:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
[regression potential]
Any regression would likely involve incorrect setting, or ignoring, of dhcpv4-provided routes, and/or incorrect setting, or ignoring, of the dhcpv4-provided gateway.
[scope]
This is fixed by these upstream PRs:
https://github.com/systemd/systemd/pull/15443
https://github.com/systemd/systemd/pull/15136
https://github.com/systemd/systemd/pull/14983
Parts of all those PRs are required in Focal, Eoan, and Bionic.
I am not fixing this for Xenial, at this time.
[other info]
to properly support separation of 'routes' and 'gateways' received via dhcp4, SRU releases should also support the UseGateway parameter, which is what this bug was originally opened requesting.
[original description]
requesting backport of PR https://github.com/systemd/systemd/pull/14983 which fixes the issue described in
https://github.com/systemd/systemd/issues/14982 to 18.04 (bionic) |
|
2020-05-08 20:35:47 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~ddstreet/ubuntu/+source/systemd/+git/systemd/+merge/383661 |
|
2020-05-08 20:36:49 |
Dan Streetman |
description |
[impact]
the networkd UseRoutes parameter allowed ignoring all routes provided by a dhcp4 server, including the route via the dhcp4-provided gateway. This was the behavior of networkd until recently, and in Focal the UseRoutes parameter does *not* prevent networkd from adding the route via the dhcp4-provided gateway. This is now controlled with a new parameter, UseGateway.
The systemd in Focal unfortunately has part of the upstream code; it no longer ignores the gateway route when UseRoutes=false is specified, but also it does not include the UseGateway parameter.
Before Focal, networkd did not allow ignoring dhcpv4 routes and the gateway separately; the UseRoutes= parameter either used, or ignored, both. This is why upstream added the UseGateway= paramter, which should be backported to allow control of ignoring the dhcpv4 routes and gateway separately.
[test case]
In Focal, bug 1872589 has a good test case netplan config, but a very quick test can be done with the networkd config:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
this results in the system incorrectly setting a route via the default gateway:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
Before Focal, the above test case shows "correct" behavior, but there is no way to ignore the dhcpv4 routes but use the dhcpv4 gateway. This pre-Focal, the test case would be to use the UseGateway= parameter, e.g.:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
UseGateway=true
which *should* result in the default gateway being configured:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
[regression potential]
Any regression would likely involve incorrect setting, or ignoring, of dhcpv4-provided routes, and/or incorrect setting, or ignoring, of the dhcpv4-provided gateway.
[scope]
This is fixed by these upstream PRs:
https://github.com/systemd/systemd/pull/15443
https://github.com/systemd/systemd/pull/15136
https://github.com/systemd/systemd/pull/14983
Parts of all those PRs are required in Focal, Eoan, and Bionic.
I am not fixing this for Xenial, at this time.
[other info]
to properly support separation of 'routes' and 'gateways' received via dhcp4, SRU releases should also support the UseGateway parameter, which is what this bug was originally opened requesting.
[original description]
requesting backport of PR https://github.com/systemd/systemd/pull/14983 which fixes the issue described in
https://github.com/systemd/systemd/issues/14982 to 18.04 (bionic) |
[impact]
the networkd UseRoutes parameter allowed ignoring all routes provided by a dhcp4 server, including the route via the dhcp4-provided gateway. This was the behavior of networkd until recently, and in Focal the UseRoutes parameter does *not* prevent networkd from adding the route via the dhcp4-provided gateway. This is now controlled with a new parameter, UseGateway.
The systemd in Focal unfortunately has part of the upstream code; it no longer ignores the gateway route when UseRoutes=false is specified, but also it does not include the UseGateway parameter.
Before Focal, networkd did not allow ignoring dhcpv4 routes and the gateway separately; the UseRoutes= parameter either used, or ignored, both. This is why upstream added the UseGateway= paramter, which should be backported to allow control of ignoring the dhcpv4 routes and gateway separately.
[test case]
In Focal, bug 1872589 has a good test case netplan config, but a very quick test can be done with the networkd config:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
this results in the system incorrectly setting a route via the default gateway:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
Before Focal, the above test case shows "correct" behavior, but there is no way to ignore the dhcpv4 routes but use the dhcpv4 gateway. This pre-Focal, the test case would be to use the UseGateway= parameter, e.g.:
[Match]
Name=eth0
[Network]
DHCP=ipv4
LinkLocalAddressing=ipv6
[DHCP]
RouteMetric=100
UseMTU=true
UseRoutes=false
UseGateway=true
which *should* result in the default gateway being configured:
root@lp1867375-f:~# ip r
default via 10.202.51.1 dev eth0 proto dhcp src 10.202.51.86 metric 100
10.202.51.0/24 dev eth0 proto kernel scope link src 10.202.51.86
10.202.51.1 dev eth0 proto dhcp scope link src 10.202.51.86 metric 100
[regression potential]
Any regression would likely involve incorrect setting, or ignoring, of dhcpv4-provided routes, and/or incorrect setting, or ignoring, of the dhcpv4-provided gateway.
[scope]
This is fixed by these upstream PRs:
https://github.com/systemd/systemd/pull/15443
https://github.com/systemd/systemd/pull/15136
https://github.com/systemd/systemd/pull/14983
Parts of all those PRs are required in Focal, Eoan, and Bionic.
I am not fixing this for Xenial, at this time.
For Debian, I opened this MR:
https://salsa.debian.org/systemd-team/systemd/-/merge_requests/92
For Groovy, I opened this MR:
https://code.launchpad.net/~ddstreet/ubuntu/+source/systemd/+git/systemd/+merge/383661
[other info]
to properly support separation of 'routes' and 'gateways' received via dhcp4, SRU releases should also support the UseGateway parameter, which is what this bug was originally opened requesting.
[original description]
requesting backport of PR https://github.com/systemd/systemd/pull/14983 which fixes the issue described in
https://github.com/systemd/systemd/issues/14982 to 18.04 (bionic) |
|
2020-05-08 20:37:36 |
Dan Streetman |
nominated for series |
|
Ubuntu Groovy |
|
2020-05-08 20:37:36 |
Dan Streetman |
bug task added |
|
systemd (Ubuntu Groovy) |
|
2020-05-08 20:37:36 |
Dan Streetman |
bug task added |
|
netplan.io (Ubuntu Groovy) |
|
2020-05-09 14:23:31 |
Todor Andreev |
bug |
|
|
added subscriber Todor Andreev |
2020-05-09 15:16:52 |
Launchpad Janitor |
netplan.io (Ubuntu): status |
New |
Confirmed |
|
2020-05-09 15:16:52 |
Launchpad Janitor |
netplan.io (Ubuntu Focal): status |
New |
Confirmed |
|
2020-05-12 22:06:12 |
Brian Murray |
systemd (Ubuntu Focal): status |
In Progress |
Fix Committed |
|
2020-05-12 22:06:15 |
Brian Murray |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2020-05-12 22:06:17 |
Brian Murray |
bug |
|
|
added subscriber SRU Verification |
2020-05-12 22:06:22 |
Brian Murray |
tags |
ddstreet |
ddstreet verification-needed verification-needed-focal |
|
2020-05-13 19:49:16 |
Dan Streetman |
tags |
ddstreet verification-needed verification-needed-focal |
ddstreet verification-done verification-done-focal |
|
2020-05-14 18:37:31 |
Launchpad Janitor |
systemd (Ubuntu Groovy): status |
In Progress |
Fix Released |
|
2020-05-14 20:19:29 |
Brian Murray |
systemd (Ubuntu Eoan): status |
In Progress |
Fix Committed |
|
2020-05-14 20:19:36 |
Brian Murray |
tags |
ddstreet verification-done verification-done-focal |
ddstreet verification-done-focal verification-needed verification-needed-eoan |
|
2020-05-14 20:36:03 |
Brian Murray |
systemd (Ubuntu Bionic): status |
In Progress |
Fix Committed |
|
2020-05-14 20:36:12 |
Brian Murray |
tags |
ddstreet verification-done-focal verification-needed verification-needed-eoan |
ddstreet verification-done-focal verification-needed verification-needed-bionic verification-needed-eoan |
|
2020-05-21 12:22:55 |
Dan Streetman |
tags |
ddstreet verification-done-focal verification-needed verification-needed-bionic verification-needed-eoan |
ddstreet verification-done-eoan verification-done-focal verification-needed verification-needed-bionic |
|
2020-05-21 12:30:54 |
Dan Streetman |
tags |
ddstreet verification-done-eoan verification-done-focal verification-needed verification-needed-bionic |
ddstreet verification-done verification-done-bionic verification-done-eoan verification-done-focal |
|
2020-05-25 08:07:09 |
Ćukasz Zemczak |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2020-05-25 08:07:16 |
Launchpad Janitor |
systemd (Ubuntu Focal): status |
Fix Committed |
Fix Released |
|
2020-05-25 08:12:09 |
Launchpad Janitor |
systemd (Ubuntu Eoan): status |
Fix Committed |
Fix Released |
|
2020-05-25 08:17:27 |
Launchpad Janitor |
systemd (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|
2024-07-26 16:04:42 |
Brian Murray |
netplan.io (Ubuntu Groovy): status |
Confirmed |
Won't Fix |
|
2024-07-30 20:56:06 |
Dan Streetman |
removed subscriber Dan Streetman |
|
|
|