 |
Kea
1.5.0
|
Go to the documentation of this file.
29 typedef std::map<unsigned short, Option::Factory*>
FactoryMap;
60 const std::string& name);
70 const uint32_t vendor_id,
83 const uint32_t vendor_id,
84 const std::string& name);
105 const std::string& name);
123 const uint16_t code);
132 const std::string& name);
152 const uint16_t code);
236 const std::string& option_space,
238 size_t* relay_msg_offset = 0,
239 size_t* relay_msg_len = 0);
259 const std::string& option_space,
261 std::list<uint16_t>& deferred);
374 static void initStdOptionDefs4();
383 static void initStdOptionDefs6();
386 static void initLastResortOptionDefs();
389 static void initVendorOptsDocsis4();
392 static void initVendorOptsDocsis6();
395 static void initVendorOptsIsc6();
std::vector< uint8_t > OptionBuffer
buffer types used in DHCP code.
boost::shared_ptr< OptionDefinition > OptionDefinitionPtr
Pointer to option definition object.
static uint32_t optionSpaceToVendorId(const std::string &option_space)
Converts option space name to vendor id.
static bool shouldDeferOptionUnpack(const std::string &space, const uint16_t code)
Checks if an option unpacking has to be deferred.
static void packOptions6(isc::util::OutputBuffer &buf, const isc::dhcp::OptionCollection &options)
Stores DHCPv6 options in a buffer.
static OptionDefContainerPtr getRuntimeOptionDefs(const std::string &space)
Returns runtime (non-standard) option definitions for specified option space name.
Simple container for option spaces holding various items.
static size_t unpackOptions6(const OptionBuffer &buf, const std::string &option_space, isc::dhcp::OptionCollection &options, size_t *relay_msg_offset=0, size_t *relay_msg_len=0)
Parses provided buffer as DHCPv6 options and creates Option objects.
std::map< unsigned short, Option::Factory * > FactoryMap
Map of factory functions.
static OptionDefinitionPtr getRuntimeOptionDef(const std::string &space, const uint16_t code)
Returns runtime (non-standard) option definition by space and option code.
static void setRuntimeOptionDefs(const OptionDefSpaceContainer &defs)
Copies option definitions created at runtime.
static isc::dhcp::OptionPtr optionFactory(isc::dhcp::Option::Universe u, uint16_t type, const OptionBuffer &buf)
Factory function to create instance of option.
std::multimap< unsigned int, OptionPtr > OptionCollection
A collection of DHCP (v4 or v6) options.
static OptionDefContainerPtr getLastResortOptionDefs(const std::string &space)
Returns last resort option definitions for specified option space name.
Defines the logger used by the top-level component of kea-dhcp-ddns.
static size_t unpackVendorOptions6(const uint32_t vendor_id, const OptionBuffer &buf, isc::dhcp::OptionCollection &options)
Parses provided buffer as DHCPv6 vendor options and creates Option objects.
static const OptionDefContainerPtr & getOptionDefs(const std::string &space)
Returns collection of option definitions.
static size_t unpackVendorOptions4(const uint32_t vendor_id, const OptionBuffer &buf, isc::dhcp::OptionCollection &options)
Parses provided buffer as DHCPv4 vendor options and creates Option objects.
static const OptionDefContainerPtr & getVendorOption4Defs(const uint32_t vendor_id)
Returns v4 option definitions for a given vendor.
static OptionDefinitionPtr getOptionDef(const std::string &space, const uint16_t code)
Return the first option definition matching a particular option code.
static const OptionDefContainerPtr & getVendorOption6Defs(const uint32_t vendor_id)
Returns v6 option definitions for a given vendor.
The OutputBuffer class is a buffer abstraction for manipulating mutable data.
static OptionDefinitionPtr getVendorOptionDef(const Option::Universe u, const uint32_t vendor_id, const uint16_t code)
Returns vendor option definition for a given vendor-id and code.
static void revertRuntimeOptionDefs()
Reverts uncommitted changes to runtime option definitions.
std::map< uint32_t, OptionDefContainerPtr > VendorOptionDefContainers
Container that holds various vendor option containers.
static void commitRuntimeOptionDefs()
Commits runtime option definitions.
This class implements set/commit mechanism for a single object.
static OptionDefinitionPtr getLastResortOptionDef(const std::string &space, const uint16_t code)
Returns last resort option definition by space and option code.
OptionPtr Factory(Option::Universe u, uint16_t type, const OptionBuffer &buf)
a factory function prototype
std::map< std::string, OptionDefContainerPtr > OptionDefContainers
Container that holds option definitions for various option spaces.
boost::shared_ptr< Option > OptionPtr
static void clearRuntimeOptionDefs()
Removes runtime option definitions.
static size_t unpackOptions4(const OptionBuffer &buf, const std::string &option_space, isc::dhcp::OptionCollection &options, std::list< uint16_t > &deferred)
Parses provided buffer as DHCPv4 options and creates Option objects.
Universe
defines option universe DHCPv4 or DHCPv6
boost::shared_ptr< OptionDefContainer > OptionDefContainerPtr
Pointer to an option definition container.
static void OptionFactoryRegister(Option::Universe u, uint16_t type, Option::Factory *factory)
Registers factory method that produces options of specific option types.
static void packOptions4(isc::util::OutputBuffer &buf, const isc::dhcp::OptionCollection &options)
Stores DHCPv4 options in a buffer.