| rfc8676.original.v2v3.xml | rfc8676.form.xml | |||
|---|---|---|---|---|
| <?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category=" | ||||
| std" consensus="yes" number="8676" ipr="trust200902" obsoletes="" updates="" xml | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" | |||
| :lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3"> | category="std" consensus="yes" docName="draft-ietf-softwire-yang-16" number | |||
| ="8676" ipr="trust200902" | ||||
| obsoletes="" updates="" xml:lang="en" tocInclude="true" symRefs="true" | ||||
| sortRefs="true" version="3"> | ||||
| <!-- xml2rfc v2v3 conversion 2.34.0 --> | <!-- xml2rfc v2v3 conversion 2.34.0 --> | |||
| <front> | <front> | |||
| <title abbrev="YANG Modules for A+P Softwires">YANG Modules for | <title abbrev="YANG Modules for A+P Softwires">YANG Modules for | |||
| IPv4-in-IPv6 Address plus Port (A+P) Softwires</title> | IPv4-in-IPv6 Address plus Port (A&wj;+P) Softwires</title> | |||
| <seriesInfo name="RFC" value="8676"/> | <seriesInfo name="RFC" value="8676"/> | |||
| <author fullname="Ian Farrer" initials="I." role="editor" surname="Farrer"> | <author fullname="Ian Farrer" initials="I." role="editor" surname="Farrer"> | |||
| <organization>Deutsche Telekom AG</organization> | <organization>Deutsche Telekom AG</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>CTO-ATI, Landgrabenweg 151</street> | <street>CTO-ATI, Landgrabenweg 151</street> | |||
| <city>Bonn</city> | <city>Bonn</city> | |||
| <region>NRW</region> | <region>NRW</region> | |||
| <code>53227</code> | <code>53227</code> | |||
| <country>Germany</country> | <country>Germany</country> | |||
| skipping to change at line 56 ¶ | skipping to change at line 60 ¶ | |||
| <keyword>automation</keyword> | <keyword>automation</keyword> | |||
| <keyword>IPv6</keyword> | <keyword>IPv6</keyword> | |||
| <abstract> | <abstract> | |||
| <t>This document defines YANG modules for the configuration and | <t>This document defines YANG modules for the configuration and | |||
| operation of IPv4-in-IPv6 softwire Border Relays and Customer Premises | operation of IPv4-in-IPv6 softwire Border Relays and Customer Premises | |||
| Equipment for the Lightweight 4over6, Mapping of Address and Port with | Equipment for the Lightweight 4over6, Mapping of Address and Port with | |||
| Encapsulation (MAP-E), and Mapping of Address and Port using Translation | Encapsulation (MAP-E), and Mapping of Address and Port using Translation | |||
| (MAP-T) softwire mechanisms.</t> | (MAP-T) softwire mechanisms.</t> | |||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <!-- [rfced] Please review the type attribute of each sourcecode element | ||||
| in the XML file to ensure correctness. See | ||||
| https://www.rfc-editor.org/materials/sourcecode-types.txt for the currently | ||||
| defined types. | ||||
| Also, please review each artwork element. Should any artwork element | ||||
| be tagged as sourcecode or another element? | ||||
| --> | ||||
| <middle> | <middle> | |||
| <section anchor="introduction" numbered="true" toc="default"> | <section anchor="introduction" numbered="true" toc="default"> | |||
| <name>Introduction</name> | <name>Introduction</name> | |||
| <t>The IETF Softwire Working Group has developed several IPv4-in-IPv6 | <t>The IETF Softwire Working Group has developed several IPv4-in-IPv6 | |||
| softwire mechanisms to address various deployment contexts and | softwire mechanisms to address various deployment contexts and | |||
| constraints. As a companion to the architectural specification | constraints. As a companion to the architectural specification | |||
| documents, this document focuses on the provisioning of Address plus | documents, this document focuses on the provisioning of Address plus | |||
| Port (A+P) softwire functional elements: Border Routers (BRs) and | Port (A+P) softwire functional elements: Border Routers (BRs) and | |||
| <!-- [rfced] We don't typically see CE as an abbreviation for | <!-- [rfced] We don't typically see CE as an abbreviation for | |||
| "Customer Premises Equipment". The abbreviations list [1] includes the | "Customer Premises Equipment". | |||
| https://www.rfc-editor.org/materials/abbrev.expansion.txt includes the | ||||
| following for CE: | following for CE: | |||
| - Customer Edge (CE) or | - Customer Edge (CE) or | |||
| - Control Element (CE) (RFC 3746) or | - Control Element (CE) (RFC 3746) or | |||
| - Congestion Experienced (CE) | - Congestion Experienced (CE) | |||
| And it shows the following for CPE: | And it shows the following for CPE: | |||
| - Customer Premises Equipment (CPE) | - Customer Premises Equipment (CPE) | |||
| Are CE and CPE commonly considered equivalent? If not, may we globally update | Are CE and CPE commonly considered equivalent? If not, may we globally update | |||
| the document to use CPE? | the document to use CPE? | |||
| [1] https://www.rfc-editor.org/materials/abbrev.expansion.txt | ||||
| --> | --> | |||
| Customer Premises Equipment (CEs, a.k.a., CPE). The softwire mechanisms | Customer Premises Equipment (CEs, a.k.a., CPE). The softwire mechanisms | |||
| covered in this document are Lightweight 4over6 (lw4o6) <xref target="RFC7 596" format="default"/>, Mapping of Address and Port with Encapsulation | covered in this document are Lightweight 4over6 (lw4o6) <xref target="RFC7 596" format="default"/>, Mapping of Address and Port with Encapsulation | |||
| (MAP-E) <xref target="RFC7597" format="default"/>, and Mapping of Address and Port | (MAP-E) <xref target="RFC7597" format="default"/>, and Mapping of Address and Port | |||
| using Translation (MAP-T) <xref target="RFC7599" format="default"/>.</t> | using Translation (MAP-T) <xref target="RFC7599" format="default"/>.</t> | |||
| <t>This document focuses on A+P mechanisms <xref target="RFC6346" format=" default"/>; the reader can refer to <xref target="RFC8513" format="default"/> fo r a YANG module for Dual-Stack Lite (DS-Lite) <xref target="RFC6333" format="def ault"/>.</t> | <t>This document focuses on A+P mechanisms <xref target="RFC6346" format=" default"/>; the reader can refer to <xref target="RFC8513" format="default"/> fo r a YANG module for Dual-Stack Lite (DS-Lite) <xref target="RFC6333" format="def ault"/>.</t> | |||
| <t>This document defines YANG modules <xref target="RFC7950" format="defau lt"/> | <t>This document defines YANG modules <xref target="RFC7950" format="defau lt"/> | |||
| that can be used to configure and manage A+P softwire elements using the | that can be used to configure and manage A+P softwire elements using the | |||
| NETCONF <xref target="RFC6241" format="default"/> or RESTCONF <xref target ="RFC8040" format="default"/> protocols for:</t> | NETCONF <xref target="RFC6241" format="default"/> or RESTCONF <xref target ="RFC8040" format="default"/> protocols for:</t> | |||
| skipping to change at line 120 ¶ | skipping to change at line 131 ¶ | |||
| instances, or MAP-T instances) may have its own configuration and | instances, or MAP-T instances) may have its own configuration and | |||
| parameters. The term 'algo-instance' is used to denote both MAP-E and | parameters. The term 'algo-instance' is used to denote both MAP-E and | |||
| MAP-T instances.</t> | MAP-T instances.</t> | |||
| </section> | </section> | |||
| <section anchor="overview" numbered="true" toc="default"> | <section anchor="overview" numbered="true" toc="default"> | |||
| <name>Overview of the Modules</name> | <name>Overview of the Modules</name> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Overall Structure</name> | <name>Overall Structure</name> | |||
| <t>The document defines the following two YANG modules for the | <t>The document defines the following two YANG modules for the | |||
| configuration and monitoring of softwire functional elements:</t> | configuration and monitoring of softwire functional elements:</t> | |||
| <dl newline="false" spacing="normal" indent="22"> | <ul empty="true"><li> | |||
| <dl newline="true" spacing="normal" indent="3"> | ||||
| <dt>ietf-softwire-ce</dt> | <dt>ietf-softwire-ce</dt> | |||
| <dd>Provides configuration and | <dd>Provides configuration and | |||
| monitoring for softwire CE element. This module is defined as | monitoring for softwire CE element. This module is defined as | |||
| augments to the interface YANG module <xref target="RFC8343" format= "default"/>.</dd> | augments to the interface YANG module <xref target="RFC8343" format= "default"/>.</dd> | |||
| <dt>ietf-softwire-br</dt> | <dt>ietf-softwire-br</dt> | |||
| <dd>Provides configuration and | <dd>Provides configuration and | |||
| monitoring for softwire BR element.</dd> | monitoring for softwire BR element.</dd> | |||
| </dl> | </dl> | |||
| </li> | ||||
| </ul> | ||||
| <t>In addition, the following module is defined:</t> | <t>In addition, the following module is defined:</t> | |||
| <dl newline="false" spacing="normal" indent="22"> | <ul empty="true"><li> | |||
| <dl newline="true" spacing="normal" indent="3"> | ||||
| <dt>ietf-softwire-common</dt> | <dt>ietf-softwire-common</dt> | |||
| <dd>Contains groups of common | <dd>Contains groups of common | |||
| functions that are imported into the CE and BR modules.</dd> | functions that are imported into the CE and BR modules.</dd> | |||
| </dl> | </dl> | |||
| </li> | ||||
| </ul> | ||||
| <t>This approach has been taken so that the various modules can be | <t>This approach has been taken so that the various modules can be | |||
| easily extended to support additional softwire mechanisms, if | easily extended to support additional softwire mechanisms, if | |||
| required.</t> | required.</t> | |||
| <t>Within the BR and CE modules, the YANG "feature" statement is used | <t>Within the BR and CE modules, the YANG "feature" statement is used | |||
| to distinguish which of the different softwire mechanism(s) is | to distinguish which of the different softwire mechanism(s) is | |||
| relevant for a specific element's configuration. For each module, a | relevant for a specific element's configuration. For each module, a | |||
| choice statement 'ce-type' is included for either 'binding' or | choice statement 'ce-type' is included for either 'binding' or | |||
| 'algorithm'. 'Binding' is used for configuring Lightweight 4over6, | 'algorithm'. 'Binding' is used for configuring Lightweight 4over6, | |||
| whereas 'algorithm' is used for configuring MAP-T or MAP-E.</t> | whereas 'algorithm' is used for configuring MAP-T or MAP-E.</t> | |||
| <t>In the 'algo-instances' container, a choice statement 'data-plane' | <t>In the 'algo-instances' container, a choice statement 'data-plane' | |||
| skipping to change at line 176 ¶ | skipping to change at line 193 ¶ | |||
| <td align="center">encapsulation</td> | <td align="center">encapsulation</td> | |||
| </tr> | </tr> | |||
| <tr> | <tr> | |||
| <td align="center">MAP-T</td> | <td align="center">MAP-T</td> | |||
| <td align="center">algorithm</td> | <td align="center">algorithm</td> | |||
| <td align="center">translation</td> | <td align="center">translation</td> | |||
| </tr> | </tr> | |||
| </tbody> | </tbody> | |||
| </table> | </table> | |||
| <t>NETCONF notifications are also included.</t> | <t>NETCONF notifications are also included.</t> | |||
| <ul empty="true" spacing="normal"> | <aside><t>Earlier draft versions of this specification combined the | |||
| <li>Note: Earlier draft versions of this specification combined the | ||||
| softwire mechanisms by their associated technologies rather than | softwire mechanisms by their associated technologies rather than | |||
| their function in the architecture. As the document was revised, | their function in the architecture. As the document was revised, | |||
| it became apparent that dividing the modules by their role in the | it became apparent that dividing the modules by their role in the | |||
| architecture (CE or BR) was a better approach as this follows the | architecture (CE or BR) was a better approach as this follows the | |||
| intended function and existing implementation approaches more | intended function and existing implementation approaches more | |||
| closely.</li> | closely.</t> | |||
| </ul> | </aside> | |||
| </section> | </section> | |||
| <!--[rfced] May we update this section title for clarity? | <!--[rfced] May we update this section title for clarity? | |||
| Original: | Original: | |||
| Additional Components Configuration | Additional Components Configuration | |||
| Perhaps A: | Perhaps A: | |||
| Configuration of Additional Components | Configuration of Additional Components | |||
| Perhaps B: | Perhaps B: | |||
| Additional Configuration for Components | Additional Configuration for Components | |||
| --> | --> | |||
| skipping to change at line 244 ¶ | skipping to change at line 260 ¶ | |||
| <t>This module augments "ietf-interfaces", defined in <xref target="RFC8 343" format="default"/> with an entry for the softwire. This entry | <t>This module augments "ietf-interfaces", defined in <xref target="RFC8 343" format="default"/> with an entry for the softwire. This entry | |||
| can be referenced to configure IPv4 forwarding features for the | can be referenced to configure IPv4 forwarding features for the | |||
| element. This entry is added only if tunnel type (<xref target="iana" fo rmat="default"/>) is set to 'aplusp'.</t> | element. This entry is added only if tunnel type (<xref target="iana" fo rmat="default"/>) is set to 'aplusp'.</t> | |||
| <t><xref target="tree-diagram-ce" format="default"/> shows the tree stru cture of | <t><xref target="tree-diagram-ce" format="default"/> shows the tree stru cture of | |||
| the softwire CE YANG module:</t> | the softwire CE YANG module:</t> | |||
| <!--[rfced] Please confirm the use of "rw enable" as opposed to "rw | <!--[rfced] Please confirm the use of "rw enable" as opposed to "rw | |||
| enabled" in the tree diagrams in Sections 4.1 and 5.1. See also, | enabled" in the tree diagrams in Sections 4.1 and 5.1. See also, | |||
| leaf enable.--> | leaf enable.--> | |||
| <figure anchor="tree-diagram-ce"> | <figure anchor="tree-diagram-ce"> | |||
| <name>Softwire CE YANG Tree Diagram</name> | <name>Softwire CE YANG Tree Diagram</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | <sourcecode name="" type="yangtree"><![CDATA[ | |||
| module: ietf-softwire-ce | module: ietf-softwire-ce | |||
| augment /if:interfaces/if:interface: | augment /if:interfaces/if:interface: | |||
| +--rw softwire-payload-mtu? uint16 | +--rw softwire-payload-mtu? uint16 | |||
| +--rw softwire-path-mru? uint16 | +--rw softwire-path-mru? uint16 | |||
| +--rw (ce-type)? | +--rw (ce-type)? | |||
| +--:(binding) {binding-mode}? | +--:(binding) {binding-mode}? | |||
| | +--rw binding-ipv6info? union | | +--rw binding-ipv6info? union | |||
| | +--rw br-ipv6-addr inet:ipv6-address | | +--rw br-ipv6-addr inet:ipv6-address | |||
| +--:(algo) {map-e or map-t}? | +--:(algo) {map-e or map-t}? | |||
| +--rw algo-instances | +--rw algo-instances | |||
| skipping to change at line 315 ¶ | skipping to change at line 331 ¶ | |||
| +--ro out-icmpv4-error-bytes? | +--ro out-icmpv4-error-bytes? | |||
| | yang:zero-based-counter64 | | yang:zero-based-counter64 | |||
| +--ro out-icmpv6-error-packets? | +--ro out-icmpv6-error-packets? | |||
| | yang:zero-based-counter64 | | yang:zero-based-counter64 | |||
| +--ro out-icmpv6-error-bytes? | +--ro out-icmpv6-error-bytes? | |||
| yang:zero-based-counter64 | yang:zero-based-counter64 | |||
| notifications: | notifications: | |||
| +---n softwire-ce-event {binding-mode}? | +---n softwire-ce-event {binding-mode}? | |||
| +--ro ce-binding-ipv6-addr-change inet:ipv6-address | +--ro ce-binding-ipv6-addr-change inet:ipv6-address | |||
| ]]></artwork> | ]]></sourcecode> | |||
| </figure> | </figure> | |||
| </section> | </section> | |||
| <section anchor="tree-diagram-ce-desc" numbered="true" toc="default"> | <section anchor="tree-diagram-ce-desc" numbered="true" toc="default"> | |||
| <name>Softwire CE Tree Diagram Description</name> | <name>Softwire CE Tree Diagram Description</name> | |||
| <t>Additional information related to the operation of a CE element is | <t>Additional information related to the operation of a CE element is | |||
| provided below:</t> | provided below:</t> | |||
| <!--[rfced] We have moved the expansion of MTU to the first use and expa nded | <!--[rfced] We have moved the expansion of MTU to the first use and expa nded | |||
| it as "Maximum Transmission Unit" (as opposed to Maximum Transit Unit). | it as "Maximum Transmission Unit" (as opposed to Maximum Transit Unit). | |||
| Please let us know if any corrections are required. | Please let us know if any corrections are required. | |||
| skipping to change at line 331 ¶ | skipping to change at line 347 ¶ | |||
| provided below:</t> | provided below:</t> | |||
| <!--[rfced] We have moved the expansion of MTU to the first use and expa nded | <!--[rfced] We have moved the expansion of MTU to the first use and expa nded | |||
| it as "Maximum Transmission Unit" (as opposed to Maximum Transit Unit). | it as "Maximum Transmission Unit" (as opposed to Maximum Transit Unit). | |||
| Please let us know if any corrections are required. | Please let us know if any corrections are required. | |||
| Original: | Original: | |||
| o softwire-payload-mtu: optionally used to set the IPv4 MTU for the | o softwire-payload-mtu: optionally used to set the IPv4 MTU for the | |||
| softwire. Needed if the softwire implementation is unable to | softwire. Needed if the softwire implementation is unable to | |||
| correctly calculate the correct IPv4 Maximum Transit Unit (MTU) | correctly calculate the correct IPv4 Maximum Transit Unit (MTU) | |||
| size automatically. | size automatically. | |||
| --> | --> | |||
| <ul spacing="normal"> | <ul empty="true"><li> | |||
| <li>softwire-payload-mtu: optionally used to set the IPv4 Maximum Tran | <dl newline="true" indent="3"> | |||
| smission Unit (MTU) for | <dt>softwire-payload-mtu:</dt><dd>optionally used to set the IPv4 Maxi | |||
| mum Transmission Unit (MTU) for | ||||
| the softwire. Needed if the softwire implementation is unable to | the softwire. Needed if the softwire implementation is unable to | |||
| correctly calculate the correct IPv4 MTU | correctly calculate the correct IPv4 MTU | |||
| size automatically.</li> | size automatically.</dd> | |||
| <li>softwire-path-mru: optionally used to set the maximum IPv6 | <dt>softwire-path-mru:</dt><dd>optionally used to set the maximum IPv6 | |||
| softwire packet size that can be received, including the | softwire packet size that can be received, including the | |||
| encapsulation/translation overhead. Needed if the softwire | encapsulation/translation overhead. Needed if the softwire | |||
| implementation is unable to correctly calculate the correct IPv4 | implementation is unable to correctly calculate the correct IPv4 | |||
| payload Maximum Receive Unit (MRU) size automatically (see Section | payload Maximum Receive Unit (MRU) size automatically (see <xref tar | |||
| 3.2 of <xref target="RFC4213" format="default"/>).</li> | get="RFC4213" sectionFormat="of" section="3.2" format="default"/>).</dd> | |||
| <li>ce-type: provides a choice statement allowing the binding or | <dt>ce-type:</dt><dd>provides a choice statement allowing the binding | |||
| algorithmic softwire mechanisms to be selected.</li> | or | |||
| </ul> | algorithmic softwire mechanisms to be selected.</dd> | |||
| </dl> | ||||
| </li> | ||||
| </ul> | ||||
| <t>Further details relevant to binding softwire elements are as follows: </t> | <t>Further details relevant to binding softwire elements are as follows: </t> | |||
| <ul spacing="normal"> | <ul empty="true"><li> | |||
| <li>binding-ipv6info: used to set the IPv6 binding prefix type to | <dl spacing="normal" newline="true"> | |||
| <dt>binding-ipv6info:</dt><dd>used to set the IPv6 binding prefix type | ||||
| to | ||||
| identify which IPv6 address to use as the tunnel source. It can be | identify which IPv6 address to use as the tunnel source. It can be | |||
| 'ipv6-prefix' or 'ipv6-address'.</li> | 'ipv6-prefix' or 'ipv6-address'.</dd> | |||
| <li>br-ipv6-addr: sets the IPv6 address of the remote BR.</li> | <dt>br-ipv6-addr:</dt><dd>sets the IPv6 address of the remote BR.</dd> | |||
| </ul> | </dl> | |||
| </li> | ||||
| </ul> | ||||
| <t>Additional details relevant to some of the important algorithmic | <t>Additional details relevant to some of the important algorithmic | |||
| elements are provided below:</t> | elements are provided below:</t> | |||
| <ul spacing="normal"> | <ul empty="true"><li> | |||
| <li>algo-versioning: optionally used to associate a version number | <dl spacing="normal" newline="true"> | |||
| <dt>algo-versioning:</dt><dd>optionally used to associate a version nu | ||||
| mber | ||||
| and/or timestamp to the algorithm. This can be used for | and/or timestamp to the algorithm. This can be used for | |||
| logging/data retention purposes <xref target="RFC7422" format="defau lt"/>. | logging/data retention purposes <xref target="RFC7422" format="defau lt"/>. | |||
| The version number is selected to uniquely identify the algorithm | The version number is selected to uniquely identify the algorithm | |||
| configuration and a new value written whenever a change is made to | configuration and a new value written whenever a change is made to | |||
| the algorithm or a new algo-instance is created.</li> | the algorithm or a new algo-instance is created.</dd> | |||
| <li>forwarding: specifies whether the rule can be used as a Forwarding | <dt>forwarding:</dt><dd>specifies whether the rule can be used as a Fo | |||
| rwarding | ||||
| Mapping Rule (FMR). If not set, this rule is a Basic Mapping Rule | Mapping Rule (FMR). If not set, this rule is a Basic Mapping Rule | |||
| (BMR) only and must not be used for forwarding. Refer to Section | (BMR) only and must not be used for forwarding. Refer to <xref targe | |||
| 4.1 of <xref target="RFC7598" format="default"/>.</li> | t="RFC7598" format="default" sectionFormat="of" section="4.1"/>.</dd> | |||
| <li>ea-len: used to set the length of the Embedded-Address (EA), | <dt>ea-len:</dt><dd>used to set the length of the Embedded-Address (EA | |||
| which is defined in the mapping rule for a MAP domain.</li> | ), | |||
| <li>data-plane: provides a choice statement for either | which is defined in the mapping rule for a MAP domain.</dd> | |||
| encapsulation (MAP-E) or translation (MAP-T).</li> | <dt>data-plane:</dt><dd>provides a choice statement for either | |||
| <li>br-ipv6-addr: defines the IPv6 address of the BR. This | encapsulation (MAP-E) or translation (MAP-T).</dd> | |||
| information is valid for MAP-E.</li> | <dt>br-ipv6-addr:</dt><dd>defines the IPv6 address of the BR. This | |||
| <li>dmr-ipv6-prefix: defines the Default Mapping Rule (DMR) IPv6 | information is valid for MAP-E.</dd> | |||
| prefix of the BR. This information is valid for MAP-T.</li> | <dt>dmr-ipv6-prefix:</dt><dd>defines the Default Mapping Rule (DMR) IP | |||
| </ul> | v6 | |||
| prefix of the BR. This information is valid for MAP-T.</dd> | ||||
| </dl> | ||||
| </li> | ||||
| </ul> | ||||
| <t>Additional information on the notification node is listed | <t>Additional information on the notification node is listed | |||
| below:</t> | below:</t> | |||
| <ul spacing="normal"> | <ul empty="true"><li> | |||
| <li>ce-binding-ipv6-addr-change: if the CE's binding IPv6 address | <dl spacing="normal" newline="true"> | |||
| changes for any reason, the NETCONF client will be notified.</li> | <dt>ce-binding-ipv6-addr-change:</dt><dd>if the CE's binding IPv6 addr | |||
| </ul> | ess | |||
| changes for any reason, the NETCONF client will be notified.</dd> | ||||
| </dl> | ||||
| </li> | ||||
| </ul> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="br-tree-diagram" numbered="true" toc="default"> | <section anchor="br-tree-diagram" numbered="true" toc="default"> | |||
| <name>Softwire BR YANG Tree Diagram</name> | <name>Softwire BR YANG Tree Diagram</name> | |||
| <section anchor="br-tree-diagram-com" numbered="true" toc="default"> | <section anchor="br-tree-diagram-com" numbered="true" toc="default"> | |||
| <name>BR Tree Diagram</name> | <name>BR Tree Diagram</name> | |||
| <t>The BR YANG module provides configuration and monitoring for all of | <t>The BR YANG module provides configuration and monitoring for all of | |||
| the softwire mechanisms covered in this document (i.e., Lightweight | the softwire mechanisms covered in this document (i.e., Lightweight | |||
| 4over6, MAP-E, and MAP-T).</t> | 4over6, MAP-E, and MAP-T).</t> | |||
| <t><xref target="br-structure" format="default"/> provides the tree stru cture of | <t><xref target="br-structure" format="default"/> provides the tree stru cture of | |||
| this module:</t> | this module:</t> | |||
| <!--[rfced] Please review the alginment of the tree diagram in Section 5 .1. | <!--[rfced] Please review the alginment of the tree diagram in Section 5 .1. | |||
| We believe the text should line up under the "d" in "module" per the | We believe the text should line up under the "d" in "module" per the | |||
| guidance of Section 2 of RFC 8340. --> | guidance of Section 2 of RFC 8340. --> | |||
| <figure anchor="br-structure"> | <figure anchor="br-structure"> | |||
| <name>Softwire BR YANG Tree</name> | <name>Softwire BR YANG Tree</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | <sourcecode name="" type="yangtree"><![CDATA[ | |||
| module: ietf-softwire-br | module: ietf-softwire-br | |||
| +--rw br-instances | +--rw br-instances | |||
| +--rw (br-type)? | +--rw (br-type)? | |||
| +--:(binding) {binding-mode}? | +--:(binding) {binding-mode}? | |||
| | +--rw binding | | +--rw binding | |||
| | +--rw bind-instance* [name] | | +--rw bind-instance* [name] | |||
| | +--rw name string | | +--rw name string | |||
| | +--rw binding-table-versioning | | +--rw binding-table-versioning | |||
| | | +--rw version? uint64 | | | +--rw version? uint64 | |||
| | | +--rw date? yang:date-and-time | | | +--rw date? yang:date-and-time | |||
| skipping to change at line 565 ¶ | skipping to change at line 590 ¶ | |||
| +---n softwire-algorithm-instance-event {map-e, map-t}? | +---n softwire-algorithm-instance-event {map-e, map-t}? | |||
| +--ro algo-name | +--ro algo-name | |||
| | -> /br-instances/algorithm/algo-instance/name | | -> /br-instances/algorithm/algo-instance/name | |||
| +--ro invalid-entry-id* | +--ro invalid-entry-id* | |||
| | -> /br-instances/algorithm/algo-instance/name | | -> /br-instances/algorithm/algo-instance/name | |||
| +--ro added-entry* | +--ro added-entry* | |||
| | -> /br-instances/algorithm/algo-instance/name | | -> /br-instances/algorithm/algo-instance/name | |||
| +--ro modified-entry* | +--ro modified-entry* | |||
| -> /br-instances/algorithm/algo-instance/name | -> /br-instances/algorithm/algo-instance/name | |||
| ]]></artwork> | ]]></sourcecode> | |||
| </figure> | </figure> | |||
| </section> | </section> | |||
| <section anchor="tree-diagram-br-desc" numbered="true" toc="default"> | <section anchor="tree-diagram-br-desc" numbered="true" toc="default"> | |||
| <name>Softwire BR Tree Diagram Description</name> | <name>Softwire BR Tree Diagram Description</name> | |||
| <t>The descriptions for leaves that are common with the CE module are | <t>The descriptions for leaves that are common with the CE module are | |||
| provided in <xref target="tree-diagram-ce-desc" format="default"/>. Desc riptions | provided in <xref target="tree-diagram-ce-desc" format="default"/>. Desc riptions | |||
| for additional elements are provided below:</t> | for additional elements are provided below:</t> | |||
| <ul spacing="normal"> | <ul empty="true" spacing="normal"><li> | |||
| <li>binding-table-versioning: optionally used to associate a | <dl newline="true" indent="3"><dt>binding-table-versioning:</dt><dd>optio | |||
| nally used to associate a | ||||
| version number and/or timestamp to the binding table. This can be | version number and/or timestamp to the binding table. This can be | |||
| used for logging or data retention purposes <xref target="RFC7422" f ormat="default"/>. The version number is selected to | used for logging or data retention purposes <xref target="RFC7422" f ormat="default"/>. The version number is selected to | |||
| uniquely identify the binding table configuration and a new | uniquely identify the binding table configuration and a new | |||
| timestamp value written whenever a change is made to the contents | timestamp value written whenever a change is made to the contents | |||
| of the binding table or a new binding table list is created.</li> | of the binding table or a new binding table list is created.</dd> | |||
| <li>binding-entry: used to define the binding relationship between | <dt>binding-entry:</dt><dd>used to define the binding relationship bet | |||
| ween | ||||
| 3-tuples {lwB4's IPv6 address/prefix, the allocated IPv4 address, | 3-tuples {lwB4's IPv6 address/prefix, the allocated IPv4 address, | |||
| restricted port-set}. For detailed information, please refer t o | restricted port-set}. For detailed information, please refer t o | |||
| <xref target="RFC7596" format="default"/>.</li> | <xref target="RFC7596" format="default"/>.</dd> | |||
| <li>softwire-num-max: used to set the maximum number of softwire | <dt>softwire-num-max:</dt><dd>used to set the maximum number of softwi | |||
| re | ||||
| binding rules that can be created on the lw4o6 element | binding rules that can be created on the lw4o6 element | |||
| simultaneously. This parameter must not be set to zero because this | simultaneously. This parameter must not be set to zero because this | |||
| is equivalent to disabling the BR instance.</li> | is equivalent to disabling the BR instance.</dd> | |||
| <li>active-softwire-num: holds the number of softwires currently | <dt>active-softwire-num:</dt><dd>holds the number of softwires current | |||
| provisioned on the BR element.</li> | ly | |||
| provisioned on the BR element.</dd> | ||||
| <!--- | <!--- | |||
| <t>active (ro): used to show the status of particular | <t>active (ro): used to show the status of particular | |||
| binding-entry.</t> | binding-entry.</t> | |||
| IF - Commented out as it isn't in the model any more. I forget what the | IF - Commented out as it isn't in the model any more. I forget what the | |||
| intended use for this was. Should it be put back in the model, or can | intended use for this was. Should it be put back in the model, or can | |||
| this descrtiption be removed? | this descrtiption be removed? | |||
| --> | --> | |||
| </dl></li> | ||||
| </ul> | </ul> | |||
| <t>Additional information on some of the important notification nodes | <t>Additional information on some of the important notification nodes | |||
| is listed below:</t> | is listed below:</t> | |||
| <ul spacing="normal"> | <ul empty="true" spacing="normal"><li> | |||
| <li>invalid-entry, added-entry, modified-entry: used to notify the | <dl newline="true" indent="3"><dt>invalid-entry, added-entry, modified-entry:</d | |||
| t><dd>used to notify the | ||||
| NETCONF client that a specific binding entry or MAP rule has | NETCONF client that a specific binding entry or MAP rule has | |||
| expired, been invalidated, added, or modified.</li> | expired, been invalidated, added, or modified.</dd> | |||
| </dl></li> | ||||
| </ul> | </ul> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="ce-yang-module" numbered="true" toc="default"> | <section anchor="ce-yang-module" numbered="true" toc="default"> | |||
| <name>Softwire CE YANG Module</name> | <name>Softwire CE YANG Module</name> | |||
| <t>This module imports the modules defined in <xref target="RFC6991" forma | <t>This module imports the modules defined in <xref target="RFC6991" | |||
| t="default"/>, <xref target="RFC8343" format="default"/>, and <xref target="RFC7 | format="default"/>, <xref target="RFC8343" format="default"/>, and <xref | |||
| 224" format="default"/>. It also imports the 'ietf-softwire-common' and | target="RFC7224" format="default"/>. It also imports the | |||
| 'iana-tunnel-type' modules <xref target="RFC8675" format="default"/>.</t> | 'ietf-softwire-common' and 'iana-tunnel-type' modules <xref target="RFC867 | |||
| <sourcecode name="" type="" markers="true"><![CDATA[file "ietf-softwire-ce | 5" | |||
| @2019-01-11.yang" | format="default"/>.</t> | |||
| <!-- [rfced] Please note that the yang modules have been updated per the | ||||
| formatting feature of pyang. Each of the modules parse successfully. | ||||
| However, we get the following warning for ietf-softwire-ce.yang; please let us | ||||
| know if any updates are needed. | ||||
| ietf-softwire-ce.yang:20: warning: imported module "iana-tunnel-type" not use | ||||
| d | ||||
| --> | ||||
| <sourcecode name="ietf-softwire-ce@2019-10-28.yang" type="yang" markers="t | ||||
| rue"><![CDATA[ | ||||
| module ietf-softwire-ce { | module ietf-softwire-ce { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-softwire-ce"; | namespace "urn:ietf:params:xml:ns:yang:ietf-softwire-ce"; | |||
| prefix softwire-ce; | prefix softwire-ce; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference "RFC 6991: Common YANG Data Types, Section 4"; | reference | |||
| "RFC 6991: Common YANG Data Types, Section 4"; | ||||
| } | } | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix if; | prefix if; | |||
| reference "RFC 8343: A YANG Data Model for Interface Management"; | reference | |||
| "RFC 8343: A YANG Data Model for Interface Management"; | ||||
| } | } | |||
| import ietf-softwire-common { | import ietf-softwire-common { | |||
| prefix softwire-common; | prefix softwire-common; | |||
| reference | reference | |||
| "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port | "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port | |||
| Softwires"; | Softwires"; | |||
| } | } | |||
| import iana-tunnel-type { | import iana-tunnel-type { | |||
| prefix iana-tunnel-type; | prefix iana-tunnel-type; | |||
| reference | reference | |||
| "RFC 8675: Tunnel Interface Types YANG Module"; | "RFC 8675: Tunnel Interface Types YANG Module"; | |||
| } | } | |||
| organization | organization | |||
| "IETF Softwire Working Group"; | "IETF Softwire Working Group"; | |||
| contact | contact | |||
| skipping to change at line 682 ¶ | skipping to change at line 721 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 8676; see | This version of this YANG module is part of RFC 8676; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| revision 2019-01-11 { | revision 2019-10-28 { | |||
| description | description | |||
| "Initial revision"; | "Initial revision"; | |||
| reference | reference | |||
| "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port | "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port | |||
| Softwires"; | (A+P) Softwires"; | |||
| } | } | |||
| /* | /* | |||
| * Features | * Features | |||
| */ | */ | |||
| feature binding-mode { | feature binding-mode { | |||
| description | description | |||
| "Binding is used for configuring the Lightweight 4over6 mechanism. | "Binding is used for configuring the Lightweight 4over6 mechanism. | |||
| skipping to change at line 713 ¶ | skipping to change at line 752 ¶ | |||
| This is accomplished by maintaining state for each softwire | This is accomplished by maintaining state for each softwire | |||
| (per-subscriber state) in the central Border Relay (BR) and using | (per-subscriber state) in the central Border Relay (BR) and using | |||
| a hub-and-spoke forwarding architecture. In order to delegate | a hub-and-spoke forwarding architecture. In order to delegate | |||
| the NAPT function and achieve IPv4 address sharing, | the NAPT function and achieve IPv4 address sharing, | |||
| port-restricted IPv4 addresses needs to be allocated to CEs. | port-restricted IPv4 addresses needs to be allocated to CEs. | |||
| This feature indicates that the network element can function as | This feature indicates that the network element can function as | |||
| one or more binding-based softwire instances."; | one or more binding-based softwire instances."; | |||
| reference | reference | |||
| "RFC 7596: Lightweight 4over6: An Extension to the Dual-Stack Lite | "RFC 7596: Lightweight 4over6: An Extension to the Dual-Stack Lite | |||
| Architecture | Architecture | |||
| RFC 7597: Mapping of Address and Port with Encapsulation (MAP-E) | RFC 7597: Mapping of Address and Port with Encapsulation (MAP-E) | |||
| RFC 7599: Mapping of Address and Port using Translation (MAP-T)"; | RFC 7599: Mapping of Address and Port using Translation (MAP-T)"; | |||
| } | } | |||
| feature map-e { | feature map-e { | |||
| description | description | |||
| "MAP-E is an IPv6 transition mechanism for transporting IPv4 | "MAP-E is an IPv6 transition mechanism for transporting IPv4 | |||
| packets across an IPv6 network using IP encapsulation. MAP-E | packets across an IPv6 network using IP encapsulation. MAP-E | |||
| allows for a reduction of the amount of centralized state using | allows for a reduction of the amount of centralized state using | |||
| rules to express IPv4/IPv6 address mappings. This introduces an | rules to express IPv4/IPv6 address mappings. This introduces an | |||
| skipping to change at line 770 ¶ | skipping to change at line 809 ¶ | |||
| description | description | |||
| "The IPv6 information for a binding entry. | "The IPv6 information for a binding entry. | |||
| When the IPv6 prefix type is used, | When the IPv6 prefix type is used, | |||
| the IPv6 source address of the CE is constructed | the IPv6 source address of the CE is constructed | |||
| according to the description in RFC 7596. | according to the description in RFC 7596. | |||
| If the IPv6 address type is used, the CE can use | If the IPv6 address type is used, the CE can use | |||
| any valid /128 address from a prefix assigned to | any valid /128 address from a prefix assigned to | |||
| the CE."; | the CE."; | |||
| reference "RFC 7596: Lightweight 4over6: An Extension | reference | |||
| to the Dual-Stack Lite Architecture, Section 5.1"; | "RFC 7596: Lightweight 4over6: An Extension | |||
| to the Dual-Stack Lite Architecture, Section 5.1"; | ||||
| } | } | |||
| leaf br-ipv6-addr { | leaf br-ipv6-addr { | |||
| type inet:ipv6-address; | type inet:ipv6-address; | |||
| mandatory true; | mandatory true; | |||
| description | description | |||
| "The IPv6 address of the binding BR"; | "The IPv6 address of the binding BR"; | |||
| } | } | |||
| } | } | |||
| // configuration and stateful parameters for softwire CE interface | // configuration and stateful parameters for softwire CE interface | |||
| skipping to change at line 801 ¶ | skipping to change at line 841 ¶ | |||
| "The payload IPv4 MTU for the softwire tunnel"; | "The payload IPv4 MTU for the softwire tunnel"; | |||
| } | } | |||
| leaf softwire-path-mru { | leaf softwire-path-mru { | |||
| type uint16; | type uint16; | |||
| units "bytes"; | units "bytes"; | |||
| description | description | |||
| "The path MRU for the softwire (payload + encapsulation | "The path MRU for the softwire (payload + encapsulation | |||
| overhead)"; | overhead)"; | |||
| reference | reference | |||
| "RFC 4213: Basic Transition Mechanisms for IPv6 Hosts and | "RFC 4213: Basic Transition Mechanisms for IPv6 Hosts and | |||
| Routers"; | Routers"; | |||
| } | } | |||
| choice ce-type { | choice ce-type { | |||
| description | description | |||
| "Sets the softwire CE mechanism"; | "Sets the softwire CE mechanism"; | |||
| case binding { | case binding { | |||
| if-feature "binding-mode"; | if-feature "binding-mode"; | |||
| description | description | |||
| "CE binding configuration"; | "CE binding configuration"; | |||
| uses binding-entry; | uses binding-entry; | |||
| } | } | |||
| skipping to change at line 870 ¶ | skipping to change at line 910 ¶ | |||
| address changes for any reason."; | address changes for any reason."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| ]]></sourcecode> | ]]></sourcecode> | |||
| </section> | </section> | |||
| <section anchor="br-yang-module" numbered="true" toc="default"> | <section anchor="br-yang-module" numbered="true" toc="default"> | |||
| <name>BR Softwire YANG Module</name> | <name>BR Softwire YANG Module</name> | |||
| <t>This module imports typedefs from <xref target="RFC6991" format="defaul t"/>. It | <t>This module imports typedefs from <xref target="RFC6991" format="defaul t"/>. It | |||
| also imports the 'ietf-softwire-common' module.</t> | also imports the 'ietf-softwire-common' module.</t> | |||
| <sourcecode name="" type="" markers="true"><![CDATA[file "ietf-softwire-br | <sourcecode name="ietf-softwire-br@2019-10-28.yang" type="yang" markers="t | |||
| @2019-01-11.yang" | rue"><![CDATA[ | |||
| module ietf-softwire-br { | module ietf-softwire-br { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-softwire-br"; | namespace "urn:ietf:params:xml:ns:yang:ietf-softwire-br"; | |||
| prefix softwire-br; | prefix softwire-br; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference "RFC 6991: Common YANG Data Types, Section 4"; | reference | |||
| "RFC 6991: Common YANG Data Types, Section 4"; | ||||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| reference "RFC 6991: Common YANG Data Types, Section 3"; | reference | |||
| "RFC 6991: Common YANG Data Types, Section 3"; | ||||
| } | } | |||
| import ietf-softwire-common { | import ietf-softwire-common { | |||
| prefix softwire-common; | prefix softwire-common; | |||
| reference | reference | |||
| "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port | "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port | |||
| Softwires"; | (A+P) Softwires"; | |||
| } | } | |||
| organization | organization | |||
| "IETF Softwire Working Group"; | "IETF Softwire Working Group"; | |||
| contact | contact | |||
| "WG Web: <https://datatracker.ietf.org/wg/softwire/> | "WG Web: <https://datatracker.ietf.org/wg/softwire/> | |||
| WG List: <mailto:softwire@ietf.org> | WG List: <mailto:softwire@ietf.org> | |||
| Author: Qi Sun | Author: Qi Sun | |||
| <mailto:sunqi.ietf@gmail.com> | <mailto:sunqi.ietf@gmail.com> | |||
| skipping to change at line 937 ¶ | skipping to change at line 978 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 8676; see | This version of this YANG module is part of RFC 8676; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| revision 2019-01-11 { | revision 2019-10-28 { | |||
| description | description | |||
| "Initial revision"; | "Initial revision"; | |||
| reference | reference | |||
| "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port | "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port | |||
| Softwires"; | (A+P) Softwires"; | |||
| } | } | |||
| /* | /* | |||
| * Groupings | * Groupings | |||
| */ | */ | |||
| grouping port-set { | grouping port-set { | |||
| description | description | |||
| "Describes a set of Layer 4 port numbers. | "Describes a set of Layer 4 port numbers. | |||
| skipping to change at line 1009 ¶ | skipping to change at line 1050 ¶ | |||
| description | description | |||
| "The IPv6 information for a CE binding entry. | "The IPv6 information for a CE binding entry. | |||
| When the IPv6 prefix type is used, | When the IPv6 prefix type is used, | |||
| the IPv6 source address of the CE is constructed | the IPv6 source address of the CE is constructed | |||
| according to the description in RFC 7596; | according to the description in RFC 7596; | |||
| if the IPv6 address type is used, the CE can use | if the IPv6 address type is used, the CE can use | |||
| any valid /128 address from a prefix assigned to | any valid /128 address from a prefix assigned to | |||
| the CE."; | the CE."; | |||
| reference | reference | |||
| "RFC 7596: Lightweight 4over6: An Extension to the Dual-Stack | "RFC 7596: Lightweight 4over6: An Extension to the Dual-Stack | |||
| Lite Architecture"; | Lite Architecture"; | |||
| } | } | |||
| leaf binding-ipv4-addr { | leaf binding-ipv4-addr { | |||
| type inet:ipv4-address; | type inet:ipv4-address; | |||
| description | description | |||
| "The IPv4 address assigned to the binding CE, | "The IPv4 address assigned to the binding CE, | |||
| which is used as the IPv4 external address | which is used as the IPv4 external address | |||
| for binding CE local NAPT44"; | for binding CE local NAPT44"; | |||
| } | } | |||
| container port-set { | container port-set { | |||
| description | description | |||
| skipping to change at line 1059 ¶ | skipping to change at line 1100 ¶ | |||
| This is accomplished by maintaining state for each softwire | This is accomplished by maintaining state for each softwire | |||
| (per-subscriber state) in the central Border Relay (BR) and using | (per-subscriber state) in the central Border Relay (BR) and using | |||
| a hub-and-spoke forwarding architecture. In order to delegate | a hub-and-spoke forwarding architecture. In order to delegate | |||
| the NAPT function and achieve IPv4 address sharing, | the NAPT function and achieve IPv4 address sharing, | |||
| port-restricted IPv4 addresses needs to be allocated to CEs. | port-restricted IPv4 addresses needs to be allocated to CEs. | |||
| This feature indicates that the network element can function as | This feature indicates that the network element can function as | |||
| one or more binding-based softwire instances."; | one or more binding-based softwire instances."; | |||
| reference | reference | |||
| "RFC 7596: Lightweight 4over6: An Extension to the Dual-Stack Lite | "RFC 7596: Lightweight 4over6: An Extension to the Dual-Stack Lite | |||
| Architecture | Architecture | |||
| RFC 7597: Mapping of Address and Port with Encapsulation (MAP-E) | RFC 7597: Mapping of Address and Port with Encapsulation (MAP-E) | |||
| RFC 7599: Mapping of Address and Port using Translation (MAP-T)"; | RFC 7599: Mapping of Address and Port using Translation (MAP-T)"; | |||
| } | } | |||
| feature map-e { | feature map-e { | |||
| description | description | |||
| "MAP-E is an IPv6 transition mechanism for transporting IPv4 | "MAP-E is an IPv6 transition mechanism for transporting IPv4 | |||
| packets across an IPv6 network using IP encapsulation. MAP-E | packets across an IPv6 network using IP encapsulation. MAP-E | |||
| allows for a reduction of the amount of centralized state using | allows for a reduction of the amount of centralized state using | |||
| rules to express IPv4/IPv6 address mappings. This introduces an | rules to express IPv4/IPv6 address mappings. This introduces an | |||
| skipping to change at line 1142 ¶ | skipping to change at line 1183 ¶ | |||
| victim of abuse presents an external IP address/port, | victim of abuse presents an external IP address/port, | |||
| the version of the binding table is important | the version of the binding table is important | |||
| because, depending on the version, a distinct | because, depending on the version, a distinct | |||
| customer may be identified. | customer may be identified. | |||
| The timestamp is used as a key to find the | The timestamp is used as a key to find the | |||
| appropriate binding table that was put into effect | appropriate binding table that was put into effect | |||
| when an abuse occurred."; | when an abuse occurred."; | |||
| reference | reference | |||
| "RFC 7422: Deterministic Address Mapping to Reduce | "RFC 7422: Deterministic Address Mapping to Reduce | |||
| Logging in Carrier-Grade NAT Deployments"; | Logging in Carrier-Grade NAT Deployments"; | |||
| } | } | |||
| } | } | |||
| leaf softwire-num-max { | leaf softwire-num-max { | |||
| type uint32 { | type uint32 { | |||
| range "1..max"; | range "1..max"; | |||
| } | } | |||
| mandatory true; | mandatory true; | |||
| description | description | |||
| "The maximum number of softwires that can be created | "The maximum number of softwires that can be created | |||
| on the binding BR"; | on the binding BR"; | |||
| skipping to change at line 1177 ¶ | skipping to change at line 1218 ¶ | |||
| reference | reference | |||
| "RFC 4213: Basic Transition Mechanisms for IPv6 Hosts | "RFC 4213: Basic Transition Mechanisms for IPv6 Hosts | |||
| and Routers"; | and Routers"; | |||
| } | } | |||
| leaf enable-hairpinning { | leaf enable-hairpinning { | |||
| type boolean; | type boolean; | |||
| default "true"; | default "true"; | |||
| description | description | |||
| "Enables/disables support for locally forwarding | "Enables/disables support for locally forwarding | |||
| (hairpinning) traffic between two CEs"; | (hairpinning) traffic between two CEs"; | |||
| reference "RFC 7596: Lightweight 4over6: An Extension to | reference | |||
| the Dual-Stack Lite Architecture, Section 6.2"; | "RFC 7596: Lightweight 4over6: An Extension to | |||
| the Dual-Stack Lite Architecture, Section 6.2"; | ||||
| } | } | |||
| container binding-table { | container binding-table { | |||
| description | description | |||
| "binding table"; | "binding table"; | |||
| list binding-entry { | list binding-entry { | |||
| key "binding-ipv6info"; | key "binding-ipv6info"; | |||
| description | description | |||
| "binding entry"; | "binding entry"; | |||
| uses binding-entry; | uses binding-entry; | |||
| } | } | |||
| skipping to change at line 1206 ¶ | skipping to change at line 1248 ¶ | |||
| description | description | |||
| "ICMPv4 error processing configuration"; | "ICMPv4 error processing configuration"; | |||
| leaf allow-incoming-icmpv4 { | leaf allow-incoming-icmpv4 { | |||
| type boolean; | type boolean; | |||
| default "true"; | default "true"; | |||
| description | description | |||
| "Enables the processing of incoming ICMPv4 | "Enables the processing of incoming ICMPv4 | |||
| packets"; | packets"; | |||
| reference | reference | |||
| "RFC 7596: Lightweight 4over6: An Extension to | "RFC 7596: Lightweight 4over6: An Extension to | |||
| the Dual-Stack Lite Architecture"; | the Dual-Stack Lite Architecture"; | |||
| } | } | |||
| leaf icmpv4-rate { | leaf icmpv4-rate { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "Rate limit threshold in messages per second | "Rate limit threshold in messages per second | |||
| for processing incoming ICMPv4 errors messages"; | for processing incoming ICMPv4 errors messages"; | |||
| } | } | |||
| leaf generate-icmpv4-errors { | leaf generate-icmpv4-errors { | |||
| type boolean; | type boolean; | |||
| default "true"; | default "true"; | |||
| description | description | |||
| "Enables the generation of outgoing ICMPv4 error | "Enables the generation of outgoing ICMPv4 error | |||
| messages on receipt of an inbound IPv4 packet | messages on receipt of an inbound IPv4 packet | |||
| with no matching binding table entry"; | with no matching binding table entry"; | |||
| reference "RFC 7596: Lightweight 4over6: | reference | |||
| "RFC 7596: Lightweight 4over6: | ||||
| An Extension to the Dual-Stack Lite | An Extension to the Dual-Stack Lite | |||
| Architecture, Section 5.2"; | Architecture, Section 5.2"; | |||
| } | } | |||
| } | } | |||
| container icmpv6-errors { | container icmpv6-errors { | |||
| description | description | |||
| "ICMPv6 error processing configuration"; | "ICMPv6 error processing configuration"; | |||
| leaf generate-icmpv6-errors { | leaf generate-icmpv6-errors { | |||
| type boolean; | type boolean; | |||
| default "true"; | default "true"; | |||
| description | description | |||
| "Enables the generation of ICMPv6 error messages if | "Enables the generation of ICMPv6 error messages if | |||
| no matching binding table entry is found for a | no matching binding table entry is found for a | |||
| received packet"; | received packet"; | |||
| reference "RFC 7596: Lightweight 4over 6: | reference | |||
| "RFC 7596: Lightweight 4over 6: | ||||
| 4over 6: An Extension to the Dual-Stack Lite | 4over 6: An Extension to the Dual-Stack Lite | |||
| Architecture, Section 6.2"; | Architecture, Section 6.2"; | |||
| } | } | |||
| leaf icmpv6-rate { | leaf icmpv6-rate { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "Rate limit threshold in messages per second | "Rate limit threshold in messages per second | |||
| for sending ICMPv6 errors messages"; | for sending ICMPv6 errors messages"; | |||
| reference "RFC 7596: Lightweight 4over6: An Extension | reference | |||
| to the Dual-Stack Lite Architecture, | "RFC 7596: Lightweight 4over6: An Extension | |||
| Section 9"; | to the Dual-Stack Lite Architecture, Section 9"; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| container traffic-stat { | container traffic-stat { | |||
| config false; | config false; | |||
| description | description | |||
| "Traffic statistics information for the BR"; | "Traffic statistics information for the BR"; | |||
| leaf discontinuity-time { | leaf discontinuity-time { | |||
| type yang:date-and-time; | type yang:date-and-time; | |||
| mandatory true; | mandatory true; | |||
| skipping to change at line 1397 ¶ | skipping to change at line 1441 ¶ | |||
| leaf bind-name { | leaf bind-name { | |||
| type leafref { | type leafref { | |||
| path "/br-instances/binding/bind-instance/name"; | path "/br-instances/binding/bind-instance/name"; | |||
| } | } | |||
| description | description | |||
| "The name of the binding-instance that | "The name of the binding-instance that | |||
| generated the notification"; | generated the notification"; | |||
| } | } | |||
| leaf-list invalid-entry { | leaf-list invalid-entry { | |||
| type leafref { | type leafref { | |||
| path | path "/br-instances/binding/" | |||
| "/br-instances/binding/" | + "bind-instance[name=current()/../bind-name]/" | |||
| + "bind-instance[name=current()/../bind-name]/" | + "binding-table/binding-entry/binding-ipv6info"; | |||
| + "binding-table/binding-entry/binding-ipv6info"; | ||||
| } | } | |||
| description | description | |||
| "Notify the client that a specific binding entry has | "Notify the client that a specific binding entry has | |||
| expired or is invalid. The binding-ipv6info identifies | expired or is invalid. The binding-ipv6info identifies | |||
| an entry."; | an entry."; | |||
| } | } | |||
| leaf-list added-entry { | leaf-list added-entry { | |||
| type inet:ipv6-address; | type inet:ipv6-address; | |||
| description | description | |||
| "Notify the client that a binding entry has been added. | "Notify the client that a binding entry has been added. | |||
| The IPv6 address of that entry is the index. The client | The IPv6 address of that entry is the index. The client | |||
| gets other information from the binding BR about the entry | gets other information from the binding BR about the entry | |||
| indexed by that ipv6 address."; | indexed by that ipv6 address."; | |||
| } | } | |||
| leaf-list modified-entry { | leaf-list modified-entry { | |||
| type leafref { | type leafref { | |||
| path | path "/br-instances/binding/" | |||
| "/br-instances/binding/" | + "bind-instance[name=current()/../bind-name]/" | |||
| + "bind-instance[name=current()/../bind-name]/" | + "binding-table/binding-entry/binding-ipv6info"; | |||
| + "binding-table/binding-entry/binding-ipv6info"; | ||||
| } | } | |||
| description | description | |||
| "The binding-table entry that has been modified"; | "The binding-table entry that has been modified"; | |||
| } | } | |||
| } | } | |||
| notification softwire-algorithm-instance-event { | notification softwire-algorithm-instance-event { | |||
| if-feature "map-e or map-t"; | if-feature "map-e or map-t"; | |||
| description | description | |||
| "Notifications for an algorithm instance when an entry is | "Notifications for an algorithm instance when an entry is | |||
| added, modified, or is not valid anymore"; | added, modified, or is not valid anymore"; | |||
| skipping to change at line 1485 ¶ | skipping to change at line 1527 ¶ | |||
| if not set, this rule is a Basic Mapping Rule (BMR) only | if not set, this rule is a Basic Mapping Rule (BMR) only | |||
| and must not be used for forwarding."; | and must not be used for forwarding."; | |||
| Current: | Current: | |||
| description | description | |||
| "This parameter specifies whether the rule may be used as a | "This parameter specifies whether the rule may be used as a | |||
| Forward Mapping Rule (FMR). If set, this rule is used as | Forward Mapping Rule (FMR). If set, this rule is used as | |||
| an FMR; if not set, this rule is a Basic Mapping Rule (BMR) | an FMR; if not set, this rule is a Basic Mapping Rule (BMR) | |||
| only and must not be used for forwarding."; | only and must not be used for forwarding."; | |||
| --> | --> | |||
| <sourcecode name="" type="" markers="true"><![CDATA[file "ietf-softwire-co | <sourcecode name="ietf-softwire-common@2019-10-28.yang" type="yang" marker | |||
| mmon@2019-01-11.yang" | s="true"><![CDATA[ | |||
| module ietf-softwire-common { | module ietf-softwire-common { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-softwire-common"; | namespace "urn:ietf:params:xml:ns:yang:ietf-softwire-common"; | |||
| prefix softwire-common; | prefix softwire-common; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference "RFC 6991: Common YANG Data Types, Section 4"; | reference | |||
| "RFC 6991: Common YANG Data Types, Section 4"; | ||||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| reference "RFC 6991: Common YANG Data Types, Section 3"; | reference | |||
| "RFC 6991: Common YANG Data Types, Section 3"; | ||||
| } | } | |||
| organization | organization | |||
| "IETF Softwire Working Group"; | "IETF Softwire Working Group"; | |||
| contact | contact | |||
| "WG Web: <https://datatracker.ietf.org/wg/softwire/> | "WG Web: <https://datatracker.ietf.org/wg/softwire/> | |||
| WG List: <mailto:softwire@ietf.org> | WG List: <mailto:softwire@ietf.org> | |||
| Author: Qi Sun | Author: Qi Sun | |||
| <mailto:sunqi.ietf@gmail.com> | <mailto:sunqi.ietf@gmail.com> | |||
| skipping to change at line 1544 ¶ | skipping to change at line 1587 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 8676; see | This version of this YANG module is part of RFC 8676; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| revision 2019-01-11 { | revision 2019-10-28 { | |||
| description | description | |||
| "Initial revision"; | "Initial revision"; | |||
| reference | reference | |||
| "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port | "RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port | |||
| Softwires"; | (A+P) Softwires"; | |||
| } | } | |||
| feature map-e { | feature map-e { | |||
| description | description | |||
| "MAP-E is an IPv6 transition mechanism for transporting IPv4 | "MAP-E is an IPv6 transition mechanism for transporting IPv4 | |||
| packets across an IPv6 network using IP encapsulation. MAP-E | packets across an IPv6 network using IP encapsulation. MAP-E | |||
| allows for a reduction of the amount of centralized state using | allows for a reduction of the amount of centralized state using | |||
| rules to express IPv4/IPv6 address mappings. This introduces an | rules to express IPv4/IPv6 address mappings. This introduces an | |||
| algorithmic relationship between the IPv6 subnet and IPv4 | algorithmic relationship between the IPv6 subnet and IPv4 | |||
| address. | address. | |||
| skipping to change at line 1977 ¶ | skipping to change at line 2020 ¶ | |||
| </ul> | </ul> | |||
| <t>Security considerations related to lw4o6, MAP-T, and MAP-E are | <t>Security considerations related to lw4o6, MAP-T, and MAP-E are | |||
| discussed in <xref target="RFC7596" format="default"/>, <xref target="RFC7 597" format="default"> | discussed in <xref target="RFC7596" format="default"/>, <xref target="RFC7 597" format="default"> | |||
| </xref>, and <xref target="RFC7599" format="default"/> respectively.</t> | </xref>, and <xref target="RFC7599" format="default"/> respectively.</t> | |||
| <t>Security considerations given in <xref target="RFC7950" format="default "/> are | <t>Security considerations given in <xref target="RFC7950" format="default "/> are | |||
| also applicable here.</t> | also applicable here.</t> | |||
| </section> | </section> | |||
| <section anchor="iana" numbered="true" toc="default"> | <section anchor="iana" numbered="true" toc="default"> | |||
| <name>IANA Considerations</name> | <name>IANA Considerations</name> | |||
| <t>IANA has assigned the following new tunnel type under the | <t>IANA has assigned the following new tunnel type under the | |||
| "tunnelType" subregistry of the "ifType Definitions" registry | tunnelType subregistry of the "ifType Definitions" registry | |||
| maintained at <xref target="TUNNELTYPE-IANA-REGISTRY" format="default"/>:< | maintained in the SMI Numbers registry <xref target="IANA-TUNNELTYPES" for | |||
| /t> | mat="default"/>:</t> | |||
| <artwork align="left" name="" type="" alt=""><![CDATA[ Decimal: | <ul empty="true"><li> | |||
| 18 | <dl newline="false" indent="14" spacing="compact"> | |||
| Name: aplusp | <dt>Decimal:</dt><dd>18</dd> | |||
| Description: A+P encapsulation | <dt>Name:</dt><dd>aplusp</dd> | |||
| Reference: [RFC6346] | <dt>Description:</dt><dd>A+P encapsulation</dd> | |||
| ]]></artwork> | <dt>Reference:</dt><dd>[RFC6346]</dd> | |||
| </dl> | ||||
| </li></ul> | ||||
| <t>IANA has registered the following in the "ns" | <t>IANA has registered the following in the "ns" | |||
| subregistry within the "IETF XML Registry" <xref target="RFC3688" format=" default"/>: | subregistry within the "IETF XML Registry" <xref target="RFC3688" format=" default"/>: | |||
| <!-- [rfced] We see the following in the "ns" registry | <!-- [rfced] We see the following in the "ns" registry | |||
| <https://www.iana.org/assignments/xml-registry/xml-registry.xhtml#ns> as | <https://www.iana.org/assignments/xml-registry/xml-registry.xhtml#ns> as | |||
| compared with this document. It appears as thought "yang" is missing from the | compared with this document. It appears as thought "yang" is missing from the | |||
| IANA-registered values. Please confirm this is correct, and we will ask IANA | IANA-registered values. Please confirm this is correct, and we will ask IANA | |||
| to update their site accordingly. | to update their site accordingly. | |||
| IANA: urn:ietf:params:xml:ns:ietf-softwire-ce | IANA: urn:ietf:params:xml:ns:ietf-softwire-ce | |||
| Doc: urn:ietf:params:xml:ns:yang:ietf-softwire-ce | Doc: urn:ietf:params:xml:ns:yang:ietf-softwire-ce | |||
| IANA: urn:ietf:params:xml:ns:ietf-softwire-br | IANA: urn:ietf:params:xml:ns:ietf-softwire-br | |||
| Doc: urn:ietf:params:xml:ns:yang:ietf-softwire-br | Doc: urn:ietf:params:xml:ns:yang:ietf-softwire-br | |||
| IANA: urn:ietf:params:xml:ns:ietf-softwire-common | IANA: urn:ietf:params:xml:ns:ietf-softwire-common | |||
| Doc: urn:ietf:params:xml:ns:yang:ietf-softwire-common | Doc: urn:ietf:params:xml:ns:yang:ietf-softwire-common | |||
| --> | --> | |||
| </t> | </t> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ URI: urn:ie | <ul empty="true"><li> | |||
| tf:params:xml:ns:yang:ietf-softwire-ce | <dl newline="false" spacing="compact"> | |||
| Registrant Contact: The IESG. | <dt>URI:</dt><dd>urn:ietf:params:xml:ns:yang:ietf-softwire-ce</dd> | |||
| XML: N/A; the requested URI is an XML namespace. | <dt>Registrant Contact:</dt><dd>The IESG.</dd> | |||
| <dt>XML:</dt><dd>N/A; the requested URI is an XML namespace.</dd> | ||||
| </dl> | ||||
| </li></ul> | ||||
| URI: urn:ietf:params:xml:ns:yang:ietf-softwire-br | <ul empty="true"><li> | |||
| Registrant Contact: The IESG. | <dl newline="false" spacing="compact"> | |||
| XML: N/A; the requested URI is an XML namespace. | <dt>URI:</dt><dd>urn:ietf:params:xml:ns:yang:ietf-softwire-br</dd> | |||
| <dt>Registrant Contact:</dt><dd>The IESG.</dd> | ||||
| <dt>XML:</dt><dd>N/A; the requested URI is an XML namespace.</dd> | ||||
| </dl></li></ul> | ||||
| URI: urn:ietf:params:xml:ns:yang:ietf-softwire-common | <ul empty="true"><li> | |||
| Registrant Contact: The IESG. | <dl newline="false" spacing="compact"> | |||
| XML: N/A; the requested URI is an XML namespace. ]]></artwork> | <dt>URI:</dt><dd>urn:ietf:params:xml:ns:yang:ietf-softwire-common</dd> | |||
| <dt>Registrant Contact:</dt><dd>The IESG.</dd> | ||||
| <dt>XML:</dt><dd>N/A; the requested URI is an XML namespace.</dd> | ||||
| </dl></li></ul> | ||||
| <t>IANA has registered the following YANG modules | <t>IANA has registered the following YANG modules | |||
| in the "YANG Module Names" subregistry <xref target="RFC7950" format="defa ult"/> | in the "YANG Module Names" subregistry <xref target="RFC7950" format="defa ult"/> | |||
| within the "YANG Parameters" registry.</t> | within the "YANG Parameters" registry.</t> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ name: ietf- | <ul empty="true"><li> | |||
| softwire-ce | <dl newline="false" spacing="compact"> | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-softwire-ce | <dt>name:</dt><dd>ietf-softwire-ce</dd> | |||
| prefix: softwire-ce | <dt>namespace:</dt><dd>urn:ietf:params:xml:ns:yang:ietf-softwire-ce</dd> | |||
| reference: RFC 8676 | <dt>prefix:</dt><dd>softwire-ce</dd> | |||
| <dt>reference:</dt><dd>RFC 8676</dd> | ||||
| name: ietf-softwire-br | </dl></li></ul> | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-softwire-br | ||||
| prefix: softwire-br | ||||
| reference: RFC 8676 | ||||
| name: ietf-softwire-common | <ul empty="true"><li> | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-softwire-common | <dl newline="false" spacing="compact"> | |||
| prefix: softwire-common | <dt>name:</dt><dd>ietf-softwire-br</dd> | |||
| reference: RFC 8676]]></artwork> | <dt>namespace:</dt><dd>urn:ietf:params:xml:ns:yang:ietf-softwire-br</dd | |||
| > | ||||
| <dt>prefix:</dt><dd>softwire-br</dd> | ||||
| <dt>reference:</dt><dd>RFC 8676</dd> | ||||
| </dl></li></ul> | ||||
| <ul empty="true"><li> | ||||
| <dl newline="false" spacing="compact"> | ||||
| <dt>name:</dt><dd>ietf-softwire-common</dd> | ||||
| <dt>namespace:</dt><dd>urn:ietf:params:xml:ns:yang:ietf-softwire-common | ||||
| </dd> | ||||
| <dt>prefix:</dt><dd>softwire-common</dd> | ||||
| <dt>reference:</dt><dd>RFC 8676</dd> | ||||
| </dl></li></ul> | ||||
| </section> | </section> | |||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references> | <references> | |||
| <name>References</name> | <name>References</name> | |||
| <references> | <references> | |||
| <name>Normative References</name> | <name>Normative References</name> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.3688.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.3688.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.8446.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.8446.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.6241.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.6241.xml"/> | |||
| skipping to change at line 2060 ¶ | skipping to change at line 2124 ¶ | |||
| let us know where it should be cited or if it can be deleted from | let us know where it should be cited or if it can be deleted from | |||
| the References section. | the References section. | |||
| RFC 6020: YANG - A Data Modeling Language for the Network Configuration | RFC 6020: YANG - A Data Modeling Language for the Network Configuration | |||
| Protocol (NETCONF) | Protocol (NETCONF) | |||
| --> | --> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.6020.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.6020.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.6991.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.6991.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.7224.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.7224.xml"/> | |||
| <!-- <?rfc include='reference.I-D.ietf-softwire-iftunnel'?>; compan ion document --> | <!-- <?rfc include='reference.I-D.ietf-softwire-iftunnel'?>; compan ion document --> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | <reference anchor='RFC8675' target='https://www.rfc-editor.org/info/rfc8675'> | |||
| ence.RFC.8675.xml"/> | <front> | |||
| <reference anchor="TUNNELTYPE-IANA-REGISTRY" target="https://www.iana.or | <title>A YANG Data Model for Tunnel Interface Types</title> | |||
| g/assignments/smi-numbers/smi-numbers.xhtml#smi-numbers-6"> | ||||
| <author initials='M' surname='Boucadair' fullname='Mohamed Boucadair'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='I' surname='Farrer' fullname='Ian Farrer'> | ||||
| <organization /> | ||||
| </author> | ||||
| <author initials='R' surname='Asati' fullname='Rajiv Asati'> | ||||
| <organization /> | ||||
| </author> | ||||
| <date month='October' year='2019' /> | ||||
| </front> | ||||
| <seriesInfo name='RFC' value='8675' /> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC8675"/> | ||||
| </reference> | ||||
| <reference anchor="IANA-TUNNELTYPES" target="https://www.iana.org/assign | ||||
| ments/smi-numbers"> | ||||
| <front> | <front> | |||
| <title>tunnelType Definitions</title> | <title>Structure of Management Information (SMI) Numbers (MIB | |||
| Module Registrations)</title> | ||||
| <author> | <author> | |||
| <organization abbrev="IANA">Internet Assigned Numbers | <organization>IANA</organization> | |||
| Authority</organization> | ||||
| </author> | </author> | |||
| <date/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| </references> | </references> | |||
| <references> | <references> | |||
| <name>Informative References</name> | <name>Informative References</name> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.8344.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.8344.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.6346.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.6346.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.8342.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.8342.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.8349.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.8349.xml"/> | |||
| <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.8340.xml"/> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer ence.RFC.8340.xml"/> | |||
| skipping to change at line 2118 ¶ | skipping to change at line 2203 ¶ | |||
| <dd>192.0.2.1</dd> | <dd>192.0.2.1</dd> | |||
| <dt>lwB4 PSID:</dt> | <dt>lwB4 PSID:</dt> | |||
| <dd>0x34</dd> | <dd>0x34</dd> | |||
| <dt>lwB4 PSID Length</dt> | <dt>lwB4 PSID Length</dt> | |||
| <dd>8</dd> | <dd>8</dd> | |||
| <dt>BR IPv6 Address:</dt> | <dt>BR IPv6 Address:</dt> | |||
| <dd>2001:db8:1::2</dd> | <dd>2001:db8:1::2</dd> | |||
| </dl> | </dl> | |||
| <figure anchor="lw4o6-br-example-xml"> | <figure anchor="lw4o6-br-example-xml"> | |||
| <name>lw4o6 Binding-Table Configuration XML</name> | <name>lw4o6 Binding-Table Configuration XML</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ <br-instance | ||||
| s> | <sourcecode name="" type="xml"><![CDATA[ <br-instances> | |||
| <binding> | <binding> | |||
| <bind-instance> | <bind-instance> | |||
| <name>mybinding-instance</name> | <name>mybinding-instance</name> | |||
| <binding-table> | <binding-table> | |||
| <binding-entry> | <binding-entry> | |||
| <binding-ipv6info>2001:db8::1</binding-ipv6info> | <binding-ipv6info>2001:db8::1</binding-ipv6info> | |||
| <binding-ipv4-addr>192.0.2.1</binding-ipv4-addr> | <binding-ipv4-addr>192.0.2.1</binding-ipv4-addr> | |||
| <port-set> | <port-set> | |||
| <psid>52</psid> | <psid>52</psid> | |||
| <psid-len>8</psid-len> | <psid-len>8</psid-len> | |||
| </port-set> | </port-set> | |||
| <br-ipv6-addr>2001:db8:1::2</br-ipv6-addr> | <br-ipv6-addr>2001:db8:1::2</br-ipv6-addr> | |||
| </binding-entry> | </binding-entry> | |||
| </binding-table> | </binding-table> | |||
| <softwire-num-max>1024</softwire-num-max> | <softwire-num-max>1024</softwire-num-max> | |||
| <softwire-path-mru>1540</softwire-path-mru> | <softwire-path-mru>1540</softwire-path-mru> | |||
| <softwire-payload-mtu>1500</softwire-payload-mtu> | <softwire-payload-mtu>1500</softwire-payload-mtu> | |||
| </bind-instance> | </bind-instance> | |||
| </binding> | </binding> | |||
| </br-instances> ]]></artwork> | </br-instances> ]]></sourcecode> | |||
| </figure> | </figure> | |||
| </section> | </section> | |||
| <section anchor="map-e-example" numbered="true" toc="default"> | <section anchor="map-e-example" numbered="true" toc="default"> | |||
| <name>Configuration Example for a MAP-E BR</name> | <name>Configuration Example for a MAP-E BR</name> | |||
| <t>A MAP-E BR is configured with forward mapping rules for the CEs it | <t>A MAP-E BR is configured with forward mapping rules for the CEs it | |||
| is serving. In this example (taken from <xref target="RFC7597" format="d efault"/>, Appendix A, Example 2), the following | is serving. In this example (taken from <xref target="RFC7597" format="d efault"/>, Appendix A, Example 2), the following | |||
| parameters are required:</t> | parameters are required:</t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>Rule IPv6 Prefix</li> | <li>Rule IPv6 Prefix</li> | |||
| <li>Rule IPv4 Prefix</li> | <li>Rule IPv4 Prefix</li> | |||
| skipping to change at line 2177 ¶ | skipping to change at line 2263 ¶ | |||
| <dd>192.0.2.0/24</dd> | <dd>192.0.2.0/24</dd> | |||
| <dt>Rule EA-bit Length:</dt> | <dt>Rule EA-bit Length:</dt> | |||
| <dd>16</dd> | <dd>16</dd> | |||
| <dt>BR IPv6 Address:</dt> | <dt>BR IPv6 Address:</dt> | |||
| <dd>2001:db8:ffff::1</dd> | <dd>2001:db8:ffff::1</dd> | |||
| </dl> | </dl> | |||
| <t><xref target="map-e-example-xml" format="default"/> provides the exam ple MAP-E | <t><xref target="map-e-example-xml" format="default"/> provides the exam ple MAP-E | |||
| BR configuration xml.</t> | BR configuration xml.</t> | |||
| <figure anchor="map-e-example-xml"> | <figure anchor="map-e-example-xml"> | |||
| <name>MAP-E FMR Configuration XML</name> | <name>MAP-E FMR Configuration XML</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ <br-instance s> | <sourcecode name="" type="xml"><![CDATA[ <br-instances> | |||
| <algorithm> | <algorithm> | |||
| <algo-instance> | <algo-instance> | |||
| <name>myalgo-instance</name> | <name>myalgo-instance</name> | |||
| <encapsulation> | <encapsulation> | |||
| <br-ipv6-addr>2001:db8:ffff::1</br-ipv6-addr> | <br-ipv6-addr>2001:db8:ffff::1</br-ipv6-addr> | |||
| </encapsulation> | </encapsulation> | |||
| <ea-len>16</ea-len> | <ea-len>16</ea-len> | |||
| <rule-ipv4-prefix>192.0.2.0/24</rule-ipv4-prefix> | <rule-ipv4-prefix>192.0.2.0/24</rule-ipv4-prefix> | |||
| <rule-ipv6-prefix>2001:db8::/40</rule-ipv6-prefix> | <rule-ipv6-prefix>2001:db8::/40</rule-ipv6-prefix> | |||
| <forwarding>true</forwarding> | <forwarding>true</forwarding> | |||
| <port-set> | <port-set> | |||
| <psid-offset>6</psid-offset> | <psid-offset>6</psid-offset> | |||
| <psid-len>8</psid-len> | <psid-len>8</psid-len> | |||
| </port-set> | </port-set> | |||
| </algo-instance> | </algo-instance> | |||
| </algorithm> | </algorithm> | |||
| </br-instances> ]]></artwork> | </br-instances> ]]></sourcecode> | |||
| </figure> | </figure> | |||
| </section> | </section> | |||
| <section anchor="lw4o6-ce-example" numbered="true" toc="default"> | <section anchor="lw4o6-ce-example" numbered="true" toc="default"> | |||
| <name>lw4o6 CE Configuration Example</name> | <name>lw4o6 CE Configuration Example</name> | |||
| <t>This section provides XML examples for configuring a lw4o6 CE. | <t>This section provides XML examples for configuring a lw4o6 CE. | |||
| Examples for routing and NAT44 are also provided for convienience.</t> | Examples for routing and NAT44 are also provided for convienience.</t> | |||
| <t>Consider an example for the following lw4o6 CE configuration:</t> | <t>Consider an example for the following lw4o6 CE configuration:</t> | |||
| <dl newline="false" spacing="normal" indent="28"> | <dl newline="false" spacing="normal" indent="28"> | |||
| <dt>lwB4 Binding IPv6 Address:</dt> | <dt>lwB4 Binding IPv6 Address:</dt> | |||
| <dd>2001:db8::1</dd> | <dd>2001:db8::1</dd> | |||
| skipping to change at line 2216 ¶ | skipping to change at line 2302 ¶ | |||
| <dd>192.0.2.1</dd> | <dd>192.0.2.1</dd> | |||
| <dt>lwB4 PSID:</dt> | <dt>lwB4 PSID:</dt> | |||
| <dd>0x34</dd> | <dd>0x34</dd> | |||
| <dt>lwB4 PSID Length</dt> | <dt>lwB4 PSID Length</dt> | |||
| <dd>8</dd> | <dd>8</dd> | |||
| <dt>BR IPv6 Address:</dt> | <dt>BR IPv6 Address:</dt> | |||
| <dd>2001:db8:1::2</dd> | <dd>2001:db8:1::2</dd> | |||
| </dl> | </dl> | |||
| <figure anchor="lw4o6-ce-example-xml"> | <figure anchor="lw4o6-ce-example-xml"> | |||
| <name>lw4o6 CE Configuration XML</name> | <name>lw4o6 CE Configuration XML</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | <sourcecode name="" type="xml"><![CDATA[ | |||
| <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | |||
| <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> | <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> | |||
| <interface> | <interface> | |||
| <name>lw4o6-wan</name> | <name>lw4o6-wan</name> | |||
| <type>iana-tunnel-type:aplusp</type> | <type>iana-tunnel-type:aplusp</type> | |||
| <br-ipv6-addr | <br-ipv6-addr | |||
| xmlns="urn:ietf:params:xml:ns:yang:ietf-softwire-ce"> | xmlns="urn:ietf:params:xml:ns:yang:ietf-softwire-ce"> | |||
| 2001:db8:1::2 | 2001:db8:1::2 | |||
| </br-ipv6-addr> | </br-ipv6-addr> | |||
| <binding-ipv6info | <binding-ipv6info | |||
| xmlns="urn:ietf:params:xml:ns:yang:ietf-softwire-ce"> | xmlns="urn:ietf:params:xml:ns:yang:ietf-softwire-ce"> | |||
| 2001:db8::1 | 2001:db8::1 | |||
| </binding-ipv6info> | </binding-ipv6info> | |||
| </interface> | </interface> | |||
| </interfaces> | </interfaces> | |||
| </config> | </config> | |||
| ]]></artwork> | ]]></sourcecode> | |||
| </figure> | </figure> | |||
| <t>In the example depicted in <xref target="lw4o6-ce-example-xml" format ="default"/>, the interface name is defined | <t>In the example depicted in <xref target="lw4o6-ce-example-xml" format ="default"/>, the interface name is defined | |||
| for the softwire tunnel. This name is then referenced by the routing | for the softwire tunnel. This name is then referenced by the routing | |||
| configuration for the IPv4 route. <xref target="lw4o6-ce-routing-example -xml" format="default"/> provides an example | configuration for the IPv4 route. <xref target="lw4o6-ce-routing-example -xml" format="default"/> provides an example | |||
| configuration for the CE's IPv4 routing using the YANG module | configuration for the CE's IPv4 routing using the YANG module | |||
| described in <xref target="RFC8349" format="default"/>.</t> | described in <xref target="RFC8349" format="default"/>.</t> | |||
| <figure anchor="lw4o6-ce-routing-example-xml"> | <figure anchor="lw4o6-ce-routing-example-xml"> | |||
| <name>lw4o6 CE Routing Configuration XML</name> | <name>lw4o6 CE Routing Configuration XML</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | <sourcecode name="" type="xml"><![CDATA[ | |||
| <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | |||
| <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> | <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> | |||
| <control-plane-protocols> | <control-plane-protocols> | |||
| <control-plane-protocol> | <control-plane-protocol> | |||
| <type>static</type> | <type>static</type> | |||
| <name>v4</name> | <name>v4</name> | |||
| <static-routes> | <static-routes> | |||
| <ipv4 | <ipv4 | |||
| xmlns="urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing"> | xmlns="urn:ietf:params:xml:ns:yang:ietf-ipv4-unicast-routing"> | |||
| <route> | <route> | |||
| skipping to change at line 2265 ¶ | skipping to change at line 2350 ¶ | |||
| <next-hop> | <next-hop> | |||
| <outgoing-interface>lw4o6-wan</outgoing-interface> | <outgoing-interface>lw4o6-wan</outgoing-interface> | |||
| </next-hop> | </next-hop> | |||
| </route> | </route> | |||
| </ipv4> | </ipv4> | |||
| </static-routes> | </static-routes> | |||
| </control-plane-protocol> | </control-plane-protocol> | |||
| </control-plane-protocols> | </control-plane-protocols> | |||
| </routing> | </routing> | |||
| </config> | </config> | |||
| ]]></artwork> | ]]></sourcecode> | |||
| </figure> | </figure> | |||
| <t><xref target="lw4o6-ce-nat-example-xml" format="default"/> provides a n example | <t><xref target="lw4o6-ce-nat-example-xml" format="default"/> provides a n example | |||
| configuration for the CE's NAPT44 function using the YANG module | configuration for the CE's NAPT44 function using the YANG module | |||
| described in <xref target="RFC8512" format="default"/>.</t> | described in <xref target="RFC8512" format="default"/>.</t> | |||
| <figure anchor="lw4o6-ce-nat-example-xml"> | <figure anchor="lw4o6-ce-nat-example-xml"> | |||
| <name>lw4o6 NAT Configuration XML</name> | <name>lw4o6 NAT Configuration XML</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | <sourcecode name="" type="xml"><![CDATA[ | |||
| <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | <config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> | |||
| <nat xmlns="urn:ietf:params:xml:ns:yang:ietf-nat"> | <nat xmlns="urn:ietf:params:xml:ns:yang:ietf-nat"> | |||
| <instances> | <instances> | |||
| <instance> | <instance> | |||
| <id>1</id> | <id>1</id> | |||
| <policy> | <policy> | |||
| <policy-id>1</policy-id> | <policy-id>1</policy-id> | |||
| <external-ip-address-pool> | <external-ip-address-pool> | |||
| <pool-id>1</pool-id> | <pool-id>1</pool-id> | |||
| <external-ip-pool>192.0.2.1</external-ip-pool> | <external-ip-pool>192.0.2.1</external-ip-pool> | |||
| skipping to change at line 2334 ¶ | skipping to change at line 2419 ¶ | |||
| <index>3</index> | <index>3</index> | |||
| <external-src-address>192.0.2.1/32</external-src-address> | <external-src-address>192.0.2.1/32</external-src-address> | |||
| <internal-src-address>192.168.1.0/24</internal-src-address> | <internal-src-address>192.168.1.0/24</internal-src-address> | |||
| <transport-protocol>1</transport-protocol> | <transport-protocol>1</transport-protocol> | |||
| </mapping-entry> | </mapping-entry> | |||
| </mapping-table> | </mapping-table> | |||
| </instance> | </instance> | |||
| </instances> | </instances> | |||
| </nat> | </nat> | |||
| </config> | </config> | |||
| ]]></artwork> | ]]></sourcecode> | |||
| </figure> | </figure> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <!-- [rfced] Is there a difference between "binding table" (unhyphenated) an d | <!-- [rfced] Is there a difference between "binding table" (unhyphenated) an d | |||
| "binding-table" (hyphenated)? If not, may we hyphenate "binding table" when | "binding-table" (hyphenated)? If not, may we hyphenate "binding table" when | |||
| it acts as an adjective and precedes a noun? | it acts as an adjective and precedes a noun? | |||
| "The binding-table entry that has been modified." | "The binding-table entry that has been modified." | |||
| Figure 3: lw4o6 Binding-Table Configuration XML | Figure 3: lw4o6 Binding-Table Configuration XML | |||
| skipping to change at line 2385 ¶ | skipping to change at line 2470 ¶ | |||
| --> | --> | |||
| <section numbered="false" toc="default"> | <section numbered="false" toc="default"> | |||
| <name>Contributors</name> | <name>Contributors</name> | |||
| <t>The following individuals are co-authors:</t> | <t>The following individuals are co-authors:</t> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ Yong Cui | <artwork name="" type="" align="left" alt=""><![CDATA[ Yong Cui | |||
| Tsinghua University | Tsinghua University | |||
| Beijing 100084 | Beijing 100084 | |||
| P.R. China | P.R. China | |||
| Phone: +86-10-6260-3059 | Phone: +86-10-6260-3059 | |||
| Email: cuiyong@tsinghua.edu.cn | Email: cuiyong@tsinghua.edu.cn | |||
| ]]></artwork> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| Qi Sun | Qi Sun | |||
| Tsinghua University | Tsinghua University | |||
| Beijing 100084 | Beijing 100084 | |||
| P.R. China | P.R. China | |||
| Phone: +86-10-6278-5822 | Phone: +86-10-6278-5822 | |||
| Email: sunqi.ietf@gmail.com | Email: sunqi.ietf@gmail.com | |||
| ]]></artwork> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| Linhui Sun | Linhui Sun | |||
| Tsinghua University | Tsinghua University | |||
| Beijing 100084 | Beijing 100084 | |||
| P.R. China | P.R. China | |||
| Phone: +86-10-6278-5822 | Phone: +86-10-6278-5822 | |||
| Email: lh.sunlinh@gmail.com | Email: lh.sunlinh@gmail.com | |||
| ]]></artwork> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| Sladjana Zechlin | Sladjana Zechlin | |||
| Deutsche Telekom AG | Deutsche Telekom AG | |||
| Landgrabenweg 151 | Landgrabenweg 151 | |||
| Bonn, NRW 53227 | Bonn, NRW 53227 | |||
| Germany | Germany | |||
| Email: sladjana.zechlin@telekom.de | Email: sladjana.zechlin@telekom.de | |||
| ]]></artwork> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| Rajiv Asati | Rajiv Asati | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| 7025 Kit Creek Rd. | 7025 Kit Creek Rd. | |||
| RTP, NC 27709 | RTP, NC 27709 | |||
| USA | United States of America | |||
| Email: Rajiva@cisco.com]]></artwork> | Email: Rajiva@cisco.com]]></artwork> | |||
| <t>The following individual contributed to this document: | ||||
| </t> | <t>The following individual contributed to this document:</t> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ Hao Wang | <artwork name="" type="" align="left" alt=""><![CDATA[ Hao Wang | |||
| Tsinghua University | Tsinghua University | |||
| Beijing 100084 | Beijing 100084 | |||
| P.R.China | P.R. China | |||
| Phone: +86-10-6278-5822 | Phone: +86-10-6278-5822 | |||
| Email: wangh13@mails.tsinghua.edu.cn]]></artwork> | Email: wangh13@mails.tsinghua.edu.cn]]></artwork> | |||
| </section> | </section> | |||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 92 change blocks. | ||||
| 174 lines changed or deleted | 274 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||