diff --git a/doc/examples/kea6/advanced.json b/doc/examples/kea6/advanced.json index 6730c9e9b8..b82d6016eb 100644 --- a/doc/examples/kea6/advanced.json +++ b/doc/examples/kea6/advanced.json @@ -67,6 +67,10 @@ { "pools": [ { "pool": "2001:db8:1::/80" } ], +# This defines PD (prefix delegation) pools. In this case +# we have only one pool. That consists of /64 prefixes +# being delegated out of large /48 pool. Each delegated +# prefix will contain an excluded-prefix option. "pd-pools": [ { "prefix": "2001:db8:abcd::", diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index 72b03d9edc..2bf1cc7cd7 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -933,15 +933,20 @@ sub_option_data: LCURLY_BRACKET { }; // This defines parameters specified inside the map that itself -// is an entry in option-data list. +// is an entry in option-data list. It can either be empty +// or have a non-empty list of parameters. option_data_params: %empty | not_empty_option_data_params ; +// Those parameters can either be a single parameter or +// a list of parameters separated by comma. not_empty_option_data_params: option_data_param | not_empty_option_data_params COMMA option_data_param ; +// Each single option-data parameter can be one of the following +// expressions. option_data_param: option_data_name | option_data_data | option_data_code