<para>The following options are understood:</para>
<variablelist class='network-directives'>
+ <varlistentry>
+ <term><varname>ClientIdentifier=</varname></term>
+ <listitem>
+ <para>Specifies the default DHCPv4 client identifier to be used. Takes one of <option>mac</option>
+ or <option>duid</option>. If set to <option>mac</option>, the MAC address of each link will be used.
+ If set to <option>duid</option>, an RFC4361-compliant Client ID, which is the combination of IAID
+ and DUID, is used. IAID can be configured by <varname>IAID=</varname> in each matching
+ <filename>.network</filename> file. DUID can be configured by <varname>DUIDType=</varname> and
+ <varname>DUIDRawData=</varname>. Defaults to <option>duid</option>.</para>
+
+ <xi:include href="version-info.xml" xpointer="v258"/>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><varname>DUIDType=</varname></term>
<listitem><para>Specifies how the DUID should be generated. See
<option>duid</option>. If set to <option>mac</option>, the MAC address of the link is used. If set
to <option>duid</option>, an RFC4361-compliant Client ID, which is the combination of IAID and
DUID, is used. IAID can be configured by <varname>IAID=</varname>. DUID can be configured by
- <varname>DUIDType=</varname> and <varname>DUIDRawData=</varname>. Defaults to
- <option>duid</option>.</para>
+ <varname>DUIDType=</varname> and <varname>DUIDRawData=</varname>. When
+ <varname>Anonymize=</varname> is enabled, <option>mac</option> is unconditionally used and the
+ specified value will be ignored. When unspecified, the value specified in the same setting in
+ <citerefentry><refentrytitle>networkd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ will be used.</para>
<xi:include href="version-info.xml" xpointer="v220"/>
</listitem>
}
if (network->dhcp_client_identifier < 0)
- network->dhcp_client_identifier = network->dhcp_anonymize ? DHCP_CLIENT_ID_MAC : DHCP_CLIENT_ID_DUID;
+ network->dhcp_client_identifier = network->dhcp_anonymize ? DHCP_CLIENT_ID_MAC : network->manager->dhcp_client_identifier;
/* By default, RapidCommit= is enabled when Anonymize=no and neither AllowList= nor DenyList= is specified. */
if (network->dhcp_use_rapid_commit < 0)
IPv6AddressLabel.Prefix, config_parse_ipv6_address_label_section, IPV6_ADDRESS_LABEL_BY_MANAGER | IPV6_ADDRESS_LABEL_PREFIX, 0
IPv6AddressLabel.Label, config_parse_ipv6_address_label_section, IPV6_ADDRESS_LABEL_BY_MANAGER | IPV6_ADDRESS_LABEL, 0
DHCPv4.UseDomains, config_parse_use_domains, 0, offsetof(Manager, dhcp_use_domains)
+DHCPv4.ClientIdentifier, config_parse_dhcp_client_identifier, 0, offsetof(Manager, dhcp_client_identifier)
DHCPv4.DUIDType, config_parse_duid_type, 0, offsetof(Manager, dhcp_duid)
DHCPv4.DUIDRawData, config_parse_duid_rawdata, 0, offsetof(Manager, dhcp_duid)
DHCPv6.UseDomains, config_parse_use_domains, 0, offsetof(Manager, dhcp6_use_domains)
.dhcp_use_domains = _USE_DOMAINS_INVALID,
.dhcp6_use_domains = _USE_DOMAINS_INVALID,
.ndisc_use_domains = _USE_DOMAINS_INVALID,
+ .dhcp_client_identifier = DHCP_CLIENT_ID_DUID,
.dhcp_duid.type = DUID_TYPE_EN,
.dhcp6_duid.type = DUID_TYPE_EN,
.duid_product_uuid.type = DUID_TYPE_UUID,
UseDomains dhcp6_use_domains;
UseDomains ndisc_use_domains;
+ DHCPClientIdentifier dhcp_client_identifier;
DUID dhcp_duid;
DUID dhcp6_duid;
DUID duid_product_uuid;
#UseDomains=
[DHCPv4]
+#ClientIdentifier=duid
#DUIDType=vendor
#DUIDRawData=
#UseDomains=