Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
Kea
Commits
44139d82
Commit
44139d82
authored
Feb 13, 2017
by
Tomek Mrugalski
🛰
Browse files
[master] Merge branch 'trac5112' (Developer's Guide page for parsers)
parents
3dfa0c7f
d350d5fc
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
doc/Makefile.am
View file @
44139d82
SUBDIRS
=
guide design
EXTRA_DIST
=
version.ent.in Doxyfile Doxyfile-xml
EXTRA_DIST
+=
devel/bison.dox
EXTRA_DIST
+=
devel/config-backend.dox
EXTRA_DIST
+=
devel/contribute.dox
EXTRA_DIST
+=
devel/mainpage.dox
EXTRA_DIST
+=
devel/terminology.dox
EXTRA_DIST
+=
devel/unit-tests.dox
nobase_dist_doc_DATA
=
examples/agent/simple.json
...
...
doc/devel/bison.dox
0 → 100644
View file @
44139d82
This diff is collapsed.
Click to expand it.
doc/devel/mainpage.dox
View file @
44139d82
...
...
@@ -119,6 +119,8 @@
* - @subpage cplSignals
*
* @section miscellaneousTopics Miscellaneous Topics
* - @subpage terminology
* - @subpage parser
* - @subpage logKeaLogging
* - @subpage logBasicIdeas
* - @subpage logDeveloperUse
...
...
doc/devel/terminology.dox
0 → 100644
View file @
44139d82
// Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
/**
@page terminology Terminology
This page explains some common abbreviations and terms:
- CA - Control Agent. That's a separate module that talks with Kea DHCPv4, DHCPv6 (and soon also D2)
over control channel and exposes their internal commands using RESTful interface.
- D2 - This is a nickname of DHCP-Dynamic DNS server module. Since using the full name is awkward,
we often use shortened version of it: D2.
- DHCP - Dynamic Host Configuration Protocol. There are two similar, but operationally different
protocols: DHCPv4 and DHCPv6. When v4 or v6 is not specified, the DHCP expression applies to both.
- DHCPv4 - Dynamic Host Configuration Protocol for IPv4, a protocol that defines how IPv4 hosts can
obtain IPv4 addresses and other configuration from the servers. Defined in RFC2131.
- DHCPv6 - Dynamic Host Configuration Protocol for IPv6, a protocol that defines how IPv6 hosts and
router can obtain IPv6 addresses, IPv6 prefixes and other configuration from the servers. Defined
in RFC3315.
*/
src/bin/dhcp6/dhcp6.dox
View file @
44139d82
...
...
@@ -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
Th
is is a th
ree 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 Inclu
des
@section dhcp6ParserIncludes Config
uration
File
s
Inclu
sion
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.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment