// Global server hostname set in the 'sname' field.
"server-hostname": "",
+ // Stash agent options (aka RAI) to make direct queries to come
+ // through a relay.
+ "stash-agent-options": false,
+
// List of IPv4 subnets which don't belong to any shared network.
"subnet4": [],
}
}
+\"stash-agent-options\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::DHCP4:
+ return isc::dhcp::Dhcp4Parser::make_STASH_AGENT_OPTIONS(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("stash-agent-options", driver.loc_);
+ }
+}
+
{JSONString} {
/* A string has been matched. It contains the actual string and single quotes.
We need to get those quotes out of the way and just use its content, e.g.
SERVER_HOSTNAME "server-hostname"
BOOT_FILE_NAME "boot-file-name"
OFFER_LFT "offer-lifetime"
+ STASH_AGENT_OPTIONS "stash-agent-options"
LEASE_DATABASE "lease-database"
HOSTS_DATABASE "hosts-database"
| parked_packet_limit
| allocator
| offer_lifetime
+ | stash_agent_options
| unknown_map_entry
;
ctx.stack_.back()->set("offer-lifetime", offer_lifetime);
};
+stash_agent_options: STASH_AGENT_OPTIONS COLON BOOLEAN {
+ ctx.unique("stash-agent-options", ctx.loc2pos(@1));
+ ElementPtr stash(new BoolElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("stash-agent-options", stash);
+};
+
interfaces_config: INTERFACES_CONFIG {
ctx.unique("interfaces-config", ctx.loc2pos(@1));
ElementPtr i(new MapElement(ctx.loc2pos(@1)));
(config_pair.first == "reservations-lookup-first") ||
(config_pair.first == "parked-packet-limit") ||
(config_pair.first == "allocator") ||
- (config_pair.first == "offer-lifetime") ) {
+ (config_pair.first == "offer-lifetime") ||
+ (config_pair.first == "stash-agent-options") ) {
CfgMgr::instance().getStagingCfg()->addConfiguredGlobal(config_pair.first,
config_pair.second);
continue;
{ "server-hostname", SERVER_HOSTNAME },
{ "boot-file-name", BOOT_FILE_NAME },
{ "offer-lifetime", OFFER_LIFETIME },
+ { "stash-agent-options", STASH_AGENT_OPTIONS },
// DHCPv6 specific parameters.
{ "data-directory", DATA_DIRECTORY },
SERVER_HOSTNAME,
BOOT_FILE_NAME,
OFFER_LIFETIME,
+ STASH_AGENT_OPTIONS,
// DHCPv6 specific parameters.
DATA_DIRECTORY,
{ "offer-lifetime", Element::integer },
{ "ddns-ttl-percent", Element::real },
{ "ddns-conflict-resolution-mode", Element::string },
+ { "stash-agent-options", Element::boolean },
};
/// @brief This table defines default global values for DHCPv4
{ "parked-packet-limit", Element::integer, "256" },
{ "allocator", Element::string, "iterative" },
{ "ddns-conflict-resolution-mode", Element::string, "check-with-dhcid" },
+ { "stash-agent-options", Element::boolean, "false" },
};
/// @brief This table defines all option definition parameters.