[Dibbler] Per client prefix delegation ?

Tomasz Mrugalski thomson at klub.com.pl
Thu Jun 21 21:40:21 CEST 2012


On 09.03.2012 21:02, Tomasz Mrugalski wrote:
> On 06.03.2012 00:06, Mickael Marchand wrote:
>> Hi,
>>
>> I am currently testing this branch, it seems to work fine, thanks for
>> writing the implementation.
>>
>> I only occured something odd :
>> 3103s,809628us  Server Debug     0 answers buffered. Old reply for transID=d0ef95 not found. Generating new answer.
>> 3103s,809706us  Server Debug     Found per-client configuration (exception) for client with DUID=00:03:00:01:2c:76:8a:b0:fd:8c
>> 3103s,809736us  Server Info      Reserved in-pool address 2a01:e0b:1000:255::1 for this client found, assigning.
>> 3103s,809769us  Server Info      PD option (with IAPREFIX suboptions missing) received. 
>> 3103s,809794us  Server Debug     Found per-client configuration (exception) for client with DUID=00:03:00:01:2c:76:8a:b0:fd:8c
>> 3103s,809830us  Server Info      Reserved in-pool prefix 2a01:e0b:2fff::/48 for this client found, assigning.
>> 3103s,809884us  Server Debug     Preference set to 255.
>> 3103s,809914us  Server Debug     Found per-client configuration (exception) for client with DUID=00:03:00:01:2c:76:8a:b0:fd:8c
>> 3103s,809952us  Server Warning   Client (DUID=00:03:00:01:2c:76:8a:b0:fd:8c) not found in addrDB, cannot delete address and/or client.
>> 3103s,809976us  Server Debug     Address usage for class 0 decreased to 18446744073709551615.
>>
>> it seems there is a counter that get decreased below 0 (2^64-1)
>> and I believe this prevents further allocation of PD/Addr
> Amount of available prefixes in each pool is used for decision if a pool
> is suitable or not. Clearly going below 0 is a bug.
I spent considerable amount of time on this new assignment engine and I
believe it is ready for broader testing. It is now merged to master
branch in the GIT repository. Could you please test and check if it working?

> Thanks for testing this branch. I will try to look into the 2^64-1
> problem next week. This weekend and Monday I'm swamped with work on
> DHCPv6 failover draft. There is deadline on Monday midnight for IETF
> submissions.
That problem has been resolved, at least it does not reproduce anymore
in my tests.

BTW I have implemented unittest framework for Dibbler that uses
googletest. There are around 10 tests for per client reservations and
new allocations. If you are interested, you can run them with:

./configure --with-gtest=/path/to/your/gtest
make
make check <- this will run tests

If you are familiar with C++, you can take a look at
tests/Srv/assign_*_unittest.cc.

Cheers,
Tomek


More information about the Dibbler mailing list