diff options
author | Daniel Axtens <dja@axtens.net> | 2018-07-23 09:17:38 +1000 |
---|---|---|
committer | Daniel Axtens <dja@axtens.net> | 2018-07-23 09:33:49 +1000 |
commit | a11942b17ce020c148b48cba5232b287874c8fd3 (patch) | |
tree | 1d2183156d648f95032570af7cfb0de01d7f9fd9 /src/parse.h | |
parent | 08c3439a0c6996fb8d3c8deeedaf2a73945bba4d (diff) |
Spell Gratuitous ARP correctly and make it work
LP: #1756701
Throughout the codebase, gratuitous has an extra 'i' (gratuit_i_ous).
This includes the output for networkd. This misspelling causes the
value to have no effect - regardless of the setting, I only see 1
gratuitous ARP in active-backup mode.
It also causes the following message to be printed to syslog:
/run/systemd/network/10-netplan-bond0.netdev:9: Unknown lvalue 'GratuitiousARP' in section 'Bond'
Changing the networkd code to spit out the correct spelling causes
the correct behaviour.
The NM parameter is num_grat_arp, which is not affected by the broader
misspelling. However, NM is affected by a different bug which fixes the
number of gratuitous arps to 1. This has been fixed upstream but not
backported yet:
https://github.com/NetworkManager/NetworkManager/commit/42b0bef33c77a0921590b2697f077e8ea7805166
The workaround is trivial - just set num_unsol_na to the same value:
they map to the same kernel parameter internally anyway. So implement
the workaround.
- Use the correct spelling in the code
- Accept both new and old spellings in config files
- Update the documents and tests appropriately
Signed-off-by: Daniel Axtens <dja@axtens.net>
Diffstat (limited to 'src/parse.h')
-rw-r--r-- | src/parse.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/parse.h b/src/parse.h index afba512..54d103f 100644 --- a/src/parse.h +++ b/src/parse.h @@ -136,7 +136,7 @@ typedef struct net_definition { char* up_delay; char* down_delay; char* fail_over_mac_policy; - guint gratuitious_arp; + guint gratuitous_arp; /* TODO: unsolicited_na */ guint packets_per_slave; char* primary_reselect_policy; |