|
@@ -3929,7 +3929,7 @@ Dhcp6/subnet6/ list
|
|
One of the major features of DHCPv6 server is to provide configuration
|
|
One of the major features of DHCPv6 server is to provide configuration
|
|
options to clients. Although there are several options that require
|
|
options to clients. Although there are several options that require
|
|
special behavior, most options are sent by the server only if the client
|
|
special behavior, most options are sent by the server only if the client
|
|
- explicitely requested them. The following example shows how to
|
|
|
|
|
|
+ explicitly requested them. The following example shows how to
|
|
configure DNS servers, which is one of the most frequently used
|
|
configure DNS servers, which is one of the most frequently used
|
|
options. Numbers in the first column are added for easier reference and
|
|
options. Numbers in the first column are added for easier reference and
|
|
will not appear on screen. Options specified in this way are considered
|
|
will not appear on screen. Options specified in this way are considered
|
|
@@ -3950,25 +3950,27 @@ Dhcp6/subnet6/ list
|
|
contains information on all global options that the server is
|
|
contains information on all global options that the server is
|
|
supposed to configure in all subnets. The second line specifies
|
|
supposed to configure in all subnets. The second line specifies
|
|
option name. For a complete list of currently supported names,
|
|
option name. For a complete list of currently supported names,
|
|
- see the list <xref linkend="dhcp6-std-options-list"/> below.
|
|
|
|
- The third line specified option code. It must match values from
|
|
|
|
- the list. Fourth line specifies option space, which must always
|
|
|
|
|
|
+ see <xref linkend="dhcp6-std-options-list"/> below.
|
|
|
|
+ The third line specifies option code, which must match one of the
|
|
|
|
+ values from that
|
|
|
|
+ list. Line 4 specifies option space, which must always
|
|
be set to "dhcp6" as these are standard DHCPv6 options. For
|
|
be set to "dhcp6" as these are standard DHCPv6 options. For
|
|
other name spaces, including custom option spaces, see <xref
|
|
other name spaces, including custom option spaces, see <xref
|
|
- linkend="dhcp6-option-spaces"/>. Fifth line specifies format in
|
|
|
|
- which data will be specified. It is recommended to use CSV (coma
|
|
|
|
- separated values). The sixth list specifies the actual value to
|
|
|
|
- be sent to clients. Data is specified as a normal text with
|
|
|
|
- values separated with comas, if more than one value is
|
|
|
|
|
|
+ linkend="dhcp6-option-spaces"/>. The fifth line specfies the format in
|
|
|
|
+ which the data will be entered: use of CSV (comma
|
|
|
|
+ separated values) is recommended. The sixth line gives the actual value to
|
|
|
|
+ be sent to clients. Data is specified as a normal text, with
|
|
|
|
+ values separated by commas if more than one value is
|
|
allowed.
|
|
allowed.
|
|
</para>
|
|
</para>
|
|
|
|
|
|
<para>
|
|
<para>
|
|
- Options can also be configured as hex values. If csv-format is
|
|
|
|
- set to false, option data must be specified as a hex string. The
|
|
|
|
|
|
+ Options can also be configured as hexadecimal values. If csv-format is
|
|
|
|
+ set to false, the option data must be specified as a string of hexadecimal
|
|
|
|
+ numbers. The
|
|
following commands configure the DNS-SERVERS option for all
|
|
following commands configure the DNS-SERVERS option for all
|
|
subnets with the following addresses: 2001:db8:1::cafe and
|
|
subnets with the following addresses: 2001:db8:1::cafe and
|
|
- 2001:db8:1::babe. Note that csv-format is set to false.
|
|
|
|
|
|
+ 2001:db8:1::babe.
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config add Dhcp6/option-data</userinput>
|
|
> <userinput>config add Dhcp6/option-data</userinput>
|
|
> <userinput>config set Dhcp6/option-data[0]/name "dns-servers"</userinput>
|
|
> <userinput>config set Dhcp6/option-data[0]/name "dns-servers"</userinput>
|
|
@@ -3980,22 +3982,24 @@ Dhcp6/subnet6/ list
|
|
> <userinput>config commit</userinput>
|
|
> <userinput>config commit</userinput>
|
|
</screen>
|
|
</screen>
|
|
(The value for the setting of the "data" element is split across two
|
|
(The value for the setting of the "data" element is split across two
|
|
- lines in this document for clarity: when entering the command, all the
|
|
|
|
- string should be entered on the same line.)
|
|
|
|
|
|
+ lines in this document for clarity: when entering the command, the
|
|
|
|
+ whole string should be entered on the same line.)
|
|
</para>
|
|
</para>
|
|
|
|
|
|
<para>
|
|
<para>
|
|
- As with global settings, it is also possible to override options
|
|
|
|
- on a per-subnet basis. The following commands override the
|
|
|
|
- global DNS servers option for a particular subnet, setting a
|
|
|
|
- single DNS server with address 2001:db8:1::3. It is convenient
|
|
|
|
- to use global options when clients connected to most of your
|
|
|
|
- subnets are expected to get the same values of a given
|
|
|
|
- option. You can then override specific values for small number
|
|
|
|
- of subnets. If you use different values in each subnet, it does
|
|
|
|
- not make sense to specify global option values
|
|
|
|
- (Dhcp6/option-data), but rather use only subnet-specific values
|
|
|
|
|
|
+ It is possible to override options on a per-subnet basis. If
|
|
|
|
+ clients connected to most of your subnets are expected to get the
|
|
|
|
+ same values of a given option, youu should use global options: you
|
|
|
|
+ can then override specific values for a small number of subnets.
|
|
|
|
+ On the other hand, if you use different values in each subnet,
|
|
|
|
+ it does not make sense to specify global option values
|
|
|
|
+ (Dhcp6/option-data), rather you should set only subnet-specific values
|
|
(Dhcp6/subnet[X]/option-data[Y]).
|
|
(Dhcp6/subnet[X]/option-data[Y]).
|
|
|
|
+ </para>
|
|
|
|
+ <para>
|
|
|
|
+ The following commands override the global
|
|
|
|
+ DNS servers option for a particular subnet, setting a single DNS
|
|
|
|
+ server with address 2001:db8:1::3.
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config add Dhcp6/subnet6[0]/option-data</userinput>
|
|
> <userinput>config add Dhcp6/subnet6[0]/option-data</userinput>
|
|
> <userinput>config set Dhcp6/subnet6[0]/option-data[0]/name "dns-servers"</userinput>
|
|
> <userinput>config set Dhcp6/subnet6[0]/option-data[0]/name "dns-servers"</userinput>
|
|
@@ -4007,80 +4011,92 @@ Dhcp6/subnet6/ list
|
|
</para>
|
|
</para>
|
|
|
|
|
|
<note>
|
|
<note>
|
|
- <para>In upcoming Kea versions, it will not be required anymore to specify
|
|
|
|
- option code, space and csv-format fields as those fields will be filled
|
|
|
|
|
|
+ <para>In future version of Kea versions, it will not be necessary to specify
|
|
|
|
+ option code, space and csv-format fields as those fields will be set
|
|
automatically.</para>
|
|
automatically.</para>
|
|
</note>
|
|
</note>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
- This is the list of currently supported standard DHCPv6 options. Name and code
|
|
|
|
|
|
+ Below is a list of currently supported standard DHCPv6 options. The name and code
|
|
specify name and code that should be used as a name in option-data
|
|
specify name and code that should be used as a name in option-data
|
|
- structures. Type designates the actual format of the data. Uint8 means 8 bit
|
|
|
|
- unsigned integer with allowed values 0 to 255. Uint16 means 16 bit unsinged
|
|
|
|
- integer with allowed values 0 to 65535. Uint32 means 32 bit unsigned integer with
|
|
|
|
- allowed values 0 to 4294967295. ipv6-address means a normal IPv6 address. Fqdn means
|
|
|
|
- fully qualified domain name. String means any text. Some options are designated
|
|
|
|
- as arrays. This means that more than one value is allowed in such an option. For example
|
|
|
|
- the option dns-servers allows conveying more than one IPv6 addresses, so clients will
|
|
|
|
- get multiple DNS servers if needed.
|
|
|
|
|
|
+ structures. Type designates the actual format of the data:
|
|
|
|
+
|
|
|
|
+ <itemizedlist id="dhcp6-option-types">
|
|
|
|
+ <listitem><simpara>uint8 means 8 bit unsigned integer with allowed values 0 to 255.</simpara></listitem>
|
|
|
|
+ <listitem><simpara>uint16 means 16 bit unsinged integer with allowed values 0 to 65535.</simpara></listitem>
|
|
|
|
+ <listitem><simpara>uint32 means 32 bit unsigned integer with allowed values 0 to 4294967295.</simpara></listitem>
|
|
|
|
+ <listitem><simpara>ipv6-address means a normal IPv6 address.</simpara></listitem>
|
|
|
|
+ <listitem><simpara>fqdn means fully qualified domain name.</simpara></listitem>
|
|
|
|
+ <listitem><simpara>String means any text.</simpara></listitem>
|
|
|
|
+ </itemizedlist>
|
|
|
|
+ Some options are designated as arrays, which means that more than one
|
|
|
|
+ value is allowed in such an option. For example the option dns-servers
|
|
|
|
+ allows the specification of more than one IPv6 address, so allowing
|
|
|
|
+ clients to obtain the the addresses of multiple DNS servers.
|
|
</para>
|
|
</para>
|
|
|
|
|
|
<!-- @todo: describe record types -->
|
|
<!-- @todo: describe record types -->
|
|
|
|
|
|
<para>
|
|
<para>
|
|
- <itemizedlist id="dhcp6-std-options-list">
|
|
|
|
- <title>List of standard DHCPv6 options</title>
|
|
|
|
|
|
+<table border="1" cellpadding="5%" id="dhcp6-std-options-list">
|
|
|
|
+ <caption>List of standard DHCPv6 options</caption>
|
|
|
|
+ <thead>
|
|
|
|
+ <tr><td>Name</td><td>Code</td><td>Type</td><td>Array?</td></tr>
|
|
|
|
+ <tr></tr>
|
|
|
|
+ </thead>
|
|
|
|
+ <tbody>
|
|
<!-- Our engine uses those options on its own, admin must not configure them on his own
|
|
<!-- Our engine uses those options on its own, admin must not configure them on his own
|
|
-<listitem><para>name: clientid, code: 1, type: binary, array false</para></listitem>
|
|
|
|
-<listitem><para>name: serverid, code: 2, type: binary, array false</para></listitem>
|
|
|
|
-<listitem><para>name: ia-na, code: 3, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: ia-ta, code: 4, type: uint32, array false</para></listitem>
|
|
|
|
-<listitem><para>name: iaaddr, code: 5, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: oro, code: 6, type: uint16, array true</para></listitem> -->
|
|
|
|
-<listitem><para>name: preference, code: 7, type: uint8, array false</para></listitem>
|
|
|
|
|
|
+<tr><td>clientid</td><td>1</td><td>binary</td><td>false</td></tr>
|
|
|
|
+<tr><td>serverid</td><td>2</td><td>binary</td><td>false</td></tr>
|
|
|
|
+<tr><td>ia-na</td><td>3</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>ia-ta</td><td>4</td><td>uint32</td><td>false</td></tr>
|
|
|
|
+<tr><td>iaaddr</td><td>5</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>oro</td><td>6</td><td>uint16</td><td>true</td></tr> -->
|
|
|
|
+<tr><td>preference</td><td>7</td><td>uint8</td><td>false</td></tr>
|
|
|
|
|
|
<!-- Our engine uses those options on its own, admin must not configure them on his own
|
|
<!-- Our engine uses those options on its own, admin must not configure them on his own
|
|
-<listitem><para>name: elapsed-time, code: 8, type: uint16, array false</para></listitem>
|
|
|
|
-<listitem><para>name: relay-msg, code: 9, type: binary, array false</para></listitem>
|
|
|
|
-<listitem><para>name: auth, code: 11, type: binary, array false</para></listitem>
|
|
|
|
-<listitem><para>name: unicast, code: 12, type: ipv6-address, array false</para></listitem>
|
|
|
|
-<listitem><para>name: status-code, code: 13, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: rapid-commit, code: 14, type: empty, array false</para></listitem>
|
|
|
|
-<listitem><para>name: user-class, code: 15, type: binary, array false</para></listitem>
|
|
|
|
-<listitem><para>name: vendor-class, code: 16, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: vendor-opts, code: 17, type: uint32, array false</para></listitem>
|
|
|
|
-<listitem><para>name: interface-id, code: 18, type: binary, array false</para></listitem>
|
|
|
|
-<listitem><para>name: reconf-msg, code: 19, type: uint8, array false</para></listitem>
|
|
|
|
-<listitem><para>name: reconf-accept, code: 20, type: empty, array false</para></listitem> -->
|
|
|
|
-<listitem><para>name: sip-server-dns, code: 21, type: fqdn, array true</para></listitem>
|
|
|
|
-<listitem><para>name: sip-server-addr, code: 22, type: ipv6-address, array true</para></listitem>
|
|
|
|
-<listitem><para>name: dns-servers, code: 23, type: ipv6-address, array true</para></listitem>
|
|
|
|
-<listitem><para>name: domain-search, code: 24, type: fqdn, array true</para></listitem>
|
|
|
|
-<listitem><para>name: ia-pd, code: 25, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: iaprefix, code: 26, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: nis-servers, code: 27, type: ipv6-address, array true</para></listitem>
|
|
|
|
-<listitem><para>name: nisp-servers, code: 28, type: ipv6-address, array true</para></listitem>
|
|
|
|
-<listitem><para>name: nis-domain-name, code: 29, type: fqdn, array true</para></listitem>
|
|
|
|
-<listitem><para>name: nisp-domain-name, code: 30, type: fqdn, array true</para></listitem>
|
|
|
|
-<listitem><para>name: sntp-servers, code: 31, type: ipv6-address, array true</para></listitem>
|
|
|
|
-<listitem><para>name: information-refresh-time, code: 32, type: uint32, array false</para></listitem>
|
|
|
|
-<listitem><para>name: bcmcs-server-dns, code: 33, type: fqdn, array true</para></listitem>
|
|
|
|
-<listitem><para>name: bcmcs-server-addr, code: 34, type: ipv6-address, array true</para></listitem>
|
|
|
|
-<listitem><para>name: geoconf-civic, code: 36, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: remote-id, code: 37, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: subscriber-id, code: 38, type: binary, array false</para></listitem>
|
|
|
|
-<listitem><para>name: client-fqdn, code: 39, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: pana-agent, code: 40, type: ipv6-address, array true</para></listitem>
|
|
|
|
-<listitem><para>name: new-posix-timezone, code: 41, type: string, array false</para></listitem>
|
|
|
|
-<listitem><para>name: new-tzdb-timezone, code: 42, type: string, array false</para></listitem>
|
|
|
|
-<listitem><para>name: ero, code: 43, type: uint16, array true</para></listitem>
|
|
|
|
-<listitem><para>name: lq-query, code: 44, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: client-data, code: 45, type: empty, array false</para></listitem>
|
|
|
|
-<listitem><para>name: clt-time, code: 46, type: uint32, array false</para></listitem>
|
|
|
|
-<listitem><para>name: lq-relay-data, code: 47, type: record, array false</para></listitem>
|
|
|
|
-<listitem><para>name: lq-client-link, code: 48, type: ipv6-address, array true</para></listitem>
|
|
|
|
-</itemizedlist>
|
|
|
|
|
|
+<tr><td>elapsed-time</td><td>8</td><td>uint16</td><td>false</td></tr>
|
|
|
|
+<tr><td>relay-msg</td><td>9</td><td>binary</td><td>false</td></tr>
|
|
|
|
+<tr><td>auth</td><td>11</td><td>binary</td><td>false</td></tr>
|
|
|
|
+<tr><td>unicast</td><td>12</td><td>ipv6-address</td><td>false</td></tr>
|
|
|
|
+<tr><td>status-code</td><td>13</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>rapid-commit</td><td>14</td><td>empty</td><td>false</td></tr>
|
|
|
|
+<tr><td>user-class</td><td>15</td><td>binary</td><td>false</td></tr>
|
|
|
|
+<tr><td>vendor-class</td><td>16</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>vendor-opts</td><td>17</td><td>uint32</td><td>false</td></tr>
|
|
|
|
+<tr><td>interface-id</td><td>18</td><td>binary</td><td>false</td></tr>
|
|
|
|
+<tr><td>reconf-msg</td><td>19</td><td>uint8</td><td>false</td></tr>
|
|
|
|
+<tr><td>reconf-accept</td><td>20</td><td>empty</td><td>false</td></tr> -->
|
|
|
|
+<tr><td>sip-server-dns</td><td>21</td><td>fqdn</td><td>true</td></tr>
|
|
|
|
+<tr><td>sip-server-addr</td><td>22</td><td>ipv6-address</td><td>true</td></tr>
|
|
|
|
+<tr><td>dns-servers</td><td>23</td><td>ipv6-address</td><td>true</td></tr>
|
|
|
|
+<tr><td>domain-search</td><td>24</td><td>fqdn</td><td>true</td></tr>
|
|
|
|
+<tr><td>ia-pd</td><td>25</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>iaprefix</td><td>26</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>nis-servers</td><td>27</td><td>ipv6-address</td><td>true</td></tr>
|
|
|
|
+<tr><td>nisp-servers</td><td>28</td><td>ipv6-address</td><td>true</td></tr>
|
|
|
|
+<tr><td>nis-domain-name</td><td>29</td><td>fqdn</td><td>true</td></tr>
|
|
|
|
+<tr><td>nisp-domain-name</td><td>30</td><td>fqdn</td><td>true</td></tr>
|
|
|
|
+<tr><td>sntp-servers</td><td>31</td><td>ipv6-address</td><td>true</td></tr>
|
|
|
|
+<tr><td>information-refresh-time</td><td>32</td><td>uint32</td><td>false</td></tr>
|
|
|
|
+<tr><td>bcmcs-server-dns</td><td>33</td><td>fqdn</td><td>true</td></tr>
|
|
|
|
+<tr><td>bcmcs-server-addr</td><td>34</td><td>ipv6-address</td><td>true</td></tr>
|
|
|
|
+<tr><td>geoconf-civic</td><td>36</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>remote-id</td><td>37</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>subscriber-id</td><td>38</td><td>binary</td><td>false</td></tr>
|
|
|
|
+<tr><td>client-fqdn</td><td>39</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>pana-agent</td><td>40</td><td>ipv6-address</td><td>true</td></tr>
|
|
|
|
+<tr><td>new-posix-timezone</td><td>41</td><td>string</td><td>false</td></tr>
|
|
|
|
+<tr><td>new-tzdb-timezone</td><td>42</td><td>string</td><td>false</td></tr>
|
|
|
|
+<tr><td>ero</td><td>43</td><td>uint16</td><td>true</td></tr>
|
|
|
|
+<tr><td>lq-query</td><td>44</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>client-data</td><td>45</td><td>empty</td><td>false</td></tr>
|
|
|
|
+<tr><td>clt-time</td><td>46</td><td>uint32</td><td>false</td></tr>
|
|
|
|
+<tr><td>lq-relay-data</td><td>47</td><td>record</td><td>false</td></tr>
|
|
|
|
+<tr><td>lq-client-link</td><td>48</td><td>ipv6-address</td><td>true</td></tr>
|
|
|
|
+</tbody>
|
|
|
|
+</table>
|
|
</para>
|
|
</para>
|
|
</section>
|
|
</section>
|
|
|
|
|
|
@@ -4088,9 +4104,9 @@ Dhcp6/subnet6/ list
|
|
<title>Custom DHCPv6 options</title>
|
|
<title>Custom DHCPv6 options</title>
|
|
<para>It is also possible to define new options that are
|
|
<para>It is also possible to define new options that are
|
|
currently not supported out of the box. Let's assume that we
|
|
currently not supported out of the box. Let's assume that we
|
|
- want to define a new DHCPv6 option called foo. It will have code 100
|
|
|
|
|
|
+ want to define a new DHCPv6 option called "foo". It will have code 100
|
|
and will convey a single unsigned 32 bit integer value. We can define
|
|
and will convey a single unsigned 32 bit integer value. We can define
|
|
- such option format by using the following commands:
|
|
|
|
|
|
+ such an option by using the following commands:
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config add Dhcp6/option-def</userinput>
|
|
> <userinput>config add Dhcp6/option-def</userinput>
|
|
> <userinput>config set Dhcp6/option-def[0]/name "foo"</userinput>
|
|
> <userinput>config set Dhcp6/option-def[0]/name "foo"</userinput>
|
|
@@ -4104,22 +4120,25 @@ Dhcp6/subnet6/ list
|
|
Note that this specifies new option format, not the values conveyed in
|
|
Note that this specifies new option format, not the values conveyed in
|
|
that option.
|
|
that option.
|
|
</para>
|
|
</para>
|
|
- <para>Once the new option format is specified, concrete values can then
|
|
|
|
|
|
+ <para>Once the new option format is defined, concrete values can then
|
|
be specified in the same way as standard options. For example the following
|
|
be specified in the same way as standard options. For example the following
|
|
commands may be used to define global values that apply to all subnets.
|
|
commands may be used to define global values that apply to all subnets.
|
|
<screen>
|
|
<screen>
|
|
-1. > <userinput>config add Dhcp6/option-data</userinput>
|
|
|
|
-2. > <userinput>config set Dhcp6/option-data[0]/name "foo"</userinput>
|
|
|
|
-3. > <userinput>config set Dhcp6/option-data[0]/code 100</userinput>
|
|
|
|
-4. > <userinput>config set Dhcp6/option-data[0]/space "dhcp6"</userinput>
|
|
|
|
-5. > <userinput>config set Dhcp6/option-data[0]/csv-format true</userinput>
|
|
|
|
-6. > <userinput>config set Dhcp6/option-data[0]/data "12345"</userinput>
|
|
|
|
-7. > <userinput>config commit</userinput></screen>
|
|
|
|
|
|
+> <userinput>config add Dhcp6/option-data</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[0]/name "foo"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[0]/code 100</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[0]/space "dhcp6"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[0]/csv-format true</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[0]/data "12345"</userinput>
|
|
|
|
+> <userinput>config commit</userinput></screen>
|
|
</para>
|
|
</para>
|
|
|
|
|
|
<para>New options can take more complex forms than simple use of
|
|
<para>New options can take more complex forms than simple use of
|
|
primitives (uint8, string, ipv6-address etc). It is possible to
|
|
primitives (uint8, string, ipv6-address etc). It is possible to
|
|
- define composition of existing primitives. Let's assume that we
|
|
|
|
|
|
+ define an option comprising a a number of existing primitives.
|
|
|
|
+ </para>
|
|
|
|
+ <para>
|
|
|
|
+ Assume we
|
|
want to define a new option that will consist of an IPv6
|
|
want to define a new option that will consist of an IPv6
|
|
address, followed by unsigned 16 bit integer, followed by a text
|
|
address, followed by unsigned 16 bit integer, followed by a text
|
|
string. Such an option could be defined in the following way:
|
|
string. Such an option could be defined in the following way:
|
|
@@ -4141,18 +4160,18 @@ Dhcp6/subnet6/ list
|
|
> <userinput>config set Dhcp6/option-data[0]/code 101</userinput>
|
|
> <userinput>config set Dhcp6/option-data[0]/code 101</userinput>
|
|
> <userinput>config set Dhcp6/option-data[0]/csv-format true</userinput>
|
|
> <userinput>config set Dhcp6/option-data[0]/csv-format true</userinput>
|
|
> <userinput>config set Dhcp6/option-data[0]/data "2001:db8:1::10, 123, Hello World"</userinput>
|
|
> <userinput>config set Dhcp6/option-data[0]/data "2001:db8:1::10, 123, Hello World"</userinput>
|
|
-7. > <userinput>config commit</userinput></screen>
|
|
|
|
|
|
+> <userinput>config commit</userinput></screen>
|
|
</para>
|
|
</para>
|
|
</section>
|
|
</section>
|
|
|
|
|
|
<section id="dhcp6-vendor-opts">
|
|
<section id="dhcp6-vendor-opts">
|
|
<title>DHCPv6 vendor specific options</title>
|
|
<title>DHCPv6 vendor specific options</title>
|
|
- <para>Currently there are two option spaces defined: dhcp4 (to
|
|
|
|
- be used in DHCPv4 daemon) and dhcp6. There is also vendor-opts-space,
|
|
|
|
|
|
+ <para>Currently there are three option spaces defined: dhcp4 (to
|
|
|
|
+ be used in DHCPv4 daemon) and dhcp6; there is also vendor-opts-space,
|
|
which is empty by default, but options can be defined in it. Those options
|
|
which is empty by default, but options can be defined in it. Those options
|
|
are called vendor-specific information options. The following examples
|
|
are called vendor-specific information options. The following examples
|
|
- show how to define an option foo with code 1 that consists of IPv6 address,
|
|
|
|
- unsigned 16 bit integer and a string. The foo option is conveyed in
|
|
|
|
|
|
+ show how to define an option "foo" with code 1 that consists of IPv6 address,
|
|
|
|
+ unsigned 16 bit integer and a string. The foo option is conveyed in a
|
|
vendor specific information option.
|
|
vendor specific information option.
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config add Dhcp6/option-def</userinput>
|
|
> <userinput>config add Dhcp6/option-def</userinput>
|
|
@@ -4198,63 +4217,66 @@ Dhcp6/subnet6/ list
|
|
codes 1 and 2. This could be achieved with the following examples.
|
|
codes 1 and 2. This could be achieved with the following examples.
|
|
First we need to define those new sub-options:
|
|
First we need to define those new sub-options:
|
|
<screen>
|
|
<screen>
|
|
-config add Dhcp6/option-def
|
|
|
|
-config set Dhcp6/option-def[0]/name "subopt1"
|
|
|
|
-config set Dhcp6/option-def[0]/code 1
|
|
|
|
-config set Dhcp6/option-def[0]/space "isc"
|
|
|
|
-config set Dhcp6/option-def[0]/type "ipv6-address"
|
|
|
|
-config set Dhcp6/option-def[0]/record-types ""
|
|
|
|
-config set Dhcp6/option-def[0]/array false
|
|
|
|
-config set Dhcp6/option-def[0]/encapsulate ""
|
|
|
|
-config commit
|
|
|
|
-
|
|
|
|
-config add Dhcp6/option-def
|
|
|
|
-config set Dhcp6/option-def[1]/name "subopt2"
|
|
|
|
-config set Dhcp6/option-def[1]/code 2
|
|
|
|
-config set Dhcp6/option-def[1]/space "isc"
|
|
|
|
-config set Dhcp6/option-def[1]/type "string"
|
|
|
|
-config set Dhcp6/option-def[1]/record-types ""
|
|
|
|
-config set Dhcp6/option-def[1]/array false
|
|
|
|
-config set Dhcp6/option-def[1]/encapsulate ""
|
|
|
|
-config commit</screen>
|
|
|
|
|
|
+> <userinput>config add Dhcp6/option-def</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[0]/name "subopt1"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[0]/code 1</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[0]/space "isc"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[0]/type "ipv6-address"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[0]/record-types ""</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[0]/array false</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[0]/encapsulate ""</userinput>
|
|
|
|
+> <userinput>config commit</userinput>
|
|
|
|
+> <userinput></userinput>
|
|
|
|
+> <userinput>config add Dhcp6/option-def</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[1]/name "subopt2"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[1]/code 2</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[1]/space "isc"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[1]/type "string"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[1]/record-types ""</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[1]/array false</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[1]/encapsulate ""</userinput>
|
|
|
|
+> <userinput>config commit</userinput>
|
|
|
|
+</screen>
|
|
The next step is to define a regular DHCPv6 option and specify that it
|
|
The next step is to define a regular DHCPv6 option and specify that it
|
|
should include options from isc option space:
|
|
should include options from isc option space:
|
|
<screen>
|
|
<screen>
|
|
-config add Dhcp6/option-def
|
|
|
|
-config set Dhcp6/option-def[2]/name "container"
|
|
|
|
-config set Dhcp6/option-def[2]/code 102
|
|
|
|
-config set Dhcp6/option-def[2]/space "dhcp6"
|
|
|
|
-config set Dhcp6/option-def[2]/type "uint16"
|
|
|
|
-config set Dhcp6/option-def[2]/array false
|
|
|
|
-config set Dhcp6/option-def[2]/record-types ""
|
|
|
|
-config set Dhcp6/option-def[2]/encapsulate "isc"
|
|
|
|
-config commit</screen>
|
|
|
|
|
|
+> <userinput>config add Dhcp6/option-def</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[2]/name "container"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[2]/code 102</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[2]/space "dhcp6"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[2]/type "uint16"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[2]/array false</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[2]/record-types ""</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-def[2]/encapsulate "isc"</userinput>
|
|
|
|
+> <userinput>config commit</userinput>
|
|
|
|
+</screen>
|
|
|
|
|
|
Finally, we should specify values for those new options:
|
|
Finally, we should specify values for those new options:
|
|
<screen>
|
|
<screen>
|
|
-config add Dhcp6/option-data
|
|
|
|
-config set Dhcp6/option-data[0]/name "subopt1"
|
|
|
|
-config set Dhcp6/option-data[0]/space "isc"
|
|
|
|
-config set Dhcp6/option-data[0]/code 1
|
|
|
|
-config set Dhcp6/option-data[0]/csv-format true
|
|
|
|
-config set Dhcp6/option-data[0]/data "2001:db8::abcd"
|
|
|
|
-config commit
|
|
|
|
-
|
|
|
|
-config add Dhcp6/option-data
|
|
|
|
-config set Dhcp6/option-data[1]/name "subopt2"
|
|
|
|
-config set Dhcp6/option-data[1]/space "isc"
|
|
|
|
-config set Dhcp6/option-data[1]/code 2
|
|
|
|
-config set Dhcp6/option-data[1]/csv-format true
|
|
|
|
-config set Dhcp6/option-data[1]/data "Hello world"
|
|
|
|
-config commit
|
|
|
|
-
|
|
|
|
-config add Dhcp6/option-data
|
|
|
|
-config set Dhcp6/option-data[2]/name "container"
|
|
|
|
-config set Dhcp6/option-data[2]/space "dhcp6"
|
|
|
|
-config set Dhcp6/option-data[2]/code 102
|
|
|
|
-config set Dhcp6/option-data[2]/csv-format true
|
|
|
|
-config set Dhcp6/option-data[2]/data "123"
|
|
|
|
-config commit</screen>
|
|
|
|
|
|
+> <userinput>config add Dhcp6/option-data</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[0]/name "subopt1"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[0]/space "isc"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[0]/code 1</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[0]/csv-format true</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[0]/data "2001:db8::abcd"</userinput>
|
|
|
|
+> <userinput>config commit</userinput>
|
|
|
|
+> <userinput></userinput>
|
|
|
|
+> <userinput>config add Dhcp6/option-data</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[1]/name "subopt2"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[1]/space "isc"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[1]/code 2</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[1]/csv-format true</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[1]/data "Hello world"</userinput>
|
|
|
|
+> <userinput>config commit</userinput>
|
|
|
|
+> <userinput></userinput>
|
|
|
|
+> <userinput>config add Dhcp6/option-data</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[2]/name "container"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[2]/space "dhcp6"</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[2]/code 102</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[2]/csv-format true</userinput>
|
|
|
|
+> <userinput>config set Dhcp6/option-data[2]/data "123"</userinput>
|
|
|
|
+> <userinput>config commit</userinput>
|
|
|
|
+</screen>
|
|
</para>
|
|
</para>
|
|
</section>
|
|
</section>
|
|
|
|
|