From: Thomas Markwalder Date: Fri, 20 Mar 2015 11:06:52 +0000 (-0400) Subject: [master] Merge branch 'trac3689' X-Git-Tag: kea-0.9.1~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c13c824d9948f7e3f71a65ed43798f3b5c14042c;p=thirdparty%2Fkea.git [master] Merge branch 'trac3689' --- c13c824d9948f7e3f71a65ed43798f3b5c14042c diff --cc src/bin/dhcp6/dhcp6_srv.h index 16ab82881e,ca94d67273..0099b7ea86 --- a/src/bin/dhcp6/dhcp6_srv.h +++ b/src/bin/dhcp6/dhcp6_srv.h @@@ -606,16 -647,19 +647,29 @@@ protected /// @return HWaddr pointer (or NULL if configured methods fail) static HWAddrPtr getMAC(const Pkt6Ptr& pkt); + /// @brief Processes Relay-supplied options, if present + /// + /// This method implements RFC6422. It checks if there are any RSOO options + /// inserted by the relay agents in the query message. If there are, they + /// are copied over to the response if they meet the following criteria: + /// - the option is marked as RSOO-enabled (see relay-supplied-options + /// configuration parameter) + /// - there is no such option provided by the server) + void processRSOO(const Pkt6Ptr& query, const Pkt6Ptr& rsp); + + /// @brief Creates client context for specified packet + /// + /// Instantiates the ClientContext6 and then: + /// - Performs the subnet selection and stores the result in context + /// - Extracts the duid from the packet and saves it to the context + /// - Extracts the hardware address from the packet and saves it to + /// the context + /// - Performs host reservation lookup and stores the result in the + /// context + /// + /// @return client context + AllocEngine::ClientContext6 createContext(const Pkt6Ptr& pkt); + /// @brief this is a prefix added to the contend of vendor-class option /// /// If incoming packet has a vendor class option, its content is