summaryrefslogtreecommitdiff
path: root/interface-definitions
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-08-22 23:15:29 +0200
committerChristian Poessinger <christian@poessinger.com>2020-08-22 23:29:11 +0200
commit98c2c5e0585e0806099a353de207f392223eff9a (patch)
tree1196c011cb24b099cc73d87d13aa5f9c97f33472 /interface-definitions
parent50a7544ad69cb7b631a499299f9ab32b2e8918a0 (diff)
downloadvyos-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')
-rw-r--r--interface-definitions/include/dhcp-options.xml.i2
-rw-r--r--interface-definitions/include/dhcpv6-options.xml.i40
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>