"control-sockets":
{
// This is how the Agent can communicate with the DHCPv4 server.
- "dhcp4-server":
+ "dhcp4":
{
"socket-type": "unix",
"socket-name": "/path/to/the/unix/socket-v4"
},
// Location of the DHCPv6 command channel socket.
- "dhcp6-server":
+ "dhcp6":
{
"socket-type": "unix",
"socket-name": "/path/to/the/unix/socket-v6"
// Currently DHCP-DDNS (nicknamed D2) does not support
// command channel yet, but we hope this will change in the
// future.
- "d2-server":
+ "d2":
{
"socket-type": "unix",
"socket-name": "/path/to/the/unix/socket-d2"
"http-port": 8080,
"control-sockets": {
- "dhcp4-server": {
+ "dhcp4": {
"socket-type": "unix",
"socket-name": "/path/to/the/unix/socket-v4"
},
- "dhcp6-server": {
+ "dhcp6": {
"socket-type": "unix",
"socket-name": "/path/to/the/unix/socket-v4"
}
<para>
The CA uses unix domain sockets to forward control commands and receive
- responses from other Kea services. The <command>dhcp4-server</command>,
- <command>dhcp6-server</command> and <command>d2-server</command> maps
+ responses from other Kea services. The <command>dhcp4</command>,
+ <command>dhcp6</command> and <command>d2</command> maps
specify the files to which unix domain sockets are bound. In case
of the configuration above, the CA will connect to the DHCPv4 server
via <filename>/path/to/the/unix/socket-v4</filename> to forward the
}
}
-\"dhcp4-server\" {
+\"dhcp4\" {
switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKETS:
return AgentParser::make_DHCP4_SERVER(driver.loc_);
default:
- return AgentParser::make_STRING("dhcp4-server", driver.loc_);
+ return AgentParser::make_STRING("dhcp4", driver.loc_);
}
}
-\"dhcp6-server\" {
+\"dhcp6\" {
switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKETS:
return AgentParser::make_DHCP6_SERVER(driver.loc_);
default:
- return AgentParser::make_STRING("dhcp6-server", driver.loc_);
+ return AgentParser::make_STRING("dhcp6", driver.loc_);
}
}
-\"d2-server\" {
+\"d2\" {
switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKETS:
return AgentParser::make_D2_SERVER(driver.loc_);
default:
- return AgentParser::make_STRING("d2-server", driver.loc_);
+ return AgentParser::make_STRING("d2", driver.loc_);
}
}
HTTP_PORT "http-port"
CONTROL_SOCKETS "control-sockets"
- DHCP4_SERVER "dhcp4-server"
- DHCP6_SERVER "dhcp6-server"
- D2_SERVER "d2-server"
+ DHCP4_SERVER "dhcp4"
+ DHCP6_SERVER "dhcp6"
+ D2_SERVER "d2"
SOCKET_NAME "socket-name"
SOCKET_TYPE "socket-type"
UNIX "unix"
| unknown_map_entry
;
-// That's an entry for dhcp4-server socket.
+// That's an entry for dhcp4 socket.
dhcp4_server_socket: DHCP4_SERVER {
ElementPtr m(new MapElement(ctx.loc2pos(@1)));
- ctx.stack_.back()->set("dhcp4-server", m);
+ ctx.stack_.back()->set("dhcp4", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.SERVER);
} COLON LCURLY_BRACKET control_socket_params RCURLY_BRACKET {
ctx.leave();
};
-// That's an entry for dhcp6-server socket.
+// That's an entry for dhcp6 socket.
dhcp6_server_socket: DHCP6_SERVER {
ElementPtr m(new MapElement(ctx.loc2pos(@1)));
- ctx.stack_.back()->set("dhcp6-server", m);
+ ctx.stack_.back()->set("dhcp6", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.SERVER);
} COLON LCURLY_BRACKET control_socket_params RCURLY_BRACKET {
ctx.leave();
};
-// That's an entry for d2-server socket.
+// That's an entry for d2 socket.
d2_server_socket: D2_SERVER {
ElementPtr m(new MapElement(ctx.loc2pos(@1)));
- ctx.stack_.back()->set("d2-server", m);
+ ctx.stack_.back()->set("d2", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.SERVER);
} COLON LCURLY_BRACKET control_socket_params RCURLY_BRACKET {
ca->set("hooks-libraries", hooks_config_.toElement());
// Set control-sockets
ElementPtr control_sockets = Element::createMap();
- // Set dhcp4-server
+ // Set dhcp4 server socket
if (ctrl_sockets_[TYPE_DHCP4]) {
- control_sockets->set("dhcp4-server", ctrl_sockets_[TYPE_DHCP4]);
+ control_sockets->set("dhcp4", ctrl_sockets_[TYPE_DHCP4]);
}
- // Set dhcp6-server
+ // Set dhcp6 server socket
if (ctrl_sockets_[TYPE_DHCP6]) {
- control_sockets->set("dhcp6-server", ctrl_sockets_[TYPE_DHCP6]);
+ control_sockets->set("dhcp6", ctrl_sockets_[TYPE_DHCP6]);
}
- // Set d2-server
+ // Set d2 server socket
if (ctrl_sockets_[TYPE_D2]) {
- control_sockets->set("d2-server", ctrl_sockets_[TYPE_D2]);
+ control_sockets->set("d2", ctrl_sockets_[TYPE_D2]);
}
ca->set("control-sockets", control_sockets);
// Set Control-agent
// Now set the defaults for control-sockets, if any.
ConstElementPtr sockets = global->get("control-sockets");
if (sockets) {
- ElementPtr d2 = boost::const_pointer_cast<Element>(sockets->get("d2-server"));
+ ElementPtr d2 = boost::const_pointer_cast<Element>(sockets->get("d2"));
if (d2) {
cnt += SimpleParser::setDefaults(d2, SOCKET_DEFAULTS);
}
- ElementPtr d4 = boost::const_pointer_cast<Element>(sockets->get("dhcp4-server"));
+ ElementPtr d4 = boost::const_pointer_cast<Element>(sockets->get("dhcp4"));
if (d4) {
cnt += SimpleParser::setDefaults(d4, SOCKET_DEFAULTS);
}
- ElementPtr d6 = boost::const_pointer_cast<Element>(sockets->get("dhcp6-server"));
+ ElementPtr d6 = boost::const_pointer_cast<Element>(sockets->get("dhcp6"));
if (d6) {
cnt += SimpleParser::setDefaults(d6, SOCKET_DEFAULTS);
}
// Control sockets are second.
ConstElementPtr ctrl_sockets = config->get("control-sockets");
if (ctrl_sockets) {
- ConstElementPtr d2_socket = ctrl_sockets->get("d2-server");
- ConstElementPtr d4_socket = ctrl_sockets->get("dhcp4-server");
- ConstElementPtr d6_socket = ctrl_sockets->get("dhcp6-server");
+ ConstElementPtr d2_socket = ctrl_sockets->get("d2");
+ ConstElementPtr d4_socket = ctrl_sockets->get("dhcp4");
+ ConstElementPtr d6_socket = ctrl_sockets->get("dhcp6");
if (d2_socket) {
ctx->setControlSocketInfo(d2_socket, CtrlAgentCfgContext::TYPE_D2);
" \"http-host\": \"betelguese\",\n"
" \"http-port\": 8001,\n"
" \"control-sockets\": {\n"
- " \"dhcp4-server\": {\n"
+ " \"dhcp4\": {\n"
" \"socket-name\": \"/tmp/socket-v4\"\n"
" }\n"
" }\n"
" \"http-host\": \"betelguese\",\n"
" \"http-port\": 8001,\n"
" \"control-sockets\": {\n"
- " \"dhcp4-server\": {\n"
+ " \"dhcp4\": {\n"
" \"socket-name\": \"/tmp/socket-v4\"\n"
" },\n"
- " \"dhcp6-server\": {\n"
+ " \"dhcp6\": {\n"
" \"socket-name\": \"/tmp/socket-v6\"\n"
" },\n"
- " \"d2-server\": {\n"
+ " \"d2\": {\n"
" \"socket-name\": \"/tmp/socket-d2\"\n"
" }\n"
" }\n"
" \"http-host\": \"betelguese\",\n"
" \"http-port\": 8001,\n"
" \"control-sockets\": {\n"
- " \"dhcp4-server\": {\n"
+ " \"dhcp4\": {\n"
" \"socket-name\": \"/tmp/socket-v4\"\n"
" }\n"
" },\n"
" \"http-host\": \"betelguese\",\n"
" \"http-port\": 8001,\n"
" \"control-sockets\": {\n"
- " \"d2-server\": {\n"
+ " \"d2\": {\n"
" \"socket-name\": \"/tmp/socket-d2\"\n"
" }\n"
" }\n"
" \"http-host\": \"betelguese\",\n"
" \"http-port\": 8001,\n"
" \"control-sockets\": {\n"
- " \"dhcp6-server\": {\n"
+ " \"dhcp6\": {\n"
" \"socket-name\": \"/tmp/socket-v6\"\n"
" }\n"
" }\n"
" \"http-host\": \"127.0.0.1\","
" \"http-port\": 8081,"
" \"control-sockets\": {"
- " \"dhcp4-server\": {"
+ " \"dhcp4\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/first/dhcp4/socket\""
" },"
- " \"dhcp6-server\": {"
+ " \"dhcp6\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/first/dhcp6/socket\""
" }"
" \"http-host\": \"127.0.0.1\","
" \"http-port\": 8080,"
" \"control-sockets\": {"
- " \"dhcp4-server\": {"
+ " \"dhcp4\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/second/dhcp4/socket\""
" },"
- " \"dhcp6-server\": {"
+ " \"dhcp6\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/second/dhcp6/socket\""
" }"
" \"http-host\": \"1.1.1.1\","
" \"http-port\": 1,"
" \"control-sockets\": {"
- " \"dhcp4-server\": {"
+ " \"dhcp4\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/second/dhcp4/socket\""
" },"
- " \"dhcp6-server\": {"
+ " \"dhcp6\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/second/dhcp6/socket\""
" }"
" \"http-host\": \"127.0.0.1\","
" \"http-port\": 8081,"
" \"control-sockets\": {"
- " \"dhcp4-server\": {"
+ " \"dhcp4\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/second/dhcp4/socket\""
" },"
- " \"dhcp6-server\": {"
+ " \"dhcp6\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/second/dhcp6/socket\""
" }"
" \"http-host\": \"localhost\",\n"
" \"http-port\": 8000,\n"
" \"control-sockets\": {"
- " \"dhcp4-server\": {"
+ " \"dhcp4\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/path/to/the/unix/socket-v4\""
" },"
- " \"dhcp6-server\": {"
+ " \"dhcp6\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/path/to/the/unix/socket-v6\""
" },"
- " \"d2-server\": {"
+ " \"d2\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/path/to/the/unix/socket-d2\""
" }"
" \"http-host\": \"localhost\",\n"
" \"http-port\": 8000,\n"
" \"control-sockets\": {"
- " \"dhcp4-server\": {"
+ " \"dhcp4\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/path/to/the/unix/socket-v4\""
" },"
- " \"dhcp6-server\": {"
+ " \"dhcp6\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/path/to/the/unix/socket-v6\""
" },"
- " \"d2-server\": {"
+ " \"d2\": {"
" \"socket-type\": \"unix\","
" \"socket-name\": \"/path/to/the/unix/socket-d2\""
" }"
" \"http-host\": \"localhost\","
" \"http-port\": 9000,\n"
" \"control-sockets\": {\n"
- " \"d2-server\": {\n"
+ " \"d2\": {\n"
"# this is a comment\n"
"\"socket-type\": \"unix\", \n"
"# This socket is mine. I can name it whatever\n"
" \"control-sockets\": {\n"
" // Let's try talking to D2. Sadly, it never talks"
" // to us back :( Maybe he doesn't like his name?\n"
- " \"d2-server\": {"
+ " \"d2\": {"
"\"socket-type\": \"unix\", \n"
"\"socket-name\": \"Hector\" \n"
"} } } }";
" \"http-host\": \"localhost\","
" \"http-port\": 9000,\n"
" \"control-sockets\": {\n"
- " \"d2-server\": {"
+ " \"d2\": {"
"\"socket-type\": \"unix\", # Maybe Hector is not really a \n"
"\"socket-name\": \"Hector\" # Unix process?\n"
"# Oh no! He's a windows one and just pretending!\n"
" \"http-host\": \"localhost\","
" \"http-port\": 9000,\n"
" \"control-sockets\": {\n"
- " \"dhcp4-server\": {\n"
+ " \"dhcp4\": {\n"
" \"socket-type\": \"unix\"\n"
" }\n"
" /* Ok, forget about it. If Hector doesn't want to talk,\n"
" we won't talk to him either. We now have quiet days. */\n"
- " /* \"d2-server\": {"
+ " /* \"d2\": {"
" \"socket-type\": \"unix\",\n"
"\"socket-name\": \"Hector\"\n"
"}*/ } } }";
{
"Control-agent": {
"control-sockets": {
- "d2-server": {
+ "d2": {
"socket-name": "/path/to/the/unix/socket-d2",
"socket-type": "unix"
},
- "dhcp4-server": {
+ "dhcp4": {
"socket-name": "/path/to/the/unix/socket-v4",
"socket-type": "unix"
},
- "dhcp6-server": {
+ "dhcp6": {
"socket-name": "/path/to/the/unix/socket-v6",
"socket-type": "unix"
}
// should connect to forward commands to the DHCPv4 and DHCPv6
// server via unix domain socket.
"control-sockets": {
- "dhcp4-server": {
+ "dhcp4": {
"socket-type": "unix",
"socket-name": "/tmp/kea-dhcp4-ctrl.sock"
},
- "dhcp6-server": {
+ "dhcp6": {
"socket-type": "unix",
"socket-name": "/tmp/kea-dhcp6-ctrl.sock"
}