summaryrefslogtreecommitdiff
path: root/interface-definitions/include/interface
diff options
context:
space:
mode:
authorIndrajit Raychaudhuri <irc@indrajit.com>2023-12-20 15:34:22 -0600
committerChristian Breunig <christian@breunig.cc>2023-12-21 08:49:58 +0100
commit51e7832fc5c88f9956b26157a80947bad4495a4e (patch)
tree52158bed72e0ef87276b137456f3a687ba482af4 /interface-definitions/include/interface
parent7717ed5c70ba8a5dfc1ad2299e449e98b3ef99d2 (diff)
downloadvyos-1x-51e7832fc5c88f9956b26157a80947bad4495a4e.tar.gz
vyos-1x-51e7832fc5c88f9956b26157a80947bad4495a4e.zip
dhcp: T5846: Refactor and simplify DUID definition
Refactor DUID XML definition in conf-mode to be reusable. Additionally, remove explicit call to a separate validator `ipv6-duid` and inline the regex into the XML definition.
Diffstat (limited to 'interface-definitions/include/interface')
-rw-r--r--interface-definitions/include/interface/dhcpv6-options.xml.i13
-rw-r--r--interface-definitions/include/interface/duid.xml.i15
2 files changed, 16 insertions, 12 deletions
diff --git a/interface-definitions/include/interface/dhcpv6-options.xml.i b/interface-definitions/include/interface/dhcpv6-options.xml.i
index 5ca1d525f..cafa03be0 100644
--- a/interface-definitions/include/interface/dhcpv6-options.xml.i
+++ b/interface-definitions/include/interface/dhcpv6-options.xml.i
@@ -4,18 +4,7 @@
<help>DHCPv6 client settings/options</help>
</properties>
<children>
- <leafNode name="duid">
- <properties>
- <help>DHCP unique identifier (DUID) to be sent by dhcpv6 client</help>
- <valueHelp>
- <format>duid</format>
- <description>DHCP unique identifier (DUID)</description>
- </valueHelp>
- <constraint>
- <validator name="ipv6-duid"/>
- </constraint>
- </properties>
- </leafNode>
+ #include <include/duid.xml.i>
<leafNode name="parameters-only">
<properties>
<help>Acquire only config parameters, no address</help>
diff --git a/interface-definitions/include/interface/duid.xml.i b/interface-definitions/include/interface/duid.xml.i
new file mode 100644
index 000000000..4f8988dfa
--- /dev/null
+++ b/interface-definitions/include/interface/duid.xml.i
@@ -0,0 +1,15 @@
+<!-- include start from interface/duid.xml.i -->
+<leafNode name="duid">
+ <properties>
+ <help>DHCP unique identifier (DUID) to be sent by client</help>
+ <valueHelp>
+ <format>duid</format>
+ <description>DHCP unique identifier</description>
+ </valueHelp>
+ <constraint>
+ <regex>([0-9A-Fa-f]{2}:){,127}([0-9A-Fa-f]{2})</regex>
+ </constraint>
+ <constraintErrorMessage>Invalid DUID, must be in the format h[[:h]...]</constraintErrorMessage>
+ </properties>
+</leafNode>
+<!-- include end -->