<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF"
     docName="draft-ietf-softwire-iftunnel-07" category="std" consensus="yes" number="8675" ipr="trust200902"
     obsoletes="" updates="" tocInclude="true" tocDepth="3" symRefs="true"
     sortRefs="true" xml:lang="en" version="3"> 
  <!-- 10/21 xml2rfc v2v3 conversion 2.33.0 -->
  <front>

    <title abbrev="Tunnel Interface Types">A YANG Data Model for Tunnel Interface Types</title>
    <seriesInfo name="RFC" value="8675"/>
    <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
      <organization>Orange</organization>
      <address>
        <postal>
          <street/>
          <city>Rennes</city>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Ian Farrer" initials="I." surname="Farrer">
      <organization>Deutsche Telekom AG</organization>
      <address>
        <postal>
          <street>CTO-ATI, Landgrabenweg 151</street>
          <city>Bonn</city>
          <region>NRW</region>
          <code>53227</code>
          <country>Germany</country>
        </postal>
        <email>ian.farrer@telekom.de</email>
      </address>
    </author>
    <author fullname="Rajiv Asati" initials="R." surname="Asati">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>7025 Kit Creek Rd.</street>
          <city>RTP</city>
          <region>NC</region>
          <code>27709</code>
          <country>United States of America</country>
        </postal>
        <email>Rajiva@cisco.com</email>
      </address>
    </author>
    <date year="2019" month="November"/>
    <workgroup>Softwire Working Group</workgroup>
    <keyword>softwire</keyword>
    <keyword>Augment tunnel</keyword>
    <keyword>tunnel management</keyword>
    <keyword>tunnel provisioning</keyword>
    <keyword>tunnel activation</keyword>
    <keyword>tunnel automation</keyword>

    <abstract>
      <t>This document specifies the initial version of a YANG module
      "iana-tunnel-type", which
      contains a collection of IANA-maintained YANG identities used as
      interface types for tunnel interfaces. The module reflects the
      "tunnelType" registry maintained by IANA. The latest revision of this
      YANG module can be obtained from the IANA website.</t>
      <t>Tunnel type values are not directly added to the Tunnel Interface
      Types YANG module; they must instead be added to the "tunnelType" IANA
      registry. Once a new tunnel type registration is made by IANA for a new
      tunneling scheme or even an existing one that is not already listed in
      the current registry (e.g., LISP, NSH), IANA will update the Tunnel
      Interface Types YANG module accordingly.</t>
      <t>Some of the IETF-defined tunneling techniques are not listed in the
      current IANA registry. It is not the intent of this document to update
      the existing IANA registry with a comprehensive list of tunnel
      technologies. Registrants must follow the IETF registration procedure
      for interface types whenever a new tunnel type is needed.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>This document specifies the initial version of the iana-tunnel-type
      YANG module containing a collection of IANA-maintained YANG identities
      identifying tunnel interface types. The module reflects IANA's
      tunnelType registry under the SMI Numbers registry <xref target="TUNNELTYPE-IANA-REGISTRY" format="default"/>. The
      latest revision of this module can be obtained from the IANA website.</t>
      <t>Tunnel-specific extensions may be added to the Interface module <xref target="RFC8343" format="default"/> as a function of the tunnel type. An example of
      this is provided in <xref target="sample" format="default"/>. It is not the
      intention of this document to define tunnel-specific extensions for
      every tunnel encapsulation technology; those are discussed in dedicated
      documents such as <xref target="RFC8676" format="default"/>.
      Likewise, it is out of the scope of this document to update the existing
      IANA tunnelType registry <xref target="TUNNELTYPE-IANA-REGISTRY" format="default"/> with a
      comprehensive list of tunnel technologies. Guidelines and registration
      procedures for interface types and sub-types are discussed in <xref target="I-D.thaler-iftype-reg" format="default"/>.</t>
      <t>This document uses the common YANG types defined in <xref target="RFC6991" format="default"/> and adopts the Network Management Datastore
      Architecture (NMDA <xref target="RFC8342" format="default"/>).</t>

      <t>The terminology for describing YANG modules is defined in <xref target="RFC7950" format="default"/>. The meanings of the symbols used in the tree
      diagram are defined in <xref target="RFC8340" format="default"/>.</t>
    </section>
    <section anchor="itt" numbered="true" toc="default">
      <name>IANA Tunnel Type YANG Module</name>
      <t>The iana-tunnel-type module imports the 'iana-if-type' module defined
      in <xref target="RFC7224" format="default"/>.</t>
      <t>The initial version of the module includes tunnel types defined in
      <xref target="RFC4087" format="default"/>, <xref target="RFC7856" format="default"/>, <xref target="RFC7870" format="default"/>, and <xref target="RFC6346" format="default"/>.</t>
      <sourcecode name="iana-tunnel-type@2019-11-16.yang" type="yang" markers="true"><![CDATA[
module iana-tunnel-type {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:iana-tunnel-type";
  prefix iana-tunnel-type;

  import iana-if-type {
    prefix ift;
    reference
      "RFC 7224: IANA Interface Type YANG Module";
  }

  organization
    "IANA";
  contact
    "Internet Assigned Numbers Authority

     Postal: ICANN
          12025 Waterfront Drive, Suite 300
          Los Angeles, CA  90094-2536
          United States of America
     Tel:    +1 310 301 5800
     <mailto:iana@iana.org>";
  description
    "This module contains a collection of YANG identities defined
     by IANA and used as interface types for tunnel interfaces.

     Copyright (c) 2019 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC 8675; see
     the RFC itself for full legal notices.";

  revision 2019-11-16 {
    description
      "Initial revision.";
    reference
      "RFC 8675: A YANG Data Model for Tunnel Interface Types";
  }

  identity other {
    base ift:tunnel;
    description
      "None of the following values.";
    reference
      "RFC 4087: IP Tunnel MIB";
  }

  identity direct {
    base ift:tunnel;
    description
      "No intermediate header.";
    reference
      "RFC 2003: IP Encapsulation within IP
       RFC 4213: Basic Transition Mechanisms for IPv6 Hosts
                 and Routers";
  }

  identity gre {
    base ift:tunnel;
    description
      "GRE encapsulation.";
    reference
      "RFC 1701: Generic Routing Encapsulation (GRE)
       RFC 1702: Generic Routing Encapsulation over IPv4 networks
       RFC 7676: IPv6 Support for Generic Routing Encapsulation
                 (GRE)";
  }

  identity minimal {
    base ift:tunnel;
    description
      "Minimal encapsulation.";
    reference
      "RFC 2004: Minimal Encapsulation within IP";
  }

  identity l2tp {
    base ift:tunnel;
    description
      "L2TP encapsulation.";
    reference
      "RFC 2661: Layer Two Tunneling Protocol 'L2TP'";
  }

  identity pptp {
    base ift:tunnel;
    description
      "PPTP encapsulation.";
    reference
      "RFC 2637: Point-to-Point Tunneling Protocol (PPTP)";
  }

  identity l2f {
    base ift:tunnel;
    description
      "L2F encapsulation.";
    reference
      "RFC 2341: Cisco Layer Two Forwarding (Protocol) 'L2F'";
  }

  identity udp {
    base ift:tunnel;
    description
      "UDP encapsulation.";
    reference
      "RFC 1234: Tunneling IPX Traffic through IP Networks,
       RFC 8085: UDP Usage Guidelines, Section 3.1.11";
  }

  identity atmp {
    base ift:tunnel;
    description
      "ATMP encapsulation.";
    reference
      "RFC 2107: Ascend Tunnel Management Protocol - ATMP";
  }

  identity msdp {
    base ift:tunnel;
    description
      "MSDP encapsulation.";
    reference
      "RFC 3618: Multicast Source Discovery Protocol (MSDP)";
  }

  identity sixtofour {
    base ift:tunnel;
    description
      "6to4 encapsulation.";
    reference
      "RFC 3056: Connection of IPv6 Domains via IPv4 Clouds";
  }

  identity sixoverfour {
    base ift:tunnel;
    description
      "6over4 encapsulation.";
    reference
      "RFC 2529: Transmission of IPv6 over IPv4 Domains without
                 Explicit Tunnels";
  }

  identity isatap {
    base ift:tunnel;
    description
      "ISATAP encapsulation.";
    reference
      "RFC 5214:  Intra-Site Automatic Tunnel Addressing Protocol
                 (ISATAP)";
  }

  identity teredo {
    base ift:tunnel;
    description
      "Teredo encapsulation.";
    reference
      "RFC 4380: Teredo: Tunneling IPv6 over UDP through
                 Network Address Translations (NATs)";
  }

  identity iphttps {
    base ift:tunnel;
    description
      "IP over HTTPS (IP-HTTPS) Tunneling Protocol.";
    reference
      "Microsoft Corporation, IP over HTTPS (IP-HTTPS) Tunneling
       Protocol Specification,
       https://msdn.microsoft.com/en-us/library/dd358571.aspx";
  }

  identity softwiremesh {
    base ift:tunnel;
    description
      "softwire mesh tunnel.";
    reference
      "RFC 5565: Softwire Mesh Framework";
  }

  identity dslite {
    base ift:tunnel;
    description
      "DS-Lite tunnel.";
    reference
      "RFC 6333: Dual-Stack Lite Broadband Deployments Following
                 IPv4 Exhaustion";
  }

  identity aplusp {
    base ift:tunnel;
    description
      "A+P encapsulation.";
    reference
      "RFC 6346: The Address plus Port (A+P) Approach to the IPv4
                 Address Shortage";
  }
}
]]></sourcecode>
    </section>
    <section numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The YANG module specified in this document defines a schema for data
      that is designed to be accessed via network management protocols such as
      NETCONF <xref target="RFC6241" format="default"/> or RESTCONF <xref
      target="RFC8040" format="default"/>. The lowest NETCONF layer is the
      secure transport layer, and the mandatory-to-implement secure transport is
      Secure Shell (SSH) <xref target="RFC6242" format="default"/>. The lowest RESTCONF
      layer is HTTPS, and the mandatory-to-implement secure transport is TLS
      <xref target="RFC8446" format="default"/>.</t>
      <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341" format="default"/> provides the means to restrict access for
      particular NETCONF or RESTCONF users to a preconfigured subset of all
      available NETCONF or RESTCONF protocol operations and content.</t>
      <t>The module defined in this document defines YANG identities for the
      iana-tunnel-types registry. These identities are intended to be
      referenced by other YANG modules, and by themselves do not expose any
      nodes which are writable, contain read-only state, or RPCs. As such,
      there are no additional security issues to be considered relating to the
      module defined in this document.</t>
    </section>
    <section anchor="yang" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section numbered="true" toc="default">
        <name>YANG Module</name>
        <t>IANA has registered the following URI in the
        "ns" subregistry within the "IETF XML Registry" <xref target="RFC3688" format="default"/>: </t>
<dl spacing="compact">
<dt>URI:</dt><dd>urn:ietf:params:xml:ns:yang:iana-tunnel-type</dd>
<dt>Registrant Contact:</dt><dd>IANA</dd>
<dt>XML:</dt><dd>N/A; the requested URI is an XML namespace.</dd>
</dl>
        <t>IANA registered the
        following YANG module in the "YANG Module Names" subregistry <xref target="RFC7950" format="default"/> within the "YANG Parameters" registry.</t>

<dl spacing="compact">
<dt>Name:</dt><dd>iana-tunnel-type</dd>
<dt>Namespace:</dt><dd>urn:ietf:params:xml:ns:yang:iana-tunnel-type</dd>
<dt>Prefix:</dt><dd>iana-tunnel-type</dd>
<dt>Reference:</dt><dd>RFC 8675</dd>
</dl>
        <t>This document defines the initial version of the IANA-maintained
        iana-tunnel-type YANG module. IANA has added this note to the registry:</t>
        <ul empty="true" spacing="normal">
          <li>
        Tunnel type values must not be directly added to the iana-tunnel-type
	YANG module. They must instead be added to the "tunnelType"
	subregistry (under the "ifType definitions" registry) at [IANA
	registry smi-numbers]. 
      </li>
        </ul>
        <t>When a tunnel type is added to the "tunnelType" subregistry, a new
        "identity" statement must be added to the iana-tunnel-type YANG
        module. The name of the "identity" is the lower-case of the
        corresponding enumeration in the IANAifType-MIB (i.e.,
        IANAtunnelType). The "identity" statement should have the following
        sub-statements defined:</t>
        <dl newline="false" spacing="normal" indent="15">
          <dt>"base":</dt>
          <dd>Contains 'ift:tunnel'.</dd>
          <dt>"description":</dt>
          <dd>Replicates the description
            from the registry.</dd>
          <dt>"reference":</dt>
          <dd>Replicates the reference from
            the registry and adds the title of the document.</dd>
        </dl>
        <t>Unassigned or reserved values are not present in the module.</t>
        <t>When the iana-tunnel-type YANG module is updated, a new "revision"
        statement must be added in front of the existing revision
        statements.</t>
        <t>IANA has added the following note to "tunnelType"
        subregistry:</t>
        <ul empty="true" spacing="normal">
          <li>When this registry is modified, the YANG module
            iana-tunnel-type must be updated as defined in RFC 8675.</li>
        </ul>
      </section>
      <section numbered="true" toc="default">
        <name>Updates to the IANA tunnelType Table</name>
        <t>IANA has updated the following entries in the tunnelType registry under
	the SMI Numbers registry <xref target="TUNNELTYPE-IANA-REGISTRY"/>.
        </t>
<t>OLD:</t>
<table>
<thead>
 <tr>
   <th>Decimal</th>
   <th>Name</th>
   <th>Description</th>
   <th>References</th>
 </tr>
</thead>
<tbody>
 <tr>
   <td>2</td>
   <td>direct</td>
   <td>no intermediate header</td>
   <td><xref target="RFC4087"/></td>
 </tr>
 <tr>
   <td>3</td>
   <td>gre</td>
   <td>GRE encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>  
 
 <tr>
   <td>4</td>
   <td>minimal</td>
   <td>Minimal encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>

 <tr>
   <td>5</td>
   <td>l2tp</td>
   <td>L2TP encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>

 <tr>
   <td>6</td>
   <td>pptp</td>
   <td>PPTP encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>

 <tr>
   <td>7</td>
   <td>l2f</td>
   <td>L2F encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>

 <tr>
   <td>8</td>
   <td>udp</td>
   <td>UDP encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>

 <tr>
   <td>9</td>
   <td>atmp</td>
   <td>ATMP encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>
 <tr>
   <td>10</td>
   <td>msdp</td>
   <td>MSDP encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>

 <tr>
   <td>11</td>
   <td>sixToFour</td>
   <td>6to4 encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>

 <tr>
   <td>12</td>
   <td>sixOverFour</td>
   <td>6over4 encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>

 <tr>
   <td>13</td>
   <td>isatap</td>
   <td>ISATAP encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>

 <tr>
   <td>14</td>
   <td>teredo</td>
   <td>Teredo encapsulation</td>
   <td><xref target="RFC4087"/></td>
 </tr>

 <tr>
   <td>16</td>
   <td>softwireMesh</td>
   <td>softwire mesh tunnel</td>
   <td><xref target="RFC7856"/></td>
 </tr>

 <tr>
   <td>17</td>
   <td>dsLite</td>
   <td>DS-Lite tunnel</td>
   <td><xref target="RFC7870"/></td>
 </tr>
</tbody>
</table>

<t>NEW:</t>
<table>
<thead>
 <tr>
   <th>Decimal</th>
   <th>Name</th>
   <th>Description</th>
   <th>References</th>
 </tr>
</thead>
<tbody>
 <tr>
   <td>2</td>
   <td>direct</td>
   <td>no intermediate header</td>
   <td><xref target="RFC2003"/> <xref target="RFC4213"/></td>
 </tr>

 <tr>
   <td>3</td>
   <td>gre</td>
   <td>GRE encapsulation</td>
   <td><xref target="RFC1701"/> <xref target="RFC1702"/> <xref target="RFC7676"/></td>
 </tr>

 <tr>
   <td>4</td>
   <td>minimal</td>
   <td>Minimal encapsulation</td>
   <td><xref target="RFC2004"/></td>
 </tr>

 <tr>
   <td>5</td>
   <td>l2tp</td>
   <td>L2TP encapsulation</td>
   <td><xref target="RFC2661"/></td>
 </tr>

 <tr>
   <td>6</td>
   <td>pptp</td>
   <td>PPTP encapsulation</td>
   <td><xref target="RFC2637"/></td>
 </tr>

 <tr>
   <td>7</td>
   <td>l2f</td>
   <td>L2F encapsulation</td>
   <td><xref target="RFC2341"/></td>
 </tr>

 <tr>
   <td>8</td>
   <td>udp</td>
   <td>UDP encapsulation</td>
   <td> <xref target="RFC8085"/></td>
 </tr>

 <tr>
   <td>9</td>
   <td>atmp</td>
   <td>ATMP encapsulation</td>
   <td><xref target="RFC2107"/></td>
 </tr>

 <tr>
   <td>10</td>
   <td>msdp</td>
   <td>MSDP encapsulation</td>
   <td><xref target="RFC3618"/></td>
 </tr>

 <tr>
   <td>11</td>
   <td>sixToFour</td>
   <td>6to4 encapsulation</td>
   <td><xref target="RFC3056"/></td>
 </tr>

 <tr>
   <td>12</td>
   <td>sixOverFour</td>
   <td>6over4 encapsulation</td>
   <td><xref target="RFC2529"/></td>
 </tr>

 <tr>
   <td>13</td>
   <td>isatap</td>
   <td>ISATAP encapsulation</td>
   <td><xref target="RFC5214"/></td>
 </tr>

 <tr>
   <td>14</td>
   <td>teredo</td>
   <td>Teredo encapsulation</td>
   <td><xref target="RFC4380"/></td>
 </tr>

 <tr>
   <td>16</td>
   <td>softwireMesh</td>
   <td>softwire mesh tunnel</td>
   <td><xref target="RFC5565"/></td>
 </tr>

 <tr>
   <td>17</td>
   <td>dsLite</td>
   <td>DS-Lite tunnel</td>
   <td><xref target="RFC6333"/></td>
 </tr>
</tbody>
</table>
      </section>
    </section>
  </middle>
  <back>

<displayreference target="I-D.thaler-iftype-reg" to="IFTYPE-REG"/>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7950.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3688.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6991.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7224.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6242.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8341.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8342.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8040.xml"/>
        <xi:include
	    href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"/>


	
        <reference anchor="TUNNELTYPE-IANA-REGISTRY" target="https://www.iana.org/assignments/smi-numbers">
          <front>
            <title>Structure of Management Information (SMI) Numbers (MIB Module
	  Registrations)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8340.xml"/>

<!-- <?rfc include='reference.I-D.ietf-softwire-yang'?>; Companion Document -->
  <reference anchor='RFC8676' target='https://www.rfc-editor.org/info/rfc8676'>
<front>
<title>YANG Modules for IPv4-in-IPv6 Address plus Port (A+P) Softwires</title>
<author initials='I' surname='Farrer' fullname='Ian Farrer' role="editor">
    <organization />
</author>
<author initials='M' surname='Boucadair' fullname='Mohamed Boucadair'
	role="editor">
    <organization />
</author>
<date month='November' year='2019' />
</front>

<seriesInfo name='RFC' value='8676' />
<seriesInfo name="DOI" value="10.17487/RFC8676"/>
  </reference>

        <!-- <?rfc include='reference.I-D.thaler-iftype-reg'?>; I-D Exists -->
<xi:include href="https://www.rfc-editor.org/refs/bibxml3/reference.I-D.thaler-iftype-reg.xml"/>

        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8343.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4087.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4380.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2003.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4213.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7856.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7870.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6346.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6333.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1701.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1702.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7676.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2004.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2661.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2637.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2341.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2107.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3618.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3056.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2529.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5214.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5565.xml"/>
        <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8085.xml"/>
       
      </references>
    </references>
    <section anchor="sample" numbered="true" toc="default">
      <name>Example Usage</name>
      <t>The following example illustrates how the Interface YANG module can
      be augmented with tunnel-specific parameters. In this example, the
      module is augmented with a 'remote-endpoint' for the tunnel. A tree
      structure is provided below:</t>

      <sourcecode name="" type="yangtree"><![CDATA[
module: example-iftunnel-extension
  augment /if:interfaces/if:interface:
    +--rw remote-endpoint?   inet:ipv6-address]]>
</sourcecode>

<t>The 'example-iftunnel-extension' module imports the modules defined
      in <xref target="RFC6991" format="default"/> and <xref target="RFC8343" format="default"/> in
      addition to the "iana-tunnel-type" module defined in this document.</t>

      <sourcecode name="" type="yang"><![CDATA[module example-iftunnel-extension {
  yang-version 1.1;

  namespace "urn:ietf:params:xml:ns:yang:example-iftunnel-extension";
  prefix example;

  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types, Section 4";
  }

  import ietf-interfaces {
    prefix if;
    reference
      "RFC 8343: A YANG Data Model for Interface Management";
  }

  import iana-tunnel-type  {
    prefix iana-tunnel-type;
    reference
      "RFC 8675:  A Tunnel Extension to the Interface Management
                  YANG Module";
  }
   
  organization "IETF Softwire Working Group";

  contact

    "WG Web:   <https://datatracker.ietf.org/wg/softwire/>
     WG List:  <mailto:softwire@ietf.org>

     Author:  Mohamed Boucadair 
              <mailto:mohamed.boucadair@orange.com>";
     
   description
      "This is an example YANG module to extend the Interface YANG 
       module with tunnel-specific parameters.

      Copyright (c) 2019 IETF Trust and the persons identified as
      authors of the code.  All rights reserved.

      Redistribution and use in source and binary forms, with or
      without modification, is permitted pursuant to, and subject
      to the license terms contained in, the Simplified BSD License
      set forth in Section 4.c of the IETF Trust's Legal Provisions
      Relating to IETF Documents
      (http://trustee.ietf.org/license-info).

      This version of this YANG module is part of RFC 8675; see
      the RFC itself for full legal notices.";

  revision 2019-10-21 {
    description
      "Initial revision.";
    reference
      "RFC 8675:  Tunnel Interface Types YANG Module";
  }

  augment "/if:interfaces/if:interface" {
    when "derived-from(if:type, 'iana-tunnel-type:gre')";
    description 
      "Augments Interface module with specific tunnel parameters."; 
        
    leaf remote-endpoint {
      type inet:ipv6-address;
      description 
        "IPv6 address of the remote GRE endpoint.";
    }   
  }
}
]]></sourcecode>
    </section>
    <section anchor="ack" numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>Special thanks to Tom Petch and Martin Bjorklund for the detailed
      review and suggestions.</t>
      <t>Thanks to Andy Bierman for the Yangdoctors review.</t>
      <t>Thanks to Dale Worley, David Black, and Yaron Sheffer for the
      review.</t>
    </section>
  </back>
</rfc>
