... | @@ -32,7 +32,33 @@ Suppose we have an IPv6 /64 pool and the BALS allocator is used. This pool is ve |
... | @@ -32,7 +32,33 @@ Suppose we have an IPv6 /64 pool and the BALS allocator is used. This pool is ve |
|
|
|
|
|
BALS comes with free leases shuffling capability but we should also consider whether it should be possible to use pre-allocation with incremental lease allocation.
|
|
BALS comes with free leases shuffling capability but we should also consider whether it should be possible to use pre-allocation with incremental lease allocation.
|
|
|
|
|
|
(this is ongoing)
|
|
In order to use the new allocator one would need to configure the server. Currently, there is no configuration knob to use other allocator than iterative. The design proposes to create new global parameter `lease-allocation`, which defines the lease allocation strategy, with the following enum values
|
|
|
|
- `iterative`,
|
|
|
|
- `random`
|
|
|
|
- `iterative-pre-allocation`
|
|
|
|
- `random-pre-allocation`
|
|
|
|
|
|
|
|
The last 3 strategies will be provided by the BALS allocator, i.e. when any of these strategies is selected the BALS allocator will be used by the allocation engine. Even if the strategy with pre-allocation is in use, it should be possible to selectively disable it for certain pools, subnets and shared networks. This is controlled by the new `lease-pre-allocation` boolean parameter. For example, the following configuration:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"Dhcp4": {
|
|
|
|
"lease-allocation": "random-pre-allocation",
|
|
|
|
"shared-networks": [
|
|
|
|
{
|
|
|
|
"name": "felix",
|
|
|
|
"lease-pre-allocation": false
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "ivy",
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
instructs the server to use lease pre-allocation and to shuffle the pre-allocated leases. This is by default used for all pools. The pre-allocation is selectively disabled for the shared network "felix", all subnets belonging to it and all pools belonging to these subnets. For these pools the leases will still be shuffled. The shared network "ivy" uses the default setting, so for all the pools in this shared network the leases will be shuffled and pre-allocated.
|
|
|
|
|
|
|
|
|
|
# New API Calls
|
|
# New API Calls
|
|
|
|
|
... | | ... | |