diff --git a/man/systemd.network.xml b/man/systemd.network.xml index abd0abbf9b..bcc86417c6 100644 --- a/man/systemd.network.xml +++ b/man/systemd.network.xml @@ -2100,19 +2100,6 @@ Table=1234 information-request. Defaults to unset. - - - RapidCommit= - - Takes a boolean. The DHCPv6 client can obtain configuration parameters from a DHCPv6 server through - a rapid two-message exchange (solicit and reply). When the rapid commit option is enabled by both - the DHCPv6 client and the DHCPv6 server, the two-message exchange is used, rather than the default - four-message exchange (solicit, advertise, request, and reply). The two-message exchange provides - faster client configuration and is beneficial in environments in which networks are under a heavy load. - See RFC 3315 for details. - Defaults to true. - - diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c index b42c8487ba..da8a882072 100644 --- a/src/network/networkd-dhcp6.c +++ b/src/network/networkd-dhcp6.c @@ -1459,12 +1459,6 @@ static int dhcp6_configure(Link *link) { if (r < 0) return log_link_debug_errno(link, r, "DHCPv6 CLIENT: Failed to set ifindex: %m"); - if (link->network->dhcp6_rapid_commit) { - r = sd_dhcp6_client_set_request_option(client, SD_DHCP6_OPTION_RAPID_COMMIT); - if (r < 0) - return log_link_debug_errno(link, r, "DHCPv6 CLIENT: Failed to set request flag for rapid commit: %m"); - } - if (link->network->dhcp6_mudurl) { r = sd_dhcp6_client_set_request_mud_url(client, link->network->dhcp6_mudurl); if (r < 0) diff --git a/src/network/networkd-network-gperf.gperf b/src/network/networkd-network-gperf.gperf index a207e374d5..2a75a98bee 100644 --- a/src/network/networkd-network-gperf.gperf +++ b/src/network/networkd-network-gperf.gperf @@ -242,7 +242,6 @@ DHCPv6.UseDNS, config_parse_dhcp_use_dns, DHCPv6.UseHostname, config_parse_bool, 0, offsetof(Network, dhcp6_use_hostname) DHCPv6.UseDomains, config_parse_dhcp_use_domains, AF_INET6, 0 DHCPv6.UseNTP, config_parse_dhcp_use_ntp, AF_INET6, 0 -DHCPv6.RapidCommit, config_parse_bool, 0, offsetof(Network, dhcp6_rapid_commit) DHCPv6.MUDURL, config_parse_mud_url, 0, offsetof(Network, dhcp6_mudurl) DHCPv6.RequestOptions, config_parse_dhcp_request_options, AF_INET6, 0 DHCPv6.UserClass, config_parse_dhcp_user_or_vendor_class, AF_INET6, offsetof(Network, dhcp6_user_class) @@ -528,11 +527,12 @@ DHCP.RouteMetric, config_parse_dhcp_or_ra_route_metri DHCP.RouteTable, config_parse_dhcp_or_ra_route_table, (RTPROT_DHCP<<16) | AF_UNSPEC, 0 DHCP.UseTimezone, config_parse_bool, 0, offsetof(Network, dhcp_use_timezone) DHCP.ListenPort, config_parse_uint16, 0, offsetof(Network, dhcp_client_port) -DHCP.RapidCommit, config_parse_bool, 0, offsetof(Network, dhcp6_rapid_commit) +DHCP.RapidCommit, config_parse_warn_compat, DISABLED_LEGACY, 0 DHCP.ForceDHCPv6PDOtherInformation, config_parse_bool, 0, offsetof(Network, dhcp6_force_pd_other_information) DHCPv4.UseDomainName, config_parse_dhcp_use_domains, AF_INET, 0 DHCPv4.CriticalConnection, config_parse_tristate, 0, offsetof(Network, dhcp_critical) DHCPv6.RouteMetric, config_parse_dhcp_or_ra_route_metric, AF_INET6, 0 +DHCPv6.RapidCommit, config_parse_warn_compat, DISABLED_LEGACY, 0 IPv6AcceptRA.DenyList, config_parse_in_addr_prefixes, AF_INET6, offsetof(Network, ndisc_deny_listed_prefix) IPv6AcceptRA.BlackList, config_parse_in_addr_prefixes, AF_INET6, offsetof(Network, ndisc_deny_listed_prefix) TrafficControlQueueingDiscipline.Parent, config_parse_qdisc_parent, _QDISC_KIND_INVALID, 0 diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index c3b408c4e9..a367041e99 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -403,7 +403,6 @@ int network_load_one(Manager *manager, OrderedHashmap **networks, const char *fi .dhcp6_use_dns = true, .dhcp6_use_hostname = true, .dhcp6_use_ntp = true, - .dhcp6_rapid_commit = true, .dhcp6_duid.type = _DUID_TYPE_INVALID, .dhcp6_pd = -1, diff --git a/src/network/networkd-network.h b/src/network/networkd-network.h index ff9d1338fd..bea882019a 100644 --- a/src/network/networkd-network.h +++ b/src/network/networkd-network.h @@ -174,7 +174,6 @@ struct Network { bool dhcp6_use_hostname; bool dhcp6_use_ntp; bool dhcp6_use_ntp_set; - bool dhcp6_rapid_commit; bool dhcp6_route_table; bool dhcp6_route_table_set; bool dhcp6_route_table_set_explicitly; diff --git a/test/test-network/conf/dhcp-client-ipv6-rapid-commit.network b/test/test-network/conf/dhcp-client-ipv6-rapid-commit.network deleted file mode 100644 index 72dfbf1389..0000000000 --- a/test/test-network/conf/dhcp-client-ipv6-rapid-commit.network +++ /dev/null @@ -1,8 +0,0 @@ -[Match] -Name=veth99 - -[Network] -DHCP=ipv6 - -[DHCPv6] -RapidCommit=false diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 95d526a7f7..27ccc3ce23 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -4012,7 +4012,6 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities): 'dhcp-client-ipv4-only.network', 'dhcp-client-ipv4-use-routes-use-gateway.network', 'dhcp-client-ipv6-only.network', - 'dhcp-client-ipv6-rapid-commit.network', 'dhcp-client-keep-configuration-dhcp-on-stop.network', 'dhcp-client-keep-configuration-dhcp.network', 'dhcp-client-listen-port.network', @@ -4193,8 +4192,7 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities): self.assertNotRegex(output, r'9.9.9.9 via 192.168.5.[0-9]* proto dhcp src 192.168.5.[0-9]* metric 1024') def test_dhcp_client_ipv4_ipv6(self): - copy_unit_to_networkd_unit_path('25-veth.netdev', 'dhcp-server-veth-peer.network', 'dhcp-client-ipv6-only.network', - 'dhcp-client-ipv4-only.network') + copy_unit_to_networkd_unit_path('25-veth.netdev', 'dhcp-server-veth-peer.network', 'dhcp-client-ipv4-only.network') start_networkd() self.wait_online(['veth-peer:carrier']) start_dnsmasq() @@ -4247,30 +4245,6 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities): self.assertTrue(search_words_in_dnsmasq_log('client provides name: test-hostname')) self.assertTrue(search_words_in_dnsmasq_log('26:mtu')) - def test_dhcp6_client_settings_rapidcommit_true(self): - copy_unit_to_networkd_unit_path('25-veth.netdev', 'dhcp-server-veth-peer.network', 'dhcp-client-ipv6-only.network') - start_networkd() - self.wait_online(['veth-peer:carrier']) - start_dnsmasq() - self.wait_online(['veth99:routable', 'veth-peer:routable']) - - output = check_output('ip address show dev veth99') - print(output) - self.assertRegex(output, '12:34:56:78:9a:bc') - self.assertTrue(search_words_in_dnsmasq_log('14:rapid-commit', True)) - - def test_dhcp6_client_settings_rapidcommit_false(self): - copy_unit_to_networkd_unit_path('25-veth.netdev', 'dhcp-server-veth-peer.network', 'dhcp-client-ipv6-rapid-commit.network') - start_networkd() - self.wait_online(['veth-peer:carrier']) - start_dnsmasq() - self.wait_online(['veth99:routable', 'veth-peer:routable']) - - output = check_output('ip address show dev veth99') - print(output) - self.assertRegex(output, '12:34:56:78:9a:bc') - self.assertFalse(search_words_in_dnsmasq_log('14:rapid-commit', True)) - def test_dhcp_client_settings_anonymize(self): copy_unit_to_networkd_unit_path('25-veth.netdev', 'dhcp-server-veth-peer.network', 'dhcp-client-anonymize.network') start_networkd()