[Bug 1829264] Re: incorrect separator for multiple ARP IP targets
Launchpad Bug Tracker
1829264 at bugs.launchpad.net
Wed Oct 2 21:54:51 UTC 2019
This bug was fixed in the package netplan.io - 0.98-0ubuntu1~19.04.1
---------------
netplan.io (0.98-0ubuntu1~19.04.1) disco; urgency=medium
* Backport netplan.io 0.98 to 19.04. (LP: #1840832)
-- Mathieu Trudel-Lapierre <cyphermox at ubuntu.com> Mon, 26 Aug 2019
16:41:36 -0400
** Changed in: netplan.io (Ubuntu Disco)
Status: Fix Committed => Fix Released
** Changed in: netplan.io (Ubuntu Bionic)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to netplan.io in Ubuntu.
Matching subscriptions: foundations-bugs
https://bugs.launchpad.net/bugs/1829264
Title:
incorrect separator for multiple ARP IP targets
Status in netplan:
Fix Committed
Status in netplan.io package in Ubuntu:
Fix Released
Status in netplan.io source package in Bionic:
Fix Released
Status in netplan.io source package in Disco:
Fix Released
Bug description:
[Impact]
Users of netplan who need to configure multiple values for ARP IP targets.
[Test case]
Write a valid configuration for a bond with multiple ARP IP targets:
network:
version: 2
renderer: networkd
bond:
bd0:
[...]
parameters:
arp-ip-targets: [ 192.168.3.56, 192.168.3.59 ]
Verify that the configuration is sucessfully applied, and shows up in
the /sys filesystem for the affected device:
/sys/class/net/bd0/bonding/arp_ip_targets
[Regression potential]
This affects only this particular value and generating a valid configuration file for the networkd renderer. The existing configuration file generation is /invalid/, but working as the bad value is ignored by systemd-networkd. This changes the generation of the configuration file only, to write the proper sequence of values for ARPIPTargets=.
---
https://github.com/CanonicalLtd/netplan/blob/ea47bd4e1c5319b1a624ea61c843ee96e7c128da/src/networkd.c#L208
The separator used to add multiple ARP IP targets for the networkd
renderer is ",".
Unfortunately, networkd doesn't allow that, but rather expects
whitespace:
(in config_parse_arp_ip_target_address():)
[...]
for (;;) {
[...]
r = extract_first_word(&rvalue, &n, NULL, 0);
extract_first_word's third parameter is const char *separators; where
NULL is handled like so (src/basic/extract-word.c:37):
if (!separators)
separators = WHITESPACE;
Finally:
src/basic/string-util.h:#define WHITESPACE " \t\n\r"
So; it doesn't handle commas for the list, just whitespace; so let's
give it whitespace please :)
To manage notifications about this bug go to:
https://bugs.launchpad.net/netplan/+bug/1829264/+subscriptions
More information about the foundations-bugs
mailing list