content-type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-RT-Original-Encoding: iso-8859-1 Content-Length: 2930 While trying to add multiple MPL parameters (RFC-7774) I found that isc-dhcp v6 does not support multiple entries of an option per the DHCPv6 method. In DHCPv4 options would be concatenated as an array of option parameters instead of separate instances of the option as required by DHCPv6 (RFC-7227 Ch 16 & RFC-3315 Ch 22). I propose adding support for multiple instances of DHCPv6 options using the "append" keyword. Attached is a patch that works with the below example.conf but perhaps there is a cleaner patch as I don't have a full understanding of how the option cache is constructed and laid out and how the options parsing is performed (multiple passes?). sample dhcpv6.conf # MPL Parameter Configuration Option (RFC-7774) # MPL Default Parameters Option 104 option dhcp6.mpl-default-parameters code 104 = { unsigned integer 8, # flags, 0x80 - proactive unsigned integer 8, # tunit unsigned integer 16, # se_lifetime unsigned integer 8, # dm_k unsigned integer 16, # dm_imin unsigned integer 8, # dm_imax unsigned integer 16, # dm_t_exp unsigned integer 8, # c_k unsigned integer 16, # c_imin unsigned integer 8, # c_imax unsigned integer 16 # c_t_exp }; # MPL Domain Parameters Option 104 option dhcp6.mpl-domain-parameters code 104 = { unsigned integer 8, # flags, 0x80 - proactive unsigned integer 8, # tunit unsigned integer 16, # se_lifetime unsigned integer 8, # dm_k unsigned integer 16, # dm_imin unsigned integer 8, # dm_imax unsigned integer 16, # dm_t_exp unsigned integer 8, # c_k unsigned integer 16, # c_imin unsigned integer 8, # c_imax unsigned integer 16, # c_t_exp ip6-address # MPL Domain }; # The standard ISC-DHCP server does not support multiple DHCPv6 options with # the same code and only the last "option" specified with a code is saved. # # The ISC-DHCP client (which uses the same configuration option parser) # supports "prepend" and "append" options to override or add defaults for # options. The parser does this by concatenating the additional configurations # as array members to an option as supported in DHCPv4. # # RFC-7227 Ch 16 describes expected format for non-singleton options. # RFC-3315 Ch 22 states an option appearing multiple times must be a separate # instance and MUST NOT be concatenated. # # A patched version of the ISC-DHCP server is required to support the following # dhcpv6 options as separate instances. option dhcp6.mpl-default-parameters 0x80 100 18000 1 1 3 3 1 1 9 10; # payload delay sensitive domain parameters append dhcp6.mpl-domain-parameters 0x80 100 18000 4 5 16 3 4 20 16 2 ff03::153; # delay insensitive domain parameters append dhcp6.mpl-domain-parameters 0x80 100 18000 2 1200 4 15 3 1800 4 20 ff03::154; Regards, James