Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Kea Kea
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 509
    • Issues 509
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 56
    • Merge requests 56
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source Projects
  • KeaKea
  • Issues
  • #2348
Closed
Open
Created Mar 09, 2022 by Francis Dupont@fdupontDeveloper

redesign the allocator framework

The current allocator frame work must be redesigned to address #2316: currently the allocator engine is a server property (alloc_engine_ field of DhcpvXSrv classes) where it should be more per subnet or per pool.

In details:

  • Dhcpv4Srv and Dhcpv6Srv classes have a alloc_engine_ field
  • the AllocEngine class has an Allocator sub-class with the needed method e.g pickAddress, some XxxAllocator classes (only the IterativeAllocator has code) and a map of Lease type x AllocatorPtr so in fact the allocator can be per Lease type (V4, NA, (TA,) PD)

As pools have a Lease type it seems easier to go to a per pool allocator. Note the between pool iteration can stay has it is now (start from the last allocation) or be designed too. In all case this loop and its body have to be split.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking