2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-22 01:49:48 +00:00
22
kea multithreading packet processing requirements
Andrei Pavel edited this page 2022-04-06 17:37:23 +03:00

The initial requirements of the kea multi-threading packet processing design:

  1. It MUST be supported by DHCPv4 and DHCPv6 servers
  2. It MUST not break existing functionality
  3. It MUST compile and use supported dependencies on all supported platforms
  4. It MUST be configurable in the configuration file
  5. It MUST be configurable at run-time using control channel commands
  6. It MUST be configurable on the command line (still in discussion).
  7. It MUST support configuration options to enabling or disable this feature
  8. It MUST support configuration options to set the number of threads to be created
  9. It MUST not have impact on the old server functionality if the feature is disabled
  10. It MUST support MySql and PgSql back-ends
  11. It MUST support Memfile and Cassandra back-ends (initial implementation might disable the feature or use a hybrid approach - use locks which will impact performance - if configured with these back-ends)
  12. It MUST support using hooks (initial implementation might disable the feature or use a hybrid approach - use locks which will impact performance - if configured with unsupported hooks)
  13. It MUST not block planned evolutions e.g. moving database code to hooks
  14. It MUST use the Kea copyright including the license.

As the development goes further and the design is perfected, these requirements must be updated.