mirror of
https://github.com/systemd/systemd.git
synced 2025-02-04 21:47:31 +03:00
network: deprecate ForceDHCPv6PDOtherInformation= setting
The setting is completely meaningless, as WithoutRA= and UseDelegatedPrefix= in [DHCPv6] section, and DHCPv6Client= in [IPv6AcceptRA] section control the behavior.
This commit is contained in:
parent
f107df6cdb
commit
483566e5ba
@ -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>
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user