**DHCPv6 Prefix Delegation (PD)**

VyOS 1.3 (equuleus) supports DHCPv6-PD (:rfc:`3633`). DHCPv6 Prefix Delegation
is supported by most ISPs who provide native IPv6 for consumers on fixed networks.

.. cfgcmd:: set interfaces {{ var0 }} <interface> dhcpv6-option pd <id> length <length>

   Some ISPs by default only delegate a /64 prefix. To request for a specific
   prefix size use this option to request for a bigger delegation for this pd
   `<id>`. This value is in the range from 32 - 64 so you could request up to a
   /32 prefix (if your ISP allows this) down to a /64 delegation.

   The default value corresponds to 64.

  Example:

  To request a /56 prefix from your ISP use:

  .. code-block:: none

    set interfaces {{ var0 }} {{ var1 }} dhcpv6-options pd 0 length 56

.. cfgcmd:: set interfaces {{ var0 }} <interface> dhcpv6-option pd <id> interface <delegatee> address <address>

   Specify the interface address used locally on the interfcae where the prefix
   has been delegated to. ID must be a decimal integer.

   It will be combined with the delegated prefix and the sla-id to form a
   complete interface address. The default is to use the EUI-64 address of the
   interface.

   Example: Delegate a /64 prefix to interface eth0.10 which will use a local
   address on this router of ``<prefix>::ffff``, as the address 65534 will
   correspond to ``ffff`` in hexadecimal notation.

  .. code-block:: none

    set interfaces {{ var0 }} {{ var1 }} dhcpv6-option pd 0 interface eth0.10 address 65534

.. cfgcmd:: set interfaces {{ var0 }} <interface> dhcpv6-option pd <id> interface <delegatee> sla-id <id>

   Specify the identifier value of the site-level aggregator (SLA) on the
   interface. ID must be a decimal number greater then 0 which fits in the
   length of SLA IDs (see below).

   Example: If ID is 1 and the client is delegated an IPv6 prefix
   2001:db8:ffff::/48, dhcp6c will combine the two values into a single IPv6
   prefix, 2001:db8:ffff:1::/64, and will configure the prefix on the specified
   interface.

  .. code-block:: none

    set interfaces {{ var0 }} {{ var1 }} dhcpv6-option pd 0 interface eth0.10 sla-id 1