[Kea-users] Subnets stored in mysql_cb don't consistently work

Chad Catlett chad at catlett.info
Tue Dec 10 22:51:33 UTC 2019


Hello,

We have been working on deploying Kea to replace our current DHCPD deployment but have been running into issues with subnets not always working consistently.

To add data to mysql_cb we are using the premium hook cb_cmds. We've noticed that if we add, say 10 subnets in a rapid fashion then most often the subnets will not work correctly.

By not work I mean not all requested option data is not returned to the client. For example the client requests:

----
 Parameter-Request Option 55, length 10:
      Subnet-Mask, Default-Gateway, Domain-Name-Server, Hostname
      Domain-Name, BR, NTP, Vendor-Option
----

But the Kea responds with:

----
Your-IP 10.17.232.6
  Gateway-IP 10.17.232.2
  Client-Ethernet-Address d0:94:66:22:8d:32 (oui Unknown)
  Vendor-rfc1048 Extensions
    Magic Cookie 0x63825363
    DHCP-Message Option 53, length 1: Offer
    Subnet-Mask Option 1, length 4: 255.255.248.0
    Hostname Option 12, length 13: "idrac-abc1234"
    Lease-Time Option 51, length 4: 172800
    Server-ID Option 54, length 4: a.b.c.d
    Client-ID Option 61, length 7: ether d0:94:66:22:8d:32
    END Option 255, length 0
----

Critically missing things are gateway and dns.

We have tried both Kea 1.6.1 and 1.7.2.

The strange thing is if we send the remote-subnet4-set request to set the data again, often it will work for awhile but then stop working after an undetermined amount of time. 

The subnet configuration for the above request is at the end of this email.

Any pointers would be greatly appreciated. 

-Chad 

Here is the configuration as returned by Kea:

----
[
  {
    "arguments": {
      "count": 1,
      "subnets": [
        {
          "4o6-interface": "",
          "4o6-interface-id": "",
          "4o6-subnet": "",
          "id": 506,
          "metadata": {
            "server-tags": [
              "all"
            ]
          },
          "option-data": [
            {
              "always-send": false,
              "code": 3,
              "csv-format": true,
              "data": "10.17.232.1",
              "name": "routers",
              "space": "dhcp4"
            },
            {
              "always-send": false,
              "code": 15,
              "csv-format": true,
              "data": "oob.example.net",
              "name": "domain-name",
              "space": "dhcp4"
            },
            {
              "always-send": false,
              "code": 119,
              "csv-format": true,
              "data": "example.net",
              "name": "domain-search",
              "space": "dhcp4"
            },
            {
              "always-send": false,
              "code": 42,
              "csv-format": true,
              "data": "10.1.43.10, 10.1.45.10, 10.1.42.10",
              "name": "ntp-servers",
              "space": "dhcp4"
            },
            {
              "always-send": false,
              "code": 6,
              "csv-format": true,
              "data": "10.1.241.220, 10.1.241.221, 10.1.241.222",
              "name": "domain-name-servers",
              "space": "dhcp4"
            }
          ],
          "pools": [
            {
              "option-data": [],
              "pool": "10.17.232.6-10.17.239.254"
            }
          ],
          "relay": {
            "ip-addresses": []
          },
          "shared-network-name": null,
          "subnet": "10.17.232.0/21",
          "user-context": {
            "location": "oob"
          }
        }
      ]
    },
    "result": 0,
    "text": "IPv4 subnet 10.17.232.0/21 found."
  }
]
----


More information about the Kea-users mailing list