summaryrefslogtreecommitdiffstats
path: root/src/network/networkd-network-gperf.gperf
diff options
context:
space:
mode:
authorMatt Muggeridge <Matt.Muggeridge2@hpe.com>2024-01-22 10:55:41 +0100
committerYu Watanabe <watanabe.yu+github@gmail.com>2024-01-22 19:18:01 +0100
commitd4c8de21a07d015f2f2c787e0735be5e4d02fb3c (patch)
treefbf53b077149fcda718a584201117a40fe90b881 /src/network/networkd-network-gperf.gperf
parentMerge pull request #31023 from poettering/vmspawn-work (diff)
downloadsystemd-d4c8de21a07d015f2f2c787e0735be5e4d02fb3c.tar.xz
systemd-d4c8de21a07d015f2f2c787e0735be5e4d02fb3c.zip
IPv6 RA: Support the Retrans Timer field (IPv6 Conformance Test: v6LC.2.1.5)
The RA's Retransmission Timer field was being ignored. This resolves the IPv6 Core Conformance test, v6LC.2.1.5 [1]. Retransmission Timer is a 32-bit unsigned integer. The time, in milliseconds, between retransmitted Neighbor Solicitation messages. Used by the Address Resolution and Neighbor Unreachability Detection (NUD) algorithm. Support setting a default value for the neighbour retransmission timer value with: [Network] IPv6RetransmissionTimeSec=<int> By default, upon receiving a Router Advertisement with the Retransmission Timer field set to a non-zero value, it will update the kernel's retransmit timer value. To disable this behaviour, configure the UseIPv6RetransmissionTime= under the [IPv6AcceptRA] section. [IPv6AcceptRA] UseIPv6RetransmissionTime=<bool> RFC4861: Neighbor Discovery in IPv6 * Section 4.2 RA Message Format. * Section 6.3.4 Processing Received Router Advertisements A Router Advertisement field (e.g., Cur Hop Limit, Reachable Time, and Retrans Timer) may contain a value denoting that it is unspecified. In such cases, the parameter should be ignored and the host should continue using whatever value it is already using. In particular, a host MUST NOT interpret the unspecified value as meaning change back to the default value that was in use before the first Router Advertisement was received. The RetransTimer variable SHOULD be copied from the Retrans Timer field, if the received value is non-zero. References [1] IPv6 Core Conformance Spec (PDF)
Diffstat (limited to 'src/network/networkd-network-gperf.gperf')
-rw-r--r--src/network/networkd-network-gperf.gperf2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf
index f0650a0c88..ce37450938 100644
--- a/src/network/networkd-network-gperf.gperf
+++ b/src/network/networkd-network-gperf.gperf
@@ -131,6 +131,7 @@ Network.IPv6AcceptRA, config_parse_tristate,
Network.IPv6AcceptRouterAdvertisements, config_parse_tristate, 0, offsetof(Network, ipv6_accept_ra)
Network.IPv6DuplicateAddressDetection, config_parse_int, 0, offsetof(Network, ipv6_dad_transmits)
Network.IPv6HopLimit, config_parse_uint8, 0, offsetof(Network, ipv6_hop_limit)
+Network.IPv6RetransmissionTimeSec, config_parse_sec, 0, offsetof(Network, ipv6_retransmission_time)
Network.IPv6ProxyNDP, config_parse_tristate, 0, offsetof(Network, ipv6_proxy_ndp)
Network.IPv6MTUBytes, config_parse_mtu, AF_INET6, offsetof(Network, ipv6_mtu)
Network.IPv4AcceptLocal, config_parse_tristate, 0, offsetof(Network, ipv4_accept_local)
@@ -297,6 +298,7 @@ IPv6AcceptRA.UseDNS, config_parse_bool,
IPv6AcceptRA.UseDomains, config_parse_ipv6_accept_ra_use_domains, 0, offsetof(Network, ipv6_accept_ra_use_domains)
IPv6AcceptRA.UseMTU, config_parse_bool, 0, offsetof(Network, ipv6_accept_ra_use_mtu)
IPv6AcceptRA.UseHopLimit, config_parse_bool, 0, offsetof(Network, ipv6_accept_ra_use_hop_limit)
+IPv6AcceptRA.UseRetransmissionTime, config_parse_bool, 0, offsetof(Network, ipv6_accept_ra_use_retransmission_time)
IPv6AcceptRA.UseICMP6RateLimit, config_parse_bool, 0, offsetof(Network, ipv6_accept_ra_use_icmp6_ratelimit)
IPv6AcceptRA.DHCPv6Client, config_parse_ipv6_accept_ra_start_dhcp6_client, 0, offsetof(Network, ipv6_accept_ra_start_dhcp6_client)
IPv6AcceptRA.RouteTable, config_parse_dhcp_or_ra_route_table, AF_INET6, 0