|
@@ -45,7 +45,7 @@ OptionDefContainer LibDHCP::v4option_defs_;
|
|
|
OptionDefContainer LibDHCP::v6option_defs_;
|
|
|
|
|
|
const OptionDefContainer&
|
|
|
-LibDHCP::getOptionDefs(Option::Universe u) {
|
|
|
+LibDHCP::getOptionDefs(const Option::Universe u) {
|
|
|
switch (u) {
|
|
|
case Option::V4:
|
|
|
initStdOptionDefs4();
|
|
@@ -60,6 +60,17 @@ LibDHCP::getOptionDefs(Option::Universe u) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+OptionDefinitionPtr
|
|
|
+LibDHCP::getOptionDef(const Option::Universe u, const uint16_t code) {
|
|
|
+ const OptionDefContainer& defs = getOptionDefs(u);
|
|
|
+ const OptionDefContainerTypeIndex& idx = defs.get<1>();
|
|
|
+ const OptionDefContainerTypeRange& range = idx.equal_range(code);
|
|
|
+ if (range.first != range.second) {
|
|
|
+ return (*range.first);
|
|
|
+ }
|
|
|
+ return (OptionDefinitionPtr());
|
|
|
+}
|
|
|
+
|
|
|
OptionPtr
|
|
|
LibDHCP::optionFactory(Option::Universe u,
|
|
|
uint16_t type,
|