Cannot set offload options to false
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Netplan |
Fix Released
|
Medium
|
Unassigned | ||
netplan.io (Ubuntu) |
Fix Released
|
Undecided
|
Lukas Märdian | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Impish |
Won't Fix
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Nicolas Bock | ||
Kinetic |
Fix Released
|
Undecided
|
Lukas Märdian |
Bug Description
[Impact]
In https:/
[Test Plan]
In addition to running & passing the full set of unit- and integration-tests
(that contains new tests to check for this new feature), as described in
https:/
to make sure the link offload stanza is working properly:
$ cat /etc/netplan/
network:
version: 2
ethernets:
eth1:
receive-
transmit-
tcp-
tcp6-
generic-
generic-
large-
$ netplan apply
$ cat /run/systemd/
=> Make sure the *Offload settings are correctly set to "=false".
$ ethtool -k eth1
=> Make sure the offloading options have been set to "off":
rx-checksumming: off
tx-checksumming: off
tcp-segmentatio
tx-tcp6-
generic-
generic-
large-receive-
$ reboot
$ ethtool -k eth1
=> Make sure the offloading options have been set to "off" after reboot:
rx-checksumming: off
tx-checksumming: off
tcp-segmentatio
tx-tcp6-
generic-
generic-
large-receive-
Furthermore, we want to validate the device renaming still works as expected and the new "udev test IFACE" call in "netplan apply" does not have side effects:
$ ip addr
=> observe interface name, e.g. "enp5s0"
$ netplan get # update your netplan config to match this output, adapting the MAC address of enp5s0
network:
version: 2
ethernets:
id0:
match:
macaddress: "00:16:3e:1a:23:dd"
dhcp4: true
dhcp6: true
set-name: "eth99"
$ netplan apply
$ ip addr
=> observe that "enp5s0" got renamed to "eth99"
$ netplan set ethernets.
$ netplan get
network:
version: 2
ethernets:
id0:
match:
macaddress: "00:16:3e:1a:23:dd"
dhcp4: true
dhcp6: true
set-name: "eth42"
$ reboot
=> observe the interface's name has now changed to "eth42"
autopkgtest logs:
* Jammy:
https:/
https:/
https:/
https:/
https:/
* Impish: EOL
* Focal:
https:/
https:/
https:/
https:/
https:/
[Where problems could occur]
* The settings exist since systemd-232 which means Bionic and up can use
this feature
This upload touches netplan's generator, if anything goes wrong it could impact
the rendering of network configuration and break a system's network connectivity
[Other Info]
The full set of autopkgtest logs will be attached after the upload is accepted
into -proposed and the tests have been run on the official autopkgtest.u.c
infrastructure.
=== original description ===
In https:/
See the current implementation https:/
netplan needs to handle three different values for the offload options: "true", "false", and "unset"
(I have a specific case in mind, https:/
Related branches
- Lukas Märdian: Needs Fixing
-
Diff: 1067 lines (+779/-73)12 files modifieddebian/changelog (+7/-2)
debian/patches/0003-Add-tristate-type-for-offload-options-LP-1956264-270.patch (+534/-0)
debian/patches/series (+1/-0)
doc/netplan.md (+18/-18)
netplan/cli/commands/apply.py (+10/-1)
src/netplan.c (+14/-7)
src/networkd.c (+28/-21)
src/parse.c (+48/-7)
src/types.c (+8/-0)
src/types.h (+28/-7)
tests/generator/test_ethernets.py (+24/-10)
tests/integration/ethernets.py (+59/-0)
Changed in netplan: | |
status: | In Progress → Fix Committed |
description: | updated |
Changed in netplan: | |
status: | Fix Committed → Fix Released |
According to @rlaager on LP: #1771740 systemd-networkd should be able to handle those settings as a tristate unset/on/off. This needs to be confirmed and if valid, netplan should do the same.
> Upon further investigation, I see that the systemd networkd settings have similar documentation only listing true and unset. But the systemd NEWS file explicitly talks about disabling and the settings are parsed in networkd using config_ parse_tristate, so I think networkd properly handles =0 on these options. (I'm still trying to test it.)