POOL_ID "pool-id"
RESERVATIONS "reservations"
+ IP_ADDRESS "ip-address"
DUID "duid"
HW_ADDRESS "hw-address"
CIRCUIT_ID "circuit-id"
FLEX_ID "flex-id"
RELAY "relay"
- IP_ADDRESS "ip-address"
IP_ADDRESSES "ip-addresses"
HOOKS_LIBRARIES "hooks-libraries"
ctx.leave();
};
-ip_addresses: IP_ADDRESSES {
- ctx.unique("ip-addresses", ctx.loc2pos(@1));
- ElementPtr l(new ListElement(ctx.loc2pos(@1)));
- ctx.stack_.back()->set("ip-addresses", l);
- ctx.stack_.push_back(l);
- ctx.enter(ctx.NO_KEYWORD);
-} COLON list_strings {
- ctx.stack_.pop_back();
- ctx.leave();
-};
-
duid: DUID {
ctx.unique("duid", ctx.loc2pos(@1));
ctx.enter(ctx.NO_KEYWORD);
ctx.leave();
};
-relay_map: ip_address
- | ip_addresses
+relay_map: ip_addresses
;
+ip_addresses: IP_ADDRESSES {
+ ctx.unique("ip-addresses", ctx.loc2pos(@1));
+ ElementPtr l(new ListElement(ctx.loc2pos(@1)));
+ ctx.stack_.back()->set("ip-addresses", l);
+ ctx.stack_.push_back(l);
+ ctx.enter(ctx.NO_KEYWORD);
+} COLON list_strings {
+ ctx.stack_.pop_back();
+ ctx.leave();
+};
+
// --- end of relay definitions ------------------------------
// --- client classes ----------------------------------------
}
}
-\"ip-address\" {
- switch(driver.ctx_) {
- case isc::dhcp::Parser6Context::RELAY:
- return isc::dhcp::Dhcp6Parser::make_IP_ADDRESS(driver.loc_);
- default:
- return isc::dhcp::Dhcp6Parser::make_STRING("ip-address", driver.loc_);
- }
-}
-
\"hooks-libraries\" {
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
FLEX_ID "flex-id"
RELAY "relay"
- IP_ADDRESS "ip-address"
HOOKS_LIBRARIES "hooks-libraries"
LIBRARY "library"
ctx.leave();
};
-relay_map: ip_address
- | ip_addresses
+relay_map: ip_addresses
;
-ip_address: IP_ADDRESS {
- ctx.unique("ip-address", ctx.loc2pos(@1));
- ctx.enter(ctx.NO_KEYWORD);
-} COLON STRING {
- ElementPtr addr(new StringElement($4, ctx.loc2pos(@4)));
- ctx.stack_.back()->set("ip-address", addr);
- ctx.leave();
-};
-
// --- end of relay definitions ------------------------------
// --- client classes ----------------------------------------