<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi, <br>
    I would like to know if anyone has successfully configured prefix
    delegation in dhcpv6.<br>
    In my case I'm trying to delegate network prefixes 2800:820:3::/56
    to customers that require it (without specifying any subnet in
    particular).<br>
    <br>
    <b>My kea setup is as follows:</b><br>
    <br>
    # cat /etc/kea/kea.conf
<br>
    <br>
    {
<br>
    # DHCPv6 configuration starts on the next line
<br>
    "Dhcp6": {
<br>
     <br>
    # First we set up global values
<br>
        "interfaces": [ "eth0" ],
<br>
        "renew-timer": 1000,
<br>
        "rebind-timer": 2000,
<br>
        "preferred-lifetime": 3000,
<br>
        "valid-lifetime": 4000,
<br>
     <br>
                 "option-data": [
<br>
                     {
<br>
                         "name": "dns-servers",
<br>
                         "code": 23,
<br>
                         "space": "dhcp6",
<br>
                         "csv-format": true,
<br>
                         "data": "2800:820:1:2::18"
<br>
                     }
<br>
            ],
<br>
    # Next we specify the type of lease database
<br>
        "lease-database": {
<br>
            "type": "memfile",
<br>
            "persist": true,
<br>
        "name": "/usr/local/var/kea/kea-leases6.csv"
<br>
        },
<br>
     <br>
    # Finally, we list the subnets from which we will be leasing
    addresses.
<br>
        "subnet6": [
<br>
            { "subnet": "2800:820:1:4::/64", "pools": [ { "pool":
    "2800:820:1:4::228-2800:820:1:4::254" } ],"interface": "eth0" },
<br>
            { "subnet": "2800:820:3::/56",
<br>
                "pd-pools": [ { "prefix": "2800:820:3::", "prefix-len":
    56, "delegated-len": 60 } ],"interface": "eth0"
<br>
            }
<br>
        ]
<br>
    },
<br>
    # The following configures logging. It assumes that warning
    messages
<br>
    # will be logged to stdout.
<br>
    "Logging": {
<br>
        "loggers": [
<br>
            {
<br>
                "name": "kea-dhcp6",
<br>
                "output_options": [
<br>
                    {
<br>
    #                    "output": "tdout"
<br>
                        "output": "/usr/local/var/kea/kea.log"
<br>
                    }
<br>
                ],
<br>
                "severity": "WARN"
<br>
            }
<br>
        ]
<br>
    }
<br>
     <br>
    # DHCPv6 configuration ends with the next line
<br>
    }
<br>
    <br>
    <b>In logs I see that it delivers a lease of IA_NA but it cannot
      deliver IA_PD:</b><br>
    <br>
    # tail /usr/local/var/kea/kea.log
<br>
    <br>
    2015-02-02 12:18:05.831 DEBUG [kea-dhcp6.dhcpsrv/30329]
    DHCPSRV_CFGMGR_SUBNET6_IFACE selected subnet 2800:820:1:4::/64 for
    packet received over interface eth0
<br>
    2015-02-02 12:18:05.831 DEBUG [kea-dhcp6.dhcpsrv/30329]
    DHCPSRV_CFGMGR_SUBNET6_IFACE selected subnet 2800:820:1:4::/64 for
    packet received over interface eth0
<br>
    2015-02-02 12:18:05.832 DEBUG [kea-dhcp6.dhcpsrv/30329]
    DHCPSRV_CFGMGR_SUBNET6_IFACE selected subnet 2800:820:1:4::/64 for
    packet received over interface eth0
<br>
    2015-02-02 12:18:05.832 DEBUG [kea-dhcp6.dhcp6/30329]
    DHCP6_SUBNET_SELECTED the 2800:820:1:4::/64 subnet was selected for
    client assignment
<br>
    2015-02-02 12:18:05.832 DEBUG [kea-dhcp6.dhcp6/30329]
    DHCP6_PROCESS_IA_NA_REQUEST server is processing IA_NA option
    (duid=00:01:00:01:1c:47:92:c6:00:19:21:78:c6:8d, iaid=1, hint=(no
    hint))
<br>
    2015-02-02 12:18:05.832 DEBUG [kea-dhcp6.dhcpsrv/30329]
    DHCPSRV_MEMFILE_GET_IAID_SUBID_DUID obtaining IPv6 leases for IAID
    1, Subnet ID 1, DUID 00:01:00:01:1c:47:92:c6:00:19:21:78:c6:8d and
    lease type IA_NA
<br>
    2015-02-02 12:18:05.832 DEBUG [kea-dhcp6.dhcpsrv/30329]
    DHCPSRV_MEMFILE_GET_ADDR6 obtaining IPv6 lease for address
    2800:820:1:4::229 and lease type IA_NA
<br>
    2015-02-02 12:18:05.832 DEBUG [kea-dhcp6.dhcpsrv/30329]
    DHCPSRV_MEMFILE_GET_ADDR6 obtaining IPv6 lease for address
    2800:820:1:4::229 and lease type IA_NA
<br>
    2015-02-02 12:18:05.832 DEBUG [kea-dhcp6.dhcp6/30329]
    DHCP6_LEASE_ADVERT address lease 2800:820:1:4::229 advertised
    (client duid=00:01:00:01:1c:47:92:c6:00:19:21:78:c6:8d, iaid=1)
<br>
    2015-02-02 12:18:05.832 DEBUG [kea-dhcp6.dhcp6/30329]
    DHCP6_PROCESS_IA_PD_REQUEST server is processing IA_PD option
    (duid=00:01:00:01:1c:47:92:c6:00:19:21:78:c6:8d, iaid=1, hint=(no
    hint))
<br>
    2015-02-02 12:18:05.832 DEBUG [kea-dhcp6.dhcpsrv/30329]
    DHCPSRV_MEMFILE_GET_IAID_SUBID_DUID obtaining IPv6 leases for IAID
    1, Subnet ID 1, DUID 00:01:00:01:1c:47:92:c6:00:19:21:78:c6:8d and
    lease type IA_PD
<br>
    2015-02-02 12:18:05.832 ERROR [kea-dhcp6.dhcpsrv/30329]
    DHCPSRV_ADDRESS6_ALLOC_ERROR error during attempt to allocate an
    IPv6 address: No pools defined in selected subnet
<br>
    2015-02-02 12:18:05.832 DEBUG [kea-dhcp6.dhcp6/30329]
    DHCP6_PD_LEASE_ADVERT_FAIL failed to advertise a prefix lease for
    client duid=00:01:00:01:1c:47:92:c6:00:19:21:78:c6:8d, iaid=1
<br>
    2015-02-02 12:18:05.833 DEBUG [kea-dhcp6.dhcp6/30329]
    DHCP6_RESPONSE_DATA responding with packet type 2 data is
    localAddr=[ff02::1:2]:547 remoteAddr=[fe80::2e0:4cff:fe0c:19fd]:546
<br>
    msgtype=2, transid=0x80e1c
<br>
    type=1, len=14: 00:01:00:01:1c:47:92:c6:00:19:21:78:c6:8d
<br>
    type=2, len=14: 00:01:00:01:1c:22:ed:15:00:01:2e:2a:02:fa
<br>
    type=3(IA_NA) iaid=1, t1=1000, t2=2000 1 sub-options:
<br>
      type=5(IAADDR) addr=2800:820:1:4::229, preferred-lft=3000,
    valid-lft=4000
<br>
     <br>
    type=23 1addr(s): 2800:820:1:2::18 
<br>
    type=25(IA_PD) iaid=1, t1=0, t2=0 1 sub-options:
<br>
      type=13, len=40, data fields:
<br>
        #0 6 ( uint16 ) 
<br>
        #1 Sorry, no prefixes could be allocated. ( string ) 
<br>
     <br>
    2015-02-02 12:18:05.833 DEBUG [kea-dhcp6.dhcp6/30329]
    DHCP6_RESPONSE_DATA responding with packet type 2 data is
    localAddr=[ff02::1:2]:547 remoteAddr=[fe80::2e0:4cff:fe0c:19fd]:546
<br>
    msgtype=2, transid=0x80e1c
<br>
    type=1, len=14: 00:01:00:01:1c:47:92:c6:00:19:21:78:c6:8d
<br>
    type=2, len=14: 00:01:00:01:1c:22:ed:15:00:01:2e:2a:02:fa
<br>
    type=3(IA_NA) iaid=1, t1=1000, t2=2000 1 sub-options:
<br>
      type=5(IAADDR) addr=2800:820:1:4::229, preferred-lft=3000,
    valid-lft=4000
<br>
     <br>
    type=23 1addr(s): 2800:820:1:2::18 
<br>
    type=25(IA_PD) iaid=1, t1=0, t2=0 1 sub-options:
<br>
      type=13, len=40, data fields:
<br>
        #0 6 ( uint16 ) 
<br>
        #1 Sorry, no prefixes could be allocated. ( string ) 
<br>
     <br>
    2015-02-02 12:18:06.839 DEBUG [kea-dhcp6.dhcp6/30329]
    DHCP6_PACKET_RECEIVED REQUEST packet received
<br>
    2015-02-02 12:18:06.840 DEBUG [kea-dhcp6.dhcp6/30329]
    DHCP6_QUERY_DATA received packet length 3, data length 0, data is
    localAddr=[ff02::1:2]:0 remoteAddr=[fe80::2e0:4cff:fe0c:19fd]:546
<br>
    msgtype=3, transid=0x22c8ee
<br>
    type=1, len=14: 00:01:00:01:1c:47:92:c6:00:19:21:78:c6:8d
<br>
    type=2, len=14: 00:01:00:01:1c:22:ed:15:00:01:2e:2a:02:fa
<br>
    type=3(IA_NA) iaid=1, t1=4294967295, t2=4294967295 1 sub-options:
<br>
      type=5(IAADDR) addr=2800:820:1:4::229, preferred-lft=3000,
    valid-lft=4000
<br>
     <br>
    type=6, len=2: 
<br>
    type=8, len=2: 
<br>
    type=25(IA_PD) iaid=1, t1=4294967295, t2=4294967295 0 sub-options:
<br>
     <br>
    <b>Server IP conf is:</b><br>
    <br>
    # ip -6 addr list
<br>
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
<br>
        inet6 ::1/128 scope host 
<br>
           valid_lft forever preferred_lft forever
<br>
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
<br>
        inet6 2800:820:1:4::1/64 scope global 
<br>
           valid_lft forever preferred_lft forever
<br>
        inet6 fe80::201:2eff:fe2a:2fa/64 scope link 
<br>
           valid_lft forever preferred_lft forever
<br>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <title>Interlink SRL</title>
      <style type="text/css">
</style>
      <table border="0" cellpadding="0" cellspacing="0" width="500">
        <tbody>
          <tr>
            <td height="80" width="65"><img
                src="cid:part1.09070603.00060206@cablenet.com.ar"
                align="absmiddle" height="70" width="60"></td>
            <td valign="top" width="175"><font color="#333" face="Arial,
                Helvetica, sans-serif" size="0"><strong>MAURO GASPARINI
                  Telecomunicaciones</strong></font><br>
              <font color="#333" face="Arial, Helvetica, sans-serif"
                size="0"><a class="moz-txt-link-abbreviated" href="mailto:mjgaspa@interlinksrl.com.ar">mjgaspa@interlinksrl.com.ar</a><br>
                <strong>INTERLINK SRL</strong><br>
                Corrientes 161 (2000) Rosario<br>
                Santa Fe - Argentina<br>
                Tel: +54 341 4248123</font></td>
            <td valign="middle" width="260"><img
                src="cid:part2.01060901.07030601@cablenet.com.ar"
                align="absmiddle" height="80" width="103"></td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>