This YANG module defines common components used for the configuration and management of DHCPv6. The key words 'MUST', 'MUST NOT...
Version: 2022-06-20
module ietf-dhcpv6-common { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6-common"; prefix dhc6; organization "IETF Dynamic Host Configuration (DHC) Working Group"; contact "WG Web: <https://datatracker.ietf.org/wg/dhc/> WG List: <mailto:dhcwg@ietf.org> Author: Yong Cui <yong@csnet1.cs.tsinghua.edu.cn> Author: Linhui Sun <lh.sunlinh@gmail.com> Editor: Ian Farrer <ian.farrer@telekom.de> Author: Sladjana Zeichlin <sladjana.zechlin@telekom.de> Author: Zihao He <hezihao9512@gmail.com> Author: Michal Nowikowski <godfryd@isc.org>"; description "This YANG module defines common components used for the configuration and management of DHCPv6. The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here. Copyright (c) 2022 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Revised BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC 9243 (https://www.rfc-editor.org/info/rfc9243); see the RFC itself for full legal notices."; revision "2022-06-20" { description "Initial revision."; reference "RFC 9243: A YANG Data Model for DHCPv6 Configuration"; } typedef threshold { type uint8 { range "1..100"; } description "Threshold value in percent."; } typedef timer-seconds32 { type uint32; units "seconds"; description "Timer value type in seconds (32-bit range)."; } typedef duid-base { type string { pattern '([0-9a-fA-F]{2}){3,130}'; } description "Each DHCP server and client has a DHCP Unique Identifier (DUID). The DUID consists of a 2-octet type field and an arbitrary length (1-128 octets) content field. The duid-base type is used by other duid types with additional pattern constraints. Currently, there are four defined types of DUIDs in RFCs 8415 and 6355 -- DUID-LLT, DUID-EN, DUID-LL, and DUID-UUID. DUID-unstructured represents DUIDs that do not follow any of the defined formats. Type 'string' is used to represent the hexadecimal DUID value so that pattern constraints can be applied."; reference "RFC 8415: Dynamic Host Configuration Protocol for IPv6 (DHCPv6), Section 11 RFC 6355: Definition of the UUID-Based DHCPv6 Unique Identifier (DUID-UUID), Section 4"; } typedef duid-llt { type duid-base { pattern '0001[0-9a-fA-F]{12,}'; } description "DUID type 1, based on Link-Layer Address Plus Time (DUID-LLT). Constructed with a 2-octet hardware type assigned by IANA, 4 octets containing the time the DUID is generated (represented in seconds since midnight (UTC), January 1, 2000, modulo 2^32), and a link-layer address. The address is encoded without separator characters. For example: +------+------+----------+--------------+ | 0001 | 0006 | 28490058 | 00005E005300 | +------+------+----------+--------------+ This example includes the 2-octet DUID type of 1 (0x01); the hardware type is 0x06 (IEEE Hardware Types), and the creation time is 0x28490058 (constructed as described above). Finally, the link-layer address is 0x5E005300 (EUI-48 address 00-00-5E-00-53-00)."; reference "RFC 8415: Dynamic Host Configuration Protocol for IPv6 (DHCPv6), Section 11.2 IANA 'Hardware Types' registry <https://www.iana.org/assignments/arp-parameters>"; } typedef duid-en { type duid-base { pattern '0002[0-9a-fA-F]{8,}'; } description "DUID type 2, assigned by vendor based on Enterprise Number (DUID-EN). This DUID consists of the 4-octet vendor's registered Private Enterprise Number, as maintained by IANA, followed by a unique identifier assigned by the vendor. For example: +------+----------+------------------+ | 0002 | 00007ED9 | 0CC084D303000912 | +------+----------+------------------+ This example includes the 2-octet DUID type of 2 (0x02), 4 octets for the Enterprise Number (0x7ED9), followed by 8 octets of identifier data (0x0CC084D303000912)."; reference "RFC 8415: Dynamic Host Configuration Protocol for IPv6 (DHCPv6), Section 11.3 IANA 'Private Enterprise Numbers' registry <https://www.iana.org/assignments/enterprise-numbers>"; } typedef duid-ll { type duid-base { pattern '0003([0-9a-fA-F]){4,}'; } description "DUID type 3, based on Link-Layer Address (DUID-LL). Constructed with a 2-octet hardware type assigned by IANA and a link-layer address. The address is encoded without separator characters. For example: +------+------+--------------+ | 0003 | 0006 | 00005E005300 | +------+------+--------------+ This example includes the 2-octet DUID type of 3 (0x03); the hardware type is 0x06 (IEEE Hardware Types), and the link-layer address is 0x5E005300 (EUI-48 address 00-00-5E-00-53-00)."; reference "RFC 8415: Dynamic Host Configuration Protocol for IPv6 (DHCPv6), Section 11.4 IANA 'Hardware Types' registry <https://www.iana.org/assignments/arp-parameters>"; } typedef duid-uuid { type duid-base { pattern '0004[0-9a-fA-F]{32}'; } description "DUID type 4, based on Universally Unique Identifier (DUID-UUID). This type of DUID consists of 16 octets containing a 128-bit UUID. For example: +------+----------------------------------+ | 0004 | 9f03b182705747e38a1e422910078642 | +------+----------------------------------+ This example includes the 2-octet DUID type of 4 (0x04) and the UUID 9f03b182-7057-47e3-8a1e-422910078642."; reference "RFC 8415: Dynamic Host Configuration Protocol for IPv6 (DHCPv6), Section 11.5 RFC 6355: Definition of the UUID-Based DHCPv6 Unique Identifier (DUID-UUID)"; } typedef duid-unstructured { type duid-base { pattern '(000[1-4].*)'; } description "Used for DUIDs following any formats other than DUID types 1-4. For example: +----------------------------------+ | 7b6a164d325946539dc540fb539bc430 | +----------------------------------+ Here, an arbitrary 16-octet value is used. The only constraint placed on this is that the first 2 octets are not 0x01-0x04 to avoid collision with the other defined DUID types (duid-llt, duid-en, duid-ll, or duid-uuid)."; reference "RFC 8415: Dynamic Host Configuration Protocol for IPv6 (DHCPv6), Section 11"; } typedef duid { type union { type duid-llt; type duid-en; type duid-ll; type duid-uuid; type duid-unstructured; } description "Represents the DUID and is neutral to the DUID's construction format."; reference "RFC 8415: Dynamic Host Configuration Protocol for IPv6 (DHCPv6), Section 11"; } } // module ietf-dhcpv6-common
© 2023 YumaWorks, Inc. All rights reserved.