diff options
author | Christian Poessinger <christian@poessinger.com> | 2020-08-22 23:15:29 +0200 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2020-08-22 23:29:11 +0200 |
commit | 98c2c5e0585e0806099a353de207f392223eff9a (patch) | |
tree | 1196c011cb24b099cc73d87d13aa5f9c97f33472 /interface-definitions/include | |
parent | 50a7544ad69cb7b631a499299f9ab32b2e8918a0 (diff) | |
download | vyos-1x-98c2c5e0585e0806099a353de207f392223eff9a.tar.gz vyos-1x-98c2c5e0585e0806099a353de207f392223eff9a.zip |
dhcpv6-pd: T2677: optimize CLI interface for PD configuration
The current CLI did not support multiple prefix-delegations per interface. Some
ISPs only send one /64 to a client per prefix-delegation request, but they
allow the customer to request multiple prefixes.
The 'dhcpv6-options prefix-delegation' node has been renamed and converted to a
tag node named 'dhcpv6-options pd'. The tag node specifies a PD request (>=0).
In the past the user needed to know what prefix will be assigned and required
to calculate the sla-len by himself. The 'sla-len' node was dropped and is now
calculated in the background from the 'dhcpv6-options pd 0 length' node.
It is no longer mandatory to supply the 'sla-id' node, if sla-id is not
specified it is 'guessed' by counting upwards.
Example configuration:
----------------------
ethernet eth1 {
address dhcpv6
dhcpv6-options {
pd 0 {
length 56
interface eth2 {
address 1
}
}
}
}
This will request a /56 assignment from the ISP and will delegate a /64 network
to interface eth2. VyOS will use the interface address ::1 on the delegate
interface (eth2) as its local address.
Diffstat (limited to 'interface-definitions/include')
-rw-r--r-- | interface-definitions/include/dhcp-options.xml.i | 2 | ||||
-rw-r--r-- | interface-definitions/include/dhcpv6-options.xml.i | 40 |
2 files changed, 19 insertions, 23 deletions
diff --git a/interface-definitions/include/dhcp-options.xml.i b/interface-definitions/include/dhcp-options.xml.i index 0f71d9321..9989291fc 100644 --- a/interface-definitions/include/dhcp-options.xml.i +++ b/interface-definitions/include/dhcp-options.xml.i @@ -1,6 +1,6 @@ <node name="dhcp-options"> <properties> - <help>DHCP options</help> + <help>DHCP client settings/options</help> </properties> <children> <leafNode name="client-id"> diff --git a/interface-definitions/include/dhcpv6-options.xml.i b/interface-definitions/include/dhcpv6-options.xml.i index 98a87dba2..5d088b83d 100644 --- a/interface-definitions/include/dhcpv6-options.xml.i +++ b/interface-definitions/include/dhcpv6-options.xml.i @@ -1,11 +1,24 @@ <node name="dhcpv6-options"> <properties> - <help>DHCPv6 options</help> + <help>DHCPv6 client settings/options</help> </properties> <children> - <node name="prefix-delegation"> + <leafNode name="parameters-only"> + <properties> + <help>Acquire only config parameters, no address</help> + <valueless/> + </properties> + </leafNode> + <tagNode name="pd"> <properties> - <help>DHCPv6 Prefix Delegation Options</help> + <help>DHCPv6 prefix delegation interface statement</help> + <valueHelp> + <format>instance number</format> + <description>Prefix delegation instance (>= 0)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--non-negative"/> + </constraint> </properties> <children> <leafNode name="length"> @@ -19,6 +32,7 @@ <validator name="numeric" argument="--range 32-64"/> </constraint> </properties> + <defaultValue>64</defaultValue> </leafNode> <tagNode name="interface"> <properties> @@ -52,28 +66,10 @@ </constraint> </properties> </leafNode> - <leafNode name="sla-len"> - <properties> - <help>Site-Level aggregator (SLA) length</help> - <valueHelp> - <format>0-128</format> - <description>Length of delegated prefix</description> - </valueHelp> - <constraint> - <validator name="numeric" argument="--range 0-128"/> - </constraint> - </properties> - </leafNode> </children> </tagNode> </children> - </node> - <leafNode name="parameters-only"> - <properties> - <help>Acquire only config parameters, no address</help> - <valueless/> - </properties> - </leafNode> + </tagNode> <leafNode name="temporary"> <properties> <help>IPv6 "temporary" address</help> |