| < draft-ietf-dhc-dhcpv6-yang-23.txt | draft-ietf-dhc-dhcpv6-yang-24.txt > | |||
|---|---|---|---|---|
| DHC Working Group I. Farrer, Ed. | DHC Working Group I. Farrer, Ed. | |||
| Internet-Draft Deutsche Telekom AG | Internet-Draft Deutsche Telekom AG | |||
| Intended status: Standards Track 25 October 2021 | Intended status: Standards Track 18 November 2021 | |||
| Expires: 28 April 2022 | Expires: 22 May 2022 | |||
| YANG Data Model for DHCPv6 Configuration | YANG Data Model for DHCPv6 Configuration | |||
| draft-ietf-dhc-dhcpv6-yang-23 | draft-ietf-dhc-dhcpv6-yang-24 | |||
| Abstract | Abstract | |||
| This document describes YANG data modules for the configuration and | This document describes YANG data modules for the configuration and | |||
| management of DHCPv6 (Dynamic Host Configuration Protocol for IPv6 | management of DHCPv6 (Dynamic Host Configuration Protocol for IPv6 | |||
| RFC8415) servers, relays, and clients. | RFC8415) servers, relays, and clients. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| skipping to change at page 1, line 32 ¶ | skipping to change at page 1, line 32 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on 28 April 2022. | This Internet-Draft will expire on 22 May 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
| Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
| skipping to change at page 2, line 29 ¶ | skipping to change at page 2, line 29 ¶ | |||
| 4.2. DHCPv6 Server YANG Module . . . . . . . . . . . . . . . . 28 | 4.2. DHCPv6 Server YANG Module . . . . . . . . . . . . . . . . 28 | |||
| 4.3. DHCPv6 Relay YANG Module . . . . . . . . . . . . . . . . 48 | 4.3. DHCPv6 Relay YANG Module . . . . . . . . . . . . . . . . 48 | |||
| 4.4. DHCPv6 Client YANG Module . . . . . . . . . . . . . . . . 58 | 4.4. DHCPv6 Client YANG Module . . . . . . . . . . . . . . . . 58 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 73 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 73 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 74 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 74 | |||
| 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 75 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 75 | |||
| 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 75 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 75 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 76 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 76 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 76 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 76 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 78 | 9.2. Informative References . . . . . . . . . . . . . . . . . 78 | |||
| Appendix A. Data Tree Examples . . . . . . . . . . . . . . . . . 79 | Appendix A. Data Tree Examples . . . . . . . . . . . . . . . . . 78 | |||
| A.1. DHCPv6 Server Configuration Examples . . . . . . . . . . 79 | A.1. DHCPv6 Server Configuration Examples . . . . . . . . . . 79 | |||
| A.2. DHCPv6 Relay Configuration Example . . . . . . . . . . . 83 | A.2. DHCPv6 Relay Configuration Example . . . . . . . . . . . 83 | |||
| A.3. DHCPv6 Client Configuration Example . . . . . . . . . . . 84 | A.3. DHCPv6 Client Configuration Example . . . . . . . . . . . 84 | |||
| Appendix B. Example of Augmenting Additional DHCPv6 Option | Appendix B. Example of Augmenting Additional DHCPv6 Option | |||
| Definitions . . . . . . . . . . . . . . . . . . . . . . . 87 | Definitions . . . . . . . . . . . . . . . . . . . . . . . 87 | |||
| Appendix C. Example Vendor Specific Server Configuration | Appendix C. Example Vendor Specific Server Configuration | |||
| Module . . . . . . . . . . . . . . . . . . . . . . . . . 90 | Module . . . . . . . . . . . . . . . . . . . . . . . . . 90 | |||
| Appendix D. Example definition of class-selector | Appendix D. Example definition of class-selector | |||
| configuration . . . . . . . . . . . . . . . . . . . . . . 97 | configuration . . . . . . . . . . . . . . . . . . . . . . 97 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 104 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 104 | |||
| skipping to change at page 3, line 11 ¶ | skipping to change at page 3, line 11 ¶ | |||
| of DHCPv6 'element' (servers, relays, and clients) using the Network | of DHCPv6 'element' (servers, relays, and clients) using the Network | |||
| Configuration Protocol (NETCONF [RFC6241]) or RESTCONF [RFC8040] | Configuration Protocol (NETCONF [RFC6241]) or RESTCONF [RFC8040] | |||
| protocols. | protocols. | |||
| Separate modules are defined for each element. Additionally, a | Separate modules are defined for each element. Additionally, a | |||
| 'common' module contains typedefs and groupings used by all of the | 'common' module contains typedefs and groupings used by all of the | |||
| element modules. Appendix A provides XML examples for each of the | element modules. Appendix A provides XML examples for each of the | |||
| element modules and shows their interaction. | element modules and shows their interaction. | |||
| The relay and client modules provide configuration which is | The relay and client modules provide configuration which is | |||
| applicable device's interfaces. This is done by importing the ietf- | applicable to devices' interfaces. This is done by importing the | |||
| interfaces module [RFC8343] and using interface-refs to the relevant | ietf-interfaces module [RFC8343] and using interface-refs to the | |||
| interface(s). | relevant interface(s). | |||
| It is worth noting that as DHCPv6 is itself a client configuration | It is worth noting that as DHCPv6 is itself a client configuration | |||
| protocol, it is not the intention of this document to provide a | protocol, it is not the intention of this document to provide a | |||
| replacement for the allocation of DHCPv6 assigned addressing and | replacement for the allocation of DHCPv6 assigned addressing and | |||
| parameters by using NETCONF/YANG. The DHCPv6 client module is | parameters by using NETCONF/YANG. The DHCPv6 client module is | |||
| intended for the configuration and monitoring of the DHCPv6 client | intended for the configuration and monitoring of the DHCPv6 client | |||
| function and does not replace DHCPv6 address and parameter | function and does not replace DHCPv6 address and parameter | |||
| configuration. | configuration. | |||
| The YANG modules in this document adopt the Network Management | The YANG modules in this document adopt the Network Management | |||
| skipping to change at page 20, line 11 ¶ | skipping to change at page 20, line 11 ¶ | |||
| * retransmission-failed: Raised when the retransmission mechanism | * retransmission-failed: Raised when the retransmission mechanism | |||
| defined in [RFC8415] has failed. | defined in [RFC8415] has failed. | |||
| 4. DHCPv6 YANG Modules | 4. DHCPv6 YANG Modules | |||
| 4.1. DHCPv6 Common YANG Module | 4.1. DHCPv6 Common YANG Module | |||
| This module imports typedefs from [RFC6991]. | This module imports typedefs from [RFC6991]. | |||
| <CODE BEGINS> file "ietf-dhcpv6-common@2021-10-25.yang" | <CODE BEGINS> file "ietf-dhcpv6-common@2021-11-18.yang" | |||
| module ietf-dhcpv6-common { | module ietf-dhcpv6-common { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6-common"; | namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6-common"; | |||
| prefix "dhc6"; | prefix "dhc6"; | |||
| organization | organization | |||
| "IETF DHC (Dynamic Host Configuration) Working Group"; | "IETF DHC (Dynamic Host Configuration) Working Group"; | |||
| contact | contact | |||
| skipping to change at page 28, line 36 ¶ | skipping to change at page 28, line 36 ¶ | |||
| container."; | container."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4.2. DHCPv6 Server YANG Module | 4.2. DHCPv6 Server YANG Module | |||
| This module imports typedefs from [RFC6991], [RFC8343]. | This module imports typedefs from [RFC6991], [RFC8343]. | |||
| <CODE BEGINS> file "ietf-dhcpv6-server@2021-10-25.yang" | <CODE BEGINS> file "ietf-dhcpv6-server@2021-11-18.yang" | |||
| module ietf-dhcpv6-server { | module ietf-dhcpv6-server { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6-server"; | namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6-server"; | |||
| prefix "dhc6-srv"; | prefix "dhc6-srv"; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| skipping to change at page 48, line 28 ¶ | skipping to change at page 48, line 28 ¶ | |||
| } | } | |||
| uses dhc6:status; | uses dhc6:status; | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4.3. DHCPv6 Relay YANG Module | 4.3. DHCPv6 Relay YANG Module | |||
| This module imports typedefs from [RFC6991], [RFC8343]. | This module imports typedefs from [RFC6991], [RFC8343]. | |||
| <CODE BEGINS> file "ietf-dhcpv6-relay@2021-10-25.yang" | <CODE BEGINS> file "ietf-dhcpv6-relay@2021-11-18.yang" | |||
| module ietf-dhcpv6-relay { | module ietf-dhcpv6-relay { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6-relay"; | namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6-relay"; | |||
| prefix "dhc6-rly"; | prefix "dhc6-rly"; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| skipping to change at page 58, line 15 ¶ | skipping to change at page 58, line 15 ¶ | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4.4. DHCPv6 Client YANG Module | 4.4. DHCPv6 Client YANG Module | |||
| This module imports typedefs from [RFC6991], [RFC8343]. | This module imports typedefs from [RFC6991], [RFC8343]. | |||
| <CODE BEGINS> file "ietf-dhcpv6-client@2021-10-25.yang" | <CODE BEGINS> file "ietf-dhcpv6-client@2021-11-18.yang" | |||
| module ietf-dhcpv6-client { | module ietf-dhcpv6-client { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6-client"; | namespace "urn:ietf:params:xml:ns:yang:ietf-dhcpv6-client"; | |||
| prefix "dhc6-clnt"; | prefix "dhc6-clnt"; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| skipping to change at page 73, line 29 ¶ | skipping to change at page 73, line 29 ¶ | |||
| All data nodes defined in the YANG modules which can be created, | All data nodes defined in the YANG modules which can be created, | |||
| modified, and deleted (i.e., config true, which is the default) are | modified, and deleted (i.e., config true, which is the default) are | |||
| considered sensitive. Write operations (e.g., edit-config) to these | considered sensitive. Write operations (e.g., edit-config) to these | |||
| data nodes without proper protection can have a negative effect on | data nodes without proper protection can have a negative effect on | |||
| network operations. | network operations. | |||
| As the RPCs for deleting/clearing active address and prefix entries | As the RPCs for deleting/clearing active address and prefix entries | |||
| in the server and relay modules are particularly sensitive, these use | in the server and relay modules are particularly sensitive, these use | |||
| 'nacm:default-deny-all'. | 'nacm:default-deny-all'. | |||
| An attacker who is able to access the DHCPv6 server can undertake | An attacker with read/write access the DHCPv6 server can undertake | |||
| various attacks, such as: | various attacks, such as: | |||
| * Denial of service attacks, based on re-configuring messages to a | * Denial of service attacks, based on re-configuring messages to a | |||
| rogue DHCPv6 server. | rogue DHCPv6 server. | |||
| * Various attacks based on re-configuring the contents of DHCPv6 | * Various attacks based on re-configuring the contents of DHCPv6 | |||
| options. For example, changing the address of a the DNS server | options, leading to several types of security or privacy threats. | |||
| supplied in a DHCP option to point to a rogue server. | For example, changing the address of a DNS server supplied in a | |||
| DHCP option to point to a rogue server. | ||||
| An attacker who is able to access the DHCPv6 relay can undertake | An attacker with read/write access the DHCPv6 relay can undertake | |||
| various attacks, such as: | various attacks, such as: | |||
| * Re-configuring the relay's destination address to send messages to | * Modifying the relay's "destination-address" to send messages to a | |||
| a rogue DHCPv6 server. | rogue DHCPv6 server. | |||
| * Deleting information about a client's delegated prefix, causing a | * Deleting information about a client's delegated prefix, causing a | |||
| denial of service attack as traffic will no longer be routed to | denial of service attack as traffic will no longer be routed to | |||
| the client. | the client. | |||
| Some of the readable data nodes in this YANG module may be considered | Some of the readable data nodes in this YANG module may be considered | |||
| sensitive or vulnerable in some network environments. Therefore, it | sensitive or vulnerable in some network environments. Therefore, it | |||
| is important to control read access (e.g., only permitting get, get- | is important to control read access (e.g., only permitting get, get- | |||
| config, or notifications) to these data nodes. These subtrees and | config, or notifications) to these data nodes. These subtrees and | |||
| data nodes can be misused to track the activity of a host: | data nodes can be misused to track the activity of a host: | |||
| * Information the server holds about clients with active leases: | * Information the server holds about clients with active leases: | |||
| (dhc6-srv/allocation-ranges/allocation-range/address-pools/ | (dhc6-srv/allocation-ranges/allocation-range/address-pools/ | |||
| address-pool/active-leases) | address-pool/active-leases) | |||
| * Information the relay holds about clients with active leases: | * Information the relay holds about clients with active leases: | |||
| (dhc6-rly/relay-if/prefix-delegation/) | (dhc6-rly/relay-if/prefix-delegation/) | |||
| [RFC7824] covers privacy considerations for DHCPv6 and is applicable | ||||
| here. | ||||
| Security considerations related to DHCPv6 are discussed in [RFC8415]. | Security considerations related to DHCPv6 are discussed in [RFC8415]. | |||
| Security considerations given in [RFC7950] are also applicable here. | Security considerations given in [RFC7950] are also applicable here. | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| This document requests IANA to register the following URIs in the | This document requests IANA to register the following URIs in the | |||
| "IETF XML Registry" [RFC3688]: | "IETF XML Registry" [RFC3688]: | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-dhcpv6-server | URI: urn:ietf:params:xml:ns:yang:ietf-dhcpv6-server | |||
| skipping to change at page 78, line 24 ¶ | skipping to change at page 78, line 24 ¶ | |||
| [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
| Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
| <https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
| [RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., | [RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., | |||
| Richardson, M., Jiang, S., Lemon, T., and T. Winters, | Richardson, M., Jiang, S., Lemon, T., and T. Winters, | |||
| "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | |||
| RFC 8415, DOI 10.17487/RFC8415, November 2018, | RFC 8415, DOI 10.17487/RFC8415, November 2018, | |||
| <https://www.rfc-editor.org/info/rfc8415>. | <https://www.rfc-editor.org/info/rfc8415>. | |||
| [RFC8987] Farrer, I., Kottapalli, N., Hunek, M., and R. Patterson, | ||||
| "DHCPv6 Prefix Delegating Relay Requirements", RFC 8987, | ||||
| DOI 10.17487/RFC8987, February 2021, | ||||
| <https://www.rfc-editor.org/info/rfc8987>. | ||||
| [IANA-HARDWARE-TYPES] | [IANA-HARDWARE-TYPES] | |||
| Internet Assigned Numbers Authority, "Hardware Types", | Internet Assigned Numbers Authority, "Hardware Types", | |||
| <https://www.iana.org/assignments/arp-parameters>. | <https://www.iana.org/assignments/arp-parameters>. | |||
| [IANA-PEN] Internet Assigned Numbers Authority, "Private Enterprise | [IANA-PEN] Internet Assigned Numbers Authority, "Private Enterprise | |||
| Numbers", | Numbers", | |||
| <https://www.iana.org/assignments/enterprise-numbers>. | <https://www.iana.org/assignments/enterprise-numbers>. | |||
| [IANA-AUTH] | ||||
| Internet Assigned Numbers Authority, "Dynamic Host | ||||
| Configuration Protocol (DHCP) Authentication Option Name | ||||
| Spaces", | ||||
| <https://www.iana.org/assignments/auth-namespaces>. | ||||
| [IANA-STATUS] | ||||
| Internet Assigned Numbers Authority, "Dynamic Host | ||||
| Configuration Protocol for IPv6 (DHCPv6) Status Codes", | ||||
| <https://www.iana.org/assignments/dhcpv6-parameters>. | ||||
| 9.2. Informative References | 9.2. Informative References | |||
| [RFC3319] Schulzrinne, H. and B. Volz, "Dynamic Host Configuration | [RFC3319] Schulzrinne, H. and B. Volz, "Dynamic Host Configuration | |||
| Protocol (DHCPv6) Options for Session Initiation Protocol | Protocol (DHCPv6) Options for Session Initiation Protocol | |||
| (SIP) Servers", RFC 3319, DOI 10.17487/RFC3319, July 2003, | (SIP) Servers", RFC 3319, DOI 10.17487/RFC3319, July 2003, | |||
| <https://www.rfc-editor.org/info/rfc3319>. | <https://www.rfc-editor.org/info/rfc3319>. | |||
| [RFC7824] Krishnan, S., Mrugalski, T., and S. Jiang, "Privacy | ||||
| Considerations for DHCPv6", RFC 7824, | ||||
| DOI 10.17487/RFC7824, May 2016, | ||||
| <https://www.rfc-editor.org/info/rfc7824>. | ||||
| [RFC8987] Farrer, I., Kottapalli, N., Hunek, M., and R. Patterson, | ||||
| "DHCPv6 Prefix Delegating Relay Requirements", RFC 8987, | ||||
| DOI 10.17487/RFC8987, February 2021, | ||||
| <https://www.rfc-editor.org/info/rfc8987>. | ||||
| Appendix A. Data Tree Examples | Appendix A. Data Tree Examples | |||
| This section contains XML examples of data trees for the different | This section contains XML examples of data trees for the different | |||
| DHCPv6 elements. | DHCPv6 elements. | |||
| A.1. DHCPv6 Server Configuration Examples | A.1. DHCPv6 Server Configuration Examples | |||
| The following example shows a basic configuration for a server. The | The following example shows a basic configuration for a server. The | |||
| configuration defines: | configuration defines: | |||
| skipping to change at page 80, line 46 ¶ | skipping to change at page 80, line 46 ¶ | |||
| <max-address-utilization>50</max-address-utilization> | <max-address-utilization>50</max-address-utilization> | |||
| <option-set-id>1</option-set-id> | <option-set-id>1</option-set-id> | |||
| </address-pool> | </address-pool> | |||
| </address-pools> | </address-pools> | |||
| </allocation-range> | </allocation-range> | |||
| </allocation-ranges> | </allocation-ranges> | |||
| </dhcpv6-server> | </dhcpv6-server> | |||
| Figure 4: Basic Server Configuration Example XML | Figure 4: Basic Server Configuration Example XML | |||
| The following example shows a static host reservation within an | The following example configuration snippet shows a static host | |||
| address pool. The host's lease timers are configured to be longer | reservation within an address pool. The host's lease timers are | |||
| than hosts from the pool with dynamically assigned addresses. | configured to be longer than hosts from the pool with dynamically | |||
| assigned addresses. | ||||
| <address-pools> | <address-pools> | |||
| <address-pool> | <address-pool> | |||
| <pool-id>1</pool-id> | <pool-id>1</pool-id> | |||
| <pool-prefix>2001:db8:1:1::/64</pool-prefix> | <pool-prefix>2001:db8:1:1::/64</pool-prefix> | |||
| <start-address>2001:db8:1:1::1000</start-address> | <start-address>2001:db8:1:1::1000</start-address> | |||
| <end-address>2001:db8:1:1::2000</end-address> | <end-address>2001:db8:1:1::2000</end-address> | |||
| <max-address-utilization>50</max-address-utilization> | <max-address-utilization>50</max-address-utilization> | |||
| <option-set-id>1</option-set-id> | <option-set-id>1</option-set-id> | |||
| <host-reservations> | <host-reservations> | |||
| skipping to change at page 81, line 27 ¶ | skipping to change at page 81, line 27 ¶ | |||
| <option-set-id>1</option-set-id> | <option-set-id>1</option-set-id> | |||
| <valid-lifetime>604800</valid-lifetime> | <valid-lifetime>604800</valid-lifetime> | |||
| <renew-time>86400</renew-time> | <renew-time>86400</renew-time> | |||
| <rebind-time>172800</rebind-time> | <rebind-time>172800</rebind-time> | |||
| <preferred-lifetime>345600</preferred-lifetime> | <preferred-lifetime>345600</preferred-lifetime> | |||
| </host-reservation> | </host-reservation> | |||
| </host-reservations> | </host-reservations> | |||
| </address-pool> | </address-pool> | |||
| </address-pools> | </address-pools> | |||
| Figure 5: Server Host Reservation Configuration Example XML | Figure 5: Server Host Reservation Configuration Example XML Snippet | |||
| The following example shows configuration for a network range and | The following example configuration snippet shows a network range and | |||
| pool to be used for delegating prefixes to clients. In this example, | pool to be used for delegating prefixes to clients. In this example, | |||
| each client will receive a /56 prefix. | each client will receive a /56 prefix. | |||
| The 'max-pd-space-utilization' is set to 80 so that a 'prefix-pool- | The 'max-pd-space-utilization' is set to 80 so that a 'prefix-pool- | |||
| utilization-threshold-exceeded' notification will be raised if the | utilization-threshold-exceeded' notification will be raised if the | |||
| number of prefix allocations exceeds this. | number of prefix allocations exceeds this. | |||
| <allocation-ranges> | <allocation-ranges> | |||
| <allocation-range> | <allocation-range> | |||
| <id>1</id> | <id>1</id> | |||
| skipping to change at page 82, line 26 ¶ | skipping to change at page 82, line 26 ¶ | |||
| <pool-id>0</pool-id> | <pool-id>0</pool-id> | |||
| <option-set-id>1</option-set-id> | <option-set-id>1</option-set-id> | |||
| <pool-prefix>2001:db8:1::/48</pool-prefix> | <pool-prefix>2001:db8:1::/48</pool-prefix> | |||
| <client-prefix-length>56</client-prefix-length> | <client-prefix-length>56</client-prefix-length> | |||
| <max-pd-space-utilization>80</max-pd-space-utilization> | <max-pd-space-utilization>80</max-pd-space-utilization> | |||
| </prefix-pool> | </prefix-pool> | |||
| </prefix-pools> | </prefix-pools> | |||
| </allocation-range> | </allocation-range> | |||
| </allocation-ranges> | </allocation-ranges> | |||
| Figure 6: Server Prefix Delegation Configuration Example XML | Figure 6: Server Prefix Delegation Configuration Example XML Snippet | |||
| The next example shows the configuration of a set of options that may | The next example configuration snippet shows a set of options that | |||
| be returned to clients, depending on the contents of a received DHCP | may be returned to clients, depending on the contents of a received | |||
| request message. The option set ID is '1', which will referenced by | DHCP request message. The option set ID is '1', which will | |||
| other places in the configuration (e.g., address pool configuration) | referenced by other places in the configuration (e.g., address pool | |||
| as the available options for clients that request them. | configuration) as the available options for clients that request | |||
| them. | ||||
| The example shows how the option definitions can be extended via | The example shows how the option definitions can be extended via | |||
| augmentation. In this case, "OPTION_SIP_SERVER_D (21) SIP Servers | augmentation. In this case, "OPTION_SIP_SERVER_D (21) SIP Servers | |||
| Domain-Name List" from the example module in Appendix B has been | Domain-Name List" from the example module in Appendix B has been | |||
| augmented to the server's option set. | augmented to the server's option set. | |||
| <option-sets> | <option-sets> | |||
| <option-set> | <option-set> | |||
| <option-set-id>1</option-set-id> | <option-set-id>1</option-set-id> | |||
| <description>Example DHCP option set</description> | <description>Example DHCP option set</description> | |||
| skipping to change at page 83, line 39 ¶ | skipping to change at page 83, line 39 ¶ | |||
| <sip-serv-domain-name>sip1.example.org</sip-serv-domain-name> | <sip-serv-domain-name>sip1.example.org</sip-serv-domain-name> | |||
| </sip-server> | </sip-server> | |||
| <sip-server> | <sip-server> | |||
| <sip-serv-id>1</sip-serv-id> | <sip-serv-id>1</sip-serv-id> | |||
| <sip-serv-domain-name>sip2.example.org</sip-serv-domain-name> | <sip-serv-domain-name>sip2.example.org</sip-serv-domain-name> | |||
| </sip-server> | </sip-server> | |||
| </sip-server-domain-name-list-option> | </sip-server-domain-name-list-option> | |||
| </option-set> | </option-set> | |||
| </option-sets> | </option-sets> | |||
| Figure 7: Server Option Set Configuration Example XML | Figure 7: Server Option Set Configuration Example XML Snippet | |||
| A.2. DHCPv6 Relay Configuration Example | A.2. DHCPv6 Relay Configuration Example | |||
| The following example shows a basic configuration for a single DHCP | The following example shows a basic configuration for a single DHCP | |||
| relay interface and its interaction with the ietf-interfaces module. | relay interface and its interaction with the ietf-interfaces module. | |||
| The configuration defines: | The configuration shows two XML documents, one for ietf-interfaces | |||
| and a second for ietf-dhcpv6-relay, defining: | ||||
| * Configuring an interface using the ietf-interfaces module that the | ||||
| relay configuration will be applied to. | ||||
| * Enabling the DHCP relay function globally and for the relevant | * Enabling the DHCP relay function globally and for the relevant | |||
| interface. | interface. | |||
| * Referencing the interface that the relay configuration is relevant | * Referencing the interface that the relay configuration is relevant | |||
| for via an inteface-ref to the ietf-interfaces module. | for via an inteface-ref to the ietf-interfaces module. | |||
| * Defining two destination addresses that incoming DHCP messages | * Defining two destination addresses that incoming DHCP messages | |||
| will be relayed to. | will be relayed to. | |||
| skipping to change at page 84, line 46 ¶ | skipping to change at page 84, line 50 ¶ | |||
| </relay-options> | </relay-options> | |||
| </relay-if> | </relay-if> | |||
| </dhcpv6-relay> | </dhcpv6-relay> | |||
| Figure 8: Basic Relay Configuration Example XML | Figure 8: Basic Relay Configuration Example XML | |||
| A.3. DHCPv6 Client Configuration Example | A.3. DHCPv6 Client Configuration Example | |||
| The following example shows a basic configuration for a DHCP client | The following example shows a basic configuration for a DHCP client | |||
| and its interaction with the ietf-interfaces module. The | and its interaction with the ietf-interfaces module. The | |||
| configuration defines: | configuration shows two XML documents, one for ietf-interfaces and a | |||
| second for ietf-dhcpv6-client defining: | ||||
| * Configuring an interface using the ietf-interfaces module that the | ||||
| client configuration will be applied to. | ||||
| * Enabling the DHCP relay function globally and for the relevant | * Enabling the DHCP relay function globally and for the relevant | |||
| interface. | interface. | |||
| * References the interface that the client configuration is relevant | * References the interface that the client configuration is relevant | |||
| for via an inteface-ref to the ietf-interfaces module. | for via an inteface-ref to the ietf-interfaces module. | |||
| * Sets the client's DUID. | * Sets the client's DUID. | |||
| * Configures a list of option codes that will be requested by the | * Configures a list of option codes that will be requested by the | |||
| End of changes. 25 change blocks. | ||||
| 48 lines changed or deleted | 56 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||