summaryrefslogtreecommitdiffstats
path: root/src/bin/dhcp6/dhcp6_srv.h
diff options
context:
space:
mode:
authorFrancis Dupont <fdupont@isc.org>2022-02-06 17:54:00 +0100
committerRazvan Becheriu <razvan@isc.org>2022-03-14 19:20:37 +0100
commit06be19c83ef6ad8e8f4a3a06314c26e270f00cdd (patch)
treeb07b694c1064afa01b7f9424ac1e1081d3a07359 /src/bin/dhcp6/dhcp6_srv.h
parent[2249] regen flex/bison (diff)
downloadkea-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.h30
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.