2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-29 13:07:50 +00:00

[3274] Added dhcp/classify.h

This commit is contained in:
Tomek Mrugalski 2014-02-03 18:50:24 +01:00
parent 393abcf8b1
commit b7c33a05cd
3 changed files with 44 additions and 6 deletions

42
src/lib/dhcp/classify.h Normal file
View File

@ -0,0 +1,42 @@
// Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
#include <config.h>
#include <set>
#include <string>
/// @file classify.h
///
/// @brief Defines basic elements of client classification.
///
/// This file defines common elements used for client classification.
/// It is simple for now, but the complexity involved in client
/// classification is expected to grow significantly.
///
/// @todo This file should be moved to dhcpsrv eventually as the classification
/// is server side concept. That is not possible yet, as the Pkt4 and Pkt6
/// classes have server-side implementation, even though they reside in the
/// dhcp directory.
namespace isc {
namespace dhcp {
/// Container for storing client classes
typedef std::set<std::string> Classes;
};
};

View File

@ -20,6 +20,7 @@
#include <util/buffer.h>
#include <dhcp/option.h>
#include <dhcp/hwaddr.h>
#include <dhcp/classify.h>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/shared_ptr.hpp>
@ -53,9 +54,6 @@ public:
/// to check whether client requested broadcast response.
const static uint16_t FLAG_BROADCAST_MASK = 0x8000;
/// Container for storing client classes
typedef std::set<std::string> Classes;
/// Constructor, used in replying to a message.
///
/// @param msg_type type of message (e.g. DHCPDISOVER=1)

View File

@ -17,6 +17,7 @@
#include <asiolink/io_address.h>
#include <dhcp/option.h>
#include <dhcp/classify.h>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/shared_array.hpp>
@ -48,9 +49,6 @@ public:
TCP = 1 // there are TCP DHCPv6 packets (bulk leasequery, failover)
};
/// Container for storing client classes
typedef std::set<std::string> Classes;
/// @brief defines relay search pattern
///
/// Defines order in which options are searched in a message that