Hello James: Thank you for your submission, we will take it into consideration for a future release. Whatever the outcome of our analysis, we will update you via this ticket. We value user contributions highly and will try to have a disposition for you in the near future. As a small, non-profit we have to commit our resources carefully and ask for your patience in awaiting a disposition. Sincerely, Thomas Markwalder ISC Software Engineering On Wed Aug 08 18:56:03 2018, jim.list@hotmail.com wrote: > 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