diff options
author | Francis Dupont <fdupont@isc.org> | 2022-02-06 17:54:00 +0100 |
---|---|---|
committer | Razvan Becheriu <razvan@isc.org> | 2022-03-14 19:20:37 +0100 |
commit | 06be19c83ef6ad8e8f4a3a06314c26e270f00cdd (patch) | |
tree | b07b694c1064afa01b7f9424ac1e1081d3a07359 /src/bin/dhcp6/dhcp6_srv.h | |
parent | [2249] regen flex/bison (diff) | |
download | kea-06be19c83ef6ad8e8f4a3a06314c26e270f00cdd.tar.xz kea-06be19c83ef6ad8e8f4a3a06314c26e270f00cdd.zip |
[#2249] Checkpoint: doc to finish
Diffstat (limited to 'src/bin/dhcp6/dhcp6_srv.h')
-rw-r--r-- | src/bin/dhcp6/dhcp6_srv.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/bin/dhcp6/dhcp6_srv.h b/src/bin/dhcp6/dhcp6_srv.h index 4a891a7081..f18e786380 100644 --- a/src/bin/dhcp6/dhcp6_srv.h +++ b/src/bin/dhcp6/dhcp6_srv.h @@ -1,4 +1,4 @@ -// Copyright (C) 2011-2021 Internet Systems Consortium, Inc. ("ISC") +// Copyright (C) 2011-2022 Internet Systems Consortium, Inc. ("ISC") // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -255,6 +255,26 @@ public: /// Called during reconfigure and shutdown. void discardPackets(); + /// @brief Initialize client context and perform early global + /// reservations lookup. + /// + /// @param query The query message. + /// @param ctx Reference to client context. + /// @return true if processing can continue, false if the query must be + /// dropped. + bool earlyGHRLookup(const Pkt6Ptr& query, + AllocEngine::ClientContext6& ctx); + + /// @brief Set host identifiers within a context. + /// + /// This method sets an ordered list of host identifier types and + /// values which the server should use to find host reservations. + /// The order of the set is determined by the configuration parameter, + /// host-reservation-identifiers + /// + /// @param ctx reference to the context. + static void setHostIdentifiers(AllocEngine::ClientContext6& ctx); + protected: /// @brief This function sets statistics related to DHCPv6 packets processing @@ -822,6 +842,14 @@ protected: /// UNKNOWN classes are skipped, if true only these classes are evaluated. void evaluateClasses(const Pkt6Ptr& pkt, bool depend_on_known); + /// @brief Removed evaluated client classes. + /// + /// @todo: keep the list of dependent evaluated classes so + /// removed only them. + /// + /// @param pkt the packet. + static void removeDependentEvaluatedClasses(const Pkt6Ptr& pkt); + /// @brief Assigns classes retrieved from host reservation database. /// /// @param pkt Pointer to the packet to which classes will be assigned. |