summaryrefslogtreecommitdiffstats
path: root/src/bin/dhcp6/dhcp6_srv.h
diff options
context:
space:
mode:
authorMarcin Siodelski <marcin@isc.org>2014-07-18 16:07:36 +0200
committerMarcin Siodelski <marcin@isc.org>2014-07-18 16:07:36 +0200
commit69a5eafcb64ef8c1a606c1c1355382262be9b53d (patch)
treef7429be85daea05ce2f1f33489ebff2e0ea6a8f5 /src/bin/dhcp6/dhcp6_srv.h
parent[master] Added ChangeLog entry for #2893. (diff)
downloadkea-69a5eafcb64ef8c1a606c1c1355382262be9b53d.tar.xz
kea-69a5eafcb64ef8c1a606c1c1355382262be9b53d.zip
[3269] Implemented processing of the Confirm message.
Diffstat (limited to 'src/bin/dhcp6/dhcp6_srv.h')
-rw-r--r--src/bin/dhcp6/dhcp6_srv.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/bin/dhcp6/dhcp6_srv.h b/src/bin/dhcp6/dhcp6_srv.h
index e9d91611fa..399a75fc55 100644
--- a/src/bin/dhcp6/dhcp6_srv.h
+++ b/src/bin/dhcp6/dhcp6_srv.h
@@ -221,9 +221,29 @@ protected:
/// @param rebind message received from client
Pkt6Ptr processRebind(const Pkt6Ptr& rebind);
- /// @brief Stub function that will handle incoming CONFIRM messages.
+ /// @brief Processes incoming Confirm message and returns Reply.
///
- /// @param confirm message received from client
+ /// This function processes Confirm message from the client according
+ /// to section 18.2.2. of RFC3315. It discards the Confirm message if
+ /// the message sent by the client contains no addresses, i.e. it has
+ /// no IA_NA options or all IA_NA options contain no IAAddr options.
+ ///
+ /// If the Confirm message contains addresses this function will perform
+ /// the following checks:
+ /// - check if there is appropriate subnet configured for the client
+ /// (e.g. subnet from which addresses are assigned for requests
+ /// received on the particular interface).
+ /// - check if all addresses sent in the Confirm message belong to the
+ /// selected subnet.
+ ///
+ /// If any of the checks above fails, the Reply message with the status
+ /// code NotOnLink is returned. Otherwise, the Reply message with the
+ /// status code Success is returned.
+ ///
+ /// @param confirm Confirm message sent by a client.
+ ///
+ /// @return Reply message from the server al NULL pointer if Confirm
+ /// message should be discarded by the server.
Pkt6Ptr processConfirm(const Pkt6Ptr& confirm);
/// @brief Stub function that will handle incoming RELEASE messages.