From 07080afd4015a900fb7474e1c81008f58b478565 Mon Sep 17 00:00:00 2001 From: Christian Poessinger <christian@poessinger.com> Date: Sat, 11 Apr 2020 15:12:52 +0200 Subject: vpn: l2tp: T2264: migrate IPv6 prefix node to common CLI style Combining multiple options into a single CLI node is considered bad practice. IPv6 prefixes consited of the prefix itself and a mask send to the client in one node only. The following CLI parts have been migrated from client-ipv6-pool { delegate-prefix fc00:0:1::/48,64 prefix 2001:db8::/64,64 } to client-ipv6-pool { delegate fc00:0:1::/48 { delegation-prefix 48 } prefix 2001:db8::/48 { mask 64 } } Thus regular validation steps from the VyOS CLI can be used when a prefix is configured. --- interface-definitions/vpn-l2tp.xml.in | 56 +++++++++++++++++++++++++++-------- 1 file changed, 44 insertions(+), 12 deletions(-) (limited to 'interface-definitions') diff --git a/interface-definitions/vpn-l2tp.xml.in b/interface-definitions/vpn-l2tp.xml.in index 84dd8187c..d4286a810 100644 --- a/interface-definitions/vpn-l2tp.xml.in +++ b/interface-definitions/vpn-l2tp.xml.in @@ -237,26 +237,58 @@ <help>Pool of client IPv6 addresses</help> </properties> <children> - <leafNode name="prefix"> + <tagNode name="prefix"> <properties> - <help>IPV6 prefix delegation</help> + <help>Pool of addresses used to assign to clients</help> <valueHelp> - <format>ipv6prefix/mask,prefix_len</format> - <description>e.g.: fc00:0:1::/48,64 - divides prefix into /64 subnets for clients</description> + <format>ipv6net</format> + <description>IPv6 address and prefix length</description> </valueHelp> - <multi /> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> </properties> - </leafNode> - <leafNode name="delegate-prefix"> + <children> + <leafNode name="mask"> + <properties> + <help>Prefix length used for individual client</help> + <valueHelp> + <format><48-128></format> + <description>Client prefix length (default: 64)</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 48-128"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> + <tagNode name="delegate"> <properties> - <help>DHCPv6 prefix delegation - rfc3633</help> + <help>Subnet used to delegate prefix through DHCPv6-PD (RFC3633)</help> <valueHelp> - <format>ipv6prefix/mask,prefix_len</format> - <description>Delegate to clients through DHCPv6 prefix delegation - rfc3633</description> + <format>ipv6net</format> + <description>IPv6 address and prefix length</description> </valueHelp> - <multi /> + <constraint> + <validator name="ipv6-prefix"/> + </constraint> </properties> - </leafNode> + <children> + <leafNode name="delegation-prefix"> + <properties> + <help>Prefix length delegated to client</help> + <valueHelp> + <format><32-64></format> + <description>Delegated prefix length</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 32-64"/> + </constraint> + </properties> + </leafNode> + </children> + </tagNode> </children> </node> <leafNode name="description"> -- cgit v1.2.3