dhcpcd.conf(5) states:
⋮
option option
Requests the option from the server. It can be a variable to be
used in dhcpcd-run-hooks(8) or the numerical value. You can
specify more options separated by commas, spaces or more option
lines. Prepend dhcp6_ to option to request a DHCPv6 option. If
no DHCPv6 options are configured, then DHCPv4 options are mapped
to equivalent DHCPv6 options.
Prepend nd_ to option to handle ND options, but this only works
for the nooption, reject and require options.
To see a list of options you can use, call dhcpcd with the -V,
--variables argument.
⋮
It explicitly states that DHCPv6, ND, and DHCP options are allowed on the same line; thus I believe there is a bug. For example, the following config parses just fine:
noipv6rs
denyinterfaces !(ixl2)
allowinterfaces ixl2
script ""
link_rcvbuf 65536
interface ixl2
duid
fqdn disable
iaid 0
ia_na 0
ia_pd 0/::/60 -
ipv6rs
# DHCPv6 options to remove. Copy-pasted from `dhcpcd -V` with `dhcp6_` prepended per `dhcpcd.conf(5)`.
nooption dhcp6_name_servers,dhcp6_domain_search,dhcp6_sntp_servers,dhcp6_fqdn,dhcp6_posix_timezone,dhcp6_tzdb_timezone,dhcp6_ntp_server
# ND options to remove. Copy-pasted from `dhcpcd -V` with `nd_` prepended per `dhcpcd.conf(5)`.
nooption nd_mtu,nd_rdnss,nd_dnssl
# DHCP options to remove. Copy-pasted from `dhcpcd -V`.
nooption time_offset,time_servers,ien116_name_servers,domain_name_servers,host_name,domain_name,interface_mtu,ntp_servers,fqdn,posix_timezone,tzdb_timezone,name_service_search,domain_search
# DHCPv6 options to request. Copy-pasted from `dhcpcd -V` with `dhcp6_` prepended per `dhcpcd.conf(5)`.
option dhcp6_rapid_commit
# DHCP options to request. Copy-pasted from `dhcpcd -V`.
option rapid_commit
persistent
# DHCPv6 options to require. Copy-pasted from `dhcpcd -V` with `dhcp6_` prepended per `dhcpcd.conf(5)`.
require dhcp6_server_id
# DHCP options to require. Copy-pasted from `dhcpcd -V`.
require dhcp_message_type,dhcp_server_identifier
waitip 64
On the other hand, if you merge the two require lines (i.e., require dhcp6_server_id,dhcp_message_type,dhcp_server_identifier), dhcpcd(8) logs an "unknown option" error:
May 10 10:28:56 router dhcpcd[44420]: unknown option: dhcp6_server_id,dhcp_message_type,dhcp_server_identifier
Similarly, if you merge the three nooption lines:
⋮
nooption dhcp6_name_servers,dhcp6_domain_search,dhcp6_sntp_servers,dhcp6_fqdn,dhcp6_posix_timezone,dhcp6_tzdb_timezone,dhcp6_ntp_server,nd_mtu,nd_rdnss,nd_dnssl,time_offset,time_servers,ien116_name_servers,domain_name_servers,host_name,domain_name,interface_mtu,ntp_servers,fqdn,posix_timezone,tzdb_timezone,name_service_search,domain_search
⋮
dhcpcd(8) logs an "unknown option" error:
May 10 10:28:56 router dhcpcd[44420]: unknown option: dhcp6_name_servers,dhcp6_domain_search,dhcp6_sntp_servers,dhcp6_fqdn,dhcp6_posix_timezone,dhcp6_tzdb_timezone,dhcp6_ntp_server,nd_mtu,nd_rdnss,nd_dnssl,time_offset,time_servers,ien116_name_servers,domain_name_servers,host_name,domain_name,interface_mtu,ntp_servers,fqdn,posix_timezone,tzdb_timezone,name_service_search,domain_search
dhcpcd.conf(5)states:⋮ option option Requests the option from the server. It can be a variable to be used in dhcpcd-run-hooks(8) or the numerical value. You can specify more options separated by commas, spaces or more option lines. Prepend dhcp6_ to option to request a DHCPv6 option. If no DHCPv6 options are configured, then DHCPv4 options are mapped to equivalent DHCPv6 options. Prepend nd_ to option to handle ND options, but this only works for the nooption, reject and require options. To see a list of options you can use, call dhcpcd with the -V, --variables argument. ⋮It explicitly states that DHCPv6, ND, and DHCP options are allowed on the same line; thus I believe there is a bug. For example, the following config parses just fine:
On the other hand, if you merge the two
requirelines (i.e.,require dhcp6_server_id,dhcp_message_type,dhcp_server_identifier),dhcpcd(8)logs an "unknown option" error:Similarly, if you merge the three
nooptionlines:dhcpcd(8)logs an "unknown option" error: