Commit 495bca03 authored by Tomek Mrugalski's avatar Tomek Mrugalski 🛰
Browse files

[5112] Some pointers added.

parent 8b6fb2be
......@@ -179,6 +179,8 @@ the lexer is expected to report IP_ADDRESS token. However, when parsing generic
JSON, it should return STRING with a value of "ip-address". The list of all
contexts is enumerated in @ref isc::dhcp::Parser6Context::ParserContext.
For DHCPv6-specific description of the conflict avoidance, see @ref dhcp6ParserConflicts.
@section parserGrammar Bison grammar
Bison has much better documentation than flex. Its latest version seems to be
......@@ -367,7 +369,7 @@ will add the IntElement object to whatever is last on the stack, be it global,
subnet or perhaps even something else (maybe one day we will allow preferred
lifetime to be defined on a per pool or per host basis?).
@section parserSubgrammar Parsing partial grammar
@section parserSubgrammar Parsing Partial Configuration
All the explanations so far assumed that we're operating in a default case of
receiving the configuration as a whole. That is the case during startup and
......
......@@ -24,7 +24,7 @@ component implementation.
@section dhcpv6ConfigParser Configuration Parsers in DHCPv6
Three minutes overview. If you are here only to learn absolute minimum about
This is a three minutes overview. If you are here only to learn absolute minimum about
the new parser, here's how you use it:
@code
......@@ -39,6 +39,8 @@ the new parser, here's how you use it:
Note: parsers are currently being migrated to @ref isc::data::SimpleParser. See
@ref ccSimpleParser page for details.
For more detailed background information about flex and bison, see @ref parser.
The common configuration parsers for the DHCP servers are located in the
src/lib/dhcpsrv/parsers/ directory. Parsers specific to the DHCPv6 component
are located in the src/bin/dhcp6/json_config_parser.cc. These parsers derive
......@@ -242,6 +244,8 @@ MapElement object, but does not remove it.
@section dhcpv6ConfigSubParser Parsing Partial Configuration in DHCPv6
For more generic description of the solution, see @ref parserSubgrammar.
One another important capability required is the ability to parse not only the
whole configuration, but a subset of it. This is done by introducing artificial
tokens (e.g. TOPLEVEL_JSON and TOPLEVEL_DHCP6). For complete list of available
......@@ -276,7 +280,7 @@ several new interesting ones, though. ParserTest.file loads all the
config file examples we have in doc/examples/kea6. This ensures that the
parser is able to load them and also checks that our examples are sane.
@section dhcp6ParserIncludes Config File Includes
@section dhcp6ParserIncludes Configuration Files Inclusion
The new parser provides an ability to include files. The syntax was chosen
to look similar to how Apache includes PHP scripts in HTML code. This
......@@ -341,6 +345,8 @@ descriptive if the input string does not parse properly.
Details of the refactor of the classes derived from DhcpConfigParser are
documented in http://kea.isc.org/wiki/SimpleParser.
For a generic description of the conflict avoidance, see @ref parserFlex.
@section dhcpv6ConfigInherit DHCPv6 Configuration Inheritance
One notable useful feature of DHCP configuration is its parameter inheritance.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment