Updated all the dependencies and addressed dependabot warnings from 12
to 20, starting at
https://github.com/coredhcp/coredhcp/security/dependabot/12 .
This also required dropping Go 1.14/1.15 and bump to the latest two
versions, 1.19 and 1.20.
Signed-off-by: Andrea Barberio <insomniac@slackware.it>
This implements the meat of the plugin, which stores allocated leases
(only in memory) but also a basic heuristic to allocate leases to
requests.
The logic will not provide the best fit; it tries to do something
reasonable but there is no universal best behavior here.
Performance hasn't been considered at this point, because lease storage
will be moved out into its own plugin(s) in the future.
Signed-off-by: Anatole Denis <anatole@unverle.fr>
Allocators themselves are implementation details for now; bitmap
reflects better the properties of this allocator
Signed-off-by: Anatole Denis <anatole@unverle.fr>
To build an IPv6 Prefix Delegation plugin, we'll need allocation
strategies as well as the plugin itself.
This adds scaffolding for prefix allocators
* allocator.go contains interfaces to interact with the allocators
* ipcalc has helper functions to simplify indexing tables/hash ipv6
addresses
* fixedsize is a trivial allocator that always reserves a prefix of the
same size (eg /64) regardless of what the client requests
Signed-off-by: Anatole Denis <anatole@unverle.fr>