Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
Kea
Kea
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 445
    • Issues 445
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 71
    • Merge Requests 71
  • Operations
    • Operations
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • ISC Open Source Projects
  • KeaKea
  • Issues
  • #363

Closed
Open
Opened Dec 19, 2018 by Vicky Risk@vickyMaintainer

#13966: DHCP Option start sequence

Some clients require Option 53 first and don't accept options presented in numerical order the way they are in Kea 1.5.0. ISC DHCP sends option 53 first and so this has become an established, although non-standard, expectation.

After discussion in the Kea support meeting, everyone thinks we should just change the default behavior in the base Kea code to support this (non-standard) client requirement. Thomas has written a patch for this (below) which was shared with the support customer requesting this. We should review, merge and test this and include the change in the next Kea release.


diff --git a/src/lib/dhcp/libdhcp++.cc b/src/lib/dhcp/libdhcp++.cc index ced705dd29..a9f956eda8 100644 --- a/src/lib/dhcp/libdhcp++.cc +++ b/src/lib/dhcp/libdhcp++.cc @@ -790,11 +790,19 @@ LibDHCP::packOptions4(isc::util::OutputBuffer& buf, const OptionCollection& options) { OptionPtr agent; OptionPtr end; +

  • auto x = options.find(DHO_DHCP_MESSAGE_TYPE);
  • if (x != options.end()) {
  • x->second->pack(buf);
  • }

for (OptionCollection::const_iterator it = options.begin(); it != options.end(); ++it) {

  • // RAI and END options must be last.
  • // TYPE is already done, RAI and END options must be last. switch (it->first) {
  • case DHO_DHCP_MESSAGE_TYPE:
  • break; case DHO_DHCP_AGENT_OPTIONS: agent = it->second; break;
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Kea1.6
Milestone
Kea1.6 (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: isc-projects/kea#363