}
}
+\"port\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser4Context::LEASE_DATABASE:
+ case isc::dhcp::Parser4Context::HOSTS_DATABASE:
+ return isc::dhcp::Dhcp4Parser::make_PORT(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp4Parser::make_STRING("port", driver.loc_);
+ }
+}
+
\"persist\" {
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
USER "user"
PASSWORD "password"
HOST "host"
+ PORT "port"
PERSIST "persist"
LFC_INTERVAL "lfc-interval"
READONLY "readonly"
| user
| password
| host
+ | port
| name
| persist
| lfc_interval
ctx.leave();
};
+port: PORT COLON INTEGER {
+ ElementPtr p(new IntElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("port", p);
+};
+
name: NAME {
ctx.enter(ctx.NO_KEYWORD);
} COLON STRING {
}
}
+\"port\" {
+ switch(driver.ctx_) {
+ case isc::dhcp::Parser6Context::LEASE_DATABASE:
+ case isc::dhcp::Parser6Context::HOSTS_DATABASE:
+ return isc::dhcp::Dhcp6Parser::make_PORT(driver.loc_);
+ default:
+ return isc::dhcp::Dhcp6Parser::make_STRING("port", driver.loc_);
+ }
+}
+
\"persist\" {
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
USER "user"
PASSWORD "password"
HOST "host"
+ PORT "port"
PERSIST "persist"
LFC_INTERVAL "lfc-interval"
READONLY "readonly"
| user
| password
| host
+ | port
| name
| persist
| lfc_interval
ctx.leave();
};
+port: PORT COLON INTEGER {
+ ElementPtr p(new IntElement($3, ctx.loc2pos(@3)));
+ ctx.stack_.back()->set("port", p);
+};
+
name: NAME {
ctx.enter(ctx.NO_KEYWORD);
} COLON STRING {