From: Tomek Mrugalski Date: Tue, 17 Jan 2017 13:44:34 +0000 (+0100) Subject: [5112] Some pointers added. X-Git-Tag: trac4070_base~1^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=495bca032effbaccc5297c23b1600ade65654a87;p=thirdparty%2Fkea.git [5112] Some pointers added. --- diff --git a/doc/devel/bison.dox b/doc/devel/bison.dox index 17fa1f3bcf..35a016a6bd 100644 --- a/doc/devel/bison.dox +++ b/doc/devel/bison.dox @@ -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 diff --git a/src/bin/dhcp6/dhcp6.dox b/src/bin/dhcp6/dhcp6.dox index 0eda7b928a..7dcc8b2654 100644 --- a/src/bin/dhcp6/dhcp6.dox +++ b/src/bin/dhcp6/dhcp6.dox @@ -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.