]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: deprecate ForceDHCPv6PDOtherInformation= setting
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 14 Oct 2021 06:42:33 +0000 (15:42 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 26 Oct 2021 15:33:44 +0000 (00:33 +0900)
The setting is completely meaningless, as WithoutRA= and UseDelegatedPrefix=
in [DHCPv6] section, and DHCPv6Client= in [IPv6AcceptRA] section control
the behavior.

man/systemd.network.xml
src/network/networkd-dhcp6.c
src/network/networkd-network-gperf.gperf
src/network/networkd-network.h

index b6bf993adc00796913fcb3a7516bdbb2a2b3e021..d847f0a0a3f044b5e88c9b9660e6b73c49882939 100644 (file)
@@ -2089,22 +2089,6 @@ Table=1234</programlisting></para>
 
         <!-- How to communicate with the server -->
 
-        <varlistentry>
-          <term><varname>ForceDHCPv6PDOtherInformation=</varname></term>
-          <listitem>
-            <para>Takes a boolean that enforces DHCPv6 stateful mode when the 'Other information' bit is set in
-            Router Advertisement messages. By default setting only the 'O' bit in Router Advertisements
-            makes DHCPv6 request network information in a stateless manner using a two-message Information
-            Request and Information Reply message exchange.
-            <ulink url="https://tools.ietf.org/html/rfc7084">RFC 7084</ulink>, requirement WPD-4, updates
-            this behavior for a Customer Edge router so that stateful DHCPv6 Prefix Delegation is also
-            requested when only the 'O' bit is set in Router Advertisements. This option enables such a CE
-            behavior as it is impossible to automatically distinguish the intention of the 'O' bit otherwise.
-            By default this option is set to false, enable it if no prefixes are delegated when the device
-            should be acting as a CE router.</para>
-          </listitem>
-        </varlistentry>
-
         <varlistentry>
           <term><varname>WithoutRA=</varname></term>
           <listitem>
index 52ff5eb3aab5db15a3cf3c5a6e8c24ade18097d8..aba0699780f558cd032597faae1e759394d7412a 100644 (file)
@@ -1312,7 +1312,7 @@ static void dhcp6_handler(sd_dhcp6_client *client, int event, void *userdata) {
 }
 
 int dhcp6_request_information(Link *link, int ir) {
-        int r, inf_req, pd;
+        int r, inf_req;
         bool running;
 
         assert(link);
@@ -1325,20 +1325,6 @@ int dhcp6_request_information(Link *link, int ir) {
                 return r;
         running = r;
 
-        r = sd_dhcp6_client_get_prefix_delegation(link->dhcp6_client, &pd);
-        if (r < 0)
-                return r;
-
-        if (pd && ir && link->network->dhcp6_force_pd_other_information) {
-                log_link_debug(link, "Enabling managed mode to request DHCPv6 PD with 'Other Information' set");
-
-                r = sd_dhcp6_client_set_address_request(link->dhcp6_client, false);
-                if (r < 0)
-                        return r;
-
-                ir = false;
-        }
-
         if (running) {
                 r = sd_dhcp6_client_get_information_request(link->dhcp6_client, &inf_req);
                 if (r < 0)
index ccbf02b99d9472619434ea5dcc5cd13ece4ff758..3caf7c2bdd18aa3250b42b49a50329f48f392cf2 100644 (file)
@@ -248,7 +248,6 @@ DHCPv6.RequestOptions,                       config_parse_dhcp_request_options,
 DHCPv6.UserClass,                            config_parse_dhcp_user_or_vendor_class,                   AF_INET6,                      offsetof(Network, dhcp6_user_class)
 DHCPv6.VendorClass,                          config_parse_dhcp_user_or_vendor_class,                   AF_INET6,                      offsetof(Network, dhcp6_vendor_class)
 DHCPv6.SendVendorOption,                     config_parse_dhcp_send_option,                            AF_INET6,                      offsetof(Network, dhcp6_client_send_vendor_options)
-DHCPv6.ForceDHCPv6PDOtherInformation,        config_parse_bool,                                        0,                             offsetof(Network, dhcp6_force_pd_other_information)
 DHCPv6.PrefixDelegationHint,                 config_parse_dhcp6_pd_prefix_hint,                        0,                             0
 DHCPv6.WithoutRA,                            config_parse_dhcp6_client_start_mode,                     0,                             offsetof(Network, dhcp6_without_ra)
 DHCPv6.SendOption,                           config_parse_dhcp_send_option,                            AF_INET6,                      offsetof(Network, dhcp6_client_send_options)
@@ -530,11 +529,12 @@ DHCP.RouteTable,                             config_parse_dhcp_or_ra_route_table
 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_warn_compat,                                 DISABLED_LEGACY,               0
-DHCP.ForceDHCPv6PDOtherInformation,          config_parse_bool,                                        0,                             offsetof(Network, dhcp6_force_pd_other_information)
+DHCP.ForceDHCPv6PDOtherInformation,          config_parse_warn_compat,                                 DISABLED_LEGACY,               0
 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
+DHCPv6.ForceDHCPv6PDOtherInformation,        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
index bd9758c899a7f6848d18516b94e3a4a7bbfe980a..f8d62fee6c3717cf91f5533524ae32099118353d 100644 (file)
@@ -189,8 +189,6 @@ struct Network {
         OrderedHashmap *dhcp6_client_send_options;
         OrderedHashmap *dhcp6_client_send_vendor_options;
         Set *dhcp6_request_options;
-        /* Start DHCPv6 PD also when 'O' RA flag is set, see RFC 7084, WPD-4 */
-        bool dhcp6_force_pd_other_information;
 
         /* DHCP Server Support */
         bool dhcp_server;