Kea merge requestshttps://gitlab.isc.org/isc-projects/kea/-/merge_requests2023-10-05T14:45:48Zhttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/2132Resolve "CA returns number overflow on ipv6 stats"2023-10-05T14:45:48ZAndrei Pavelandrei@isc.orgResolve "CA returns number overflow on ipv6 stats"Closes #3068.
* [x] acf7cbd4b371726507d8006c848baaeceb54d50e fix shadowed member
data.cc: In member function ‘virtual void isc::data::MapElement::toJSON(std::ostream&) const’:
data.cc:919:51: warning: declaration of ‘m’ sha...Closes #3068.
* [x] acf7cbd4b371726507d8006c848baaeceb54d50e fix shadowed member
data.cc: In member function ‘virtual void isc::data::MapElement::toJSON(std::ostream&) const’:
data.cc:919:51: warning: declaration of ‘m’ shadows a member of ‘isc::data::MapElement’ [-Wshadow]
919 | const std::map<std::string, ConstElementPtr>& m = mapValue();
| ^
In file included from data.cc:9:
../../../src/lib/cc/data.h:769:44: note: shadowed declaration is here
769 | std::map<std::string, ConstElementPtr> m;
| ^
* [x] 24e9c3ed92e9a74131fcff024ac2a66e2a75e65b add bigint deserialization unit tests
* [x] da10ffa5d440667c55953ab29b0960a37d9a5357 switch bigints to the checked variant
Kea needs to gain knowledge of big integers overflowing and underflowing
in various places in code such as when deserializing integers where it's
important to know if the recipient can hold the value, and if the value
is accurately represented.
* [x] 2c03a73708635c0958fb8f4804c736e56272ca9f add unit tests for checked bigints
* [x] 29530870cdfca172b5ed4d60b333558bce4b8209 add bigint support to the Element deserializer
* [x] 0b87cc1d344036c95388256dca6cfa6fe0dff06b fix prefixesInRange after uint128_t was moved to checked_uint128_t
* [x] 22fe0f63171b5378f6d88cfb23ea995cf1c6f9e3 add comment about code obsolescence
* [x] 8040f6c006a25ef77430f30a4ee0b070f61e81b7 add ChangeLog entry
My initial idea to do a strcmp on the number being parsed and on INT128_MAX doesn't work at all. As it turns out, it's not lexicographical order that's needed, but numerical order. So I turned to trying to cast to int128_t after the cast to int64_t. The impact should be minimal, considering that most integers fit on 64 bits.
I was able to get a successful response for this statistic on a `::/1` subnet.
```json
"subnet[1].total-nas": [
[
170141183460469231731687303715884105728,
"2023-10-02 17:47:07.504239"
]
],
```kea2.5.3Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/1980Resolve "total-nas counter overrun (uint128 needed)"2023-05-17T16:18:39ZAndrei Pavelandrei@isc.orgResolve "total-nas counter overrun (uint128 needed)"Closes #2658.
* [x] cc426eb66c91a9d58990605c224ea2986ef2519d add support for big ints
* [x] 66ab92798459ea2334674ea04e387f6449ff9545 add unit tests for big ints
* [x] 9fc7c02f94e23a1880f796b663cf68141d6d2e48 add BigIntElement
...Closes #2658.
* [x] cc426eb66c91a9d58990605c224ea2986ef2519d add support for big ints
* [x] 66ab92798459ea2334674ea04e387f6449ff9545 add unit tests for big ints
* [x] 9fc7c02f94e23a1880f796b663cf68141d6d2e48 add BigIntElement
BigIntElement is modelled as an int128_t, following the precedent of
signed integer of int64_t from IntElement.
* [x] f5aa07c1f6616d1b1a0d4271d8133aa667211a69 add big integer support to statistics
Pool capacities have been promoted in code from uint64_t to uint128_t.
Bigint is modelled as an int128_t in statistics, following the precedent of
signed integer of int64_t from statistics.
- "total-nas" is extended to 128 bits as requested in the issue.
- "total-pds" has the same risk of overflowing so it has been extended
as well.
- "total-addresses" always fits in 64 bits, but certain code forces a
128 bit value on it. See Pool::getCapacity(), Subnet::getPoolCapacity(),
Subnet::sumPoolCapacity(). It could have been truncated to a 64 bit value,
but that seems like an unnecessary complication.
Because of the disparity in signedness there is some truncation that can
happen when pool capacity values are passed on to statistics. That only happens
for the last half of the value range, so for prefix ranges larger than /1.
* [x] 0b76e67c8401cf4f951dbab763f1ac858e1ae061 document big integer statistics
* [x] 52fa89633a2395a2947c4954ea14f3fcacdad4e1 add ChangeLog entrykea2.3.8Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/1445Resolve "Create a stats/testutils directory."2021-10-11T16:31:49ZRazvan BecheriuResolve "Create a stats/testutils directory."Closes #2129Closes #2129kea2.1.0Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/1444Resolve "Create a stats/testutils directory."2021-10-11T16:12:23ZFrancis DupontResolve "Create a stats/testutils directory."Closes #2129Closes #2129kea2.1.0Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/1403Resolve "Adding statistics to D2"2021-09-14T14:29:45ZFrancis DupontResolve "Adding statistics to D2"Add unit tests for the new statistics.
Part of #2040Add unit tests for the new statistics.
Part of #2040kea2.0.0 (formerly 1.9.12)Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/1385Resolve "Adding statistics to D2"2021-09-04T14:06:01ZFrancis DupontResolve "Adding statistics to D2"Part of #2040Part of #2040kea2.0.0 (formerly 1.9.12)Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/931Resolve "add a statistic of the queue length"2020-10-22T17:23:44ZFrancis DupontResolve "add a statistic of the queue length"Closes #1306Closes #1306kea1.9.1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/930Resolve "statistic-remove command should be deprecated"2020-09-24T10:05:08ZFrancis DupontResolve "statistic-remove command should be deprecated"Closes #912Closes #912kea1.9.0Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/862Resolve "Inaccurate Counters in HA"2020-08-12T12:44:37ZRazvan BecheriuResolve "Inaccurate Counters in HA"Closes #1065Closes #1065kea1.8.0Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/725Resolve "move to c++11 std::chrono library"2020-07-16T13:05:28ZFrancis DupontResolve "move to c++11 std::chrono library"Closes #1174Closes #1174kea1.7.10Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/729Resolve "new statistic: number of addresses assigned"2020-04-23T21:43:35ZFrancis DupontResolve "new statistic: number of addresses assigned"Closes #816Closes #816kea1.7.7Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/730Resolve "MaxSampleCount/Age defaults need to be reconsidered and be configura...2020-04-14T18:50:05ZFrancis DupontResolve "MaxSampleCount/Age defaults need to be reconsidered and be configurable"Closes #1005
#huge-sorryCloses #1005
#huge-sorrykea1.7.7Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/592Resolve "make stats mgr thread safe"2020-02-06T16:22:38ZRazvan BecheriuResolve "make stats mgr thread safe"Closes #891Closes #891kea1.7.2Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/merge_requests/503Resolve "Kea DHCP servers' observations should be reset to some initial value...2019-09-19T10:55:26ZMarcin SiodelskiResolve "Kea DHCP servers' observations should be reset to some initial values upon restart or reconfiguration"Closes #755. It supersedes the !502 created against forked repo.Closes #755. It supersedes the !502 created against forked repo.kea1.7.0Marcin SiodelskiMarcin Siodelski