From b7e2db954bc026d1cc26e1744abbb3d12285500e Mon Sep 17 00:00:00 2001 From: Indrajit Raychaudhuri Date: Wed, 20 Dec 2023 15:34:22 -0600 Subject: 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. (cherry picked from commit 51e7832fc5c88f9956b26157a80947bad4495a4e) --- .../include/interface/dhcpv6-options.xml.i | 13 +---------- interface-definitions/include/interface/duid.xml.i | 15 ++++++++++++ src/validators/ipv6-duid | 27 ---------------------- 3 files changed, 16 insertions(+), 39 deletions(-) create mode 100644 interface-definitions/include/interface/duid.xml.i delete mode 100755 src/validators/ipv6-duid 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 @@ DHCPv6 client settings/options - - - DHCP unique identifier (DUID) to be sent by dhcpv6 client - - duid - DHCP unique identifier (DUID) - - - - - - + #include Acquire only config parameters, no address 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 @@ + + + + DHCP unique identifier (DUID) to be sent by client + + duid + DHCP unique identifier + + + ([0-9A-Fa-f]{2}:){,127}([0-9A-Fa-f]{2}) + + Invalid DUID, must be in the format h[[:h]...] + + + diff --git a/src/validators/ipv6-duid b/src/validators/ipv6-duid deleted file mode 100755 index fd4728e50..000000000 --- a/src/validators/ipv6-duid +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2021 VyOS maintainers and contributors -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 or later as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -import re -import sys - -pattern = "^([0-9A-Fa-f]{2}:){,127}([0-9A-Fa-f]{2})$" - -if __name__ == '__main__': - if len(sys.argv) != 2: - sys.exit(1) - if not re.match(pattern, sys.argv[1]): - sys.exit(1) - sys.exit(0) -- cgit v1.2.3