A YANG Data Model for Tunnel Interface Types
Orange
Rennes
35000
France
mohamed.boucadair@orange.com
Deutsche Telekom AG
CTO-ATI, Landgrabenweg 151
Bonn
NRW
53227
Germany
ian.farrer@telekom.de
Cisco Systems, Inc.
7025 Kit Creek Rd.
RTP
NC
27709
United States of America
Rajiva@cisco.com
Softwire Working Group
softwire
Augment tunnel
tunnel management
tunnel provisioning
tunnel activation
tunnel automation
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.
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.
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.
Introduction
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 . The
latest revision of this module can be obtained from the IANA website.
Tunnel-specific extensions may be added to the Interface module as a function of the tunnel type. An example of
this is provided in . 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 .
Likewise, it is out of the scope of this document to update the existing
IANA tunnelType registry with a
comprehensive list of tunnel technologies. Guidelines and registration
procedures for interface types and sub-types are discussed in .
This document uses the common YANG types defined in and adopts the Network Management Datastore
Architecture (NMDA ).
The terminology for describing YANG modules is defined in . The meanings of the symbols used in the tree
diagram are defined in .
IANA Tunnel Type YANG Module
The iana-tunnel-type module imports the 'iana-if-type' module defined
in .
The initial version of the module includes tunnel types defined in
, , , and .
";
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";
}
}
]]>
Security Considerations
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 or RESTCONF . The lowest NETCONF layer is the
secure transport layer, and the mandatory-to-implement secure transport is
Secure Shell (SSH) . The lowest RESTCONF
layer is HTTPS, and the mandatory-to-implement secure transport is TLS
.
The Network Configuration Access Control Model (NACM) 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.
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.
IANA Considerations
YANG Module
IANA has registered the following URI in the
"ns" subregistry within the "IETF XML Registry" :
- URI:
- urn:ietf:params:xml:ns:yang:iana-tunnel-type
- Registrant Contact:
- IANA
- XML:
- N/A; the requested URI is an XML namespace.
IANA registered the
following YANG module in the "YANG Module Names" subregistry within the "YANG Parameters" registry.
- Name:
- iana-tunnel-type
- Namespace:
- urn:ietf:params:xml:ns:yang:iana-tunnel-type
- Prefix:
- iana-tunnel-type
- Reference:
- RFC 8675
This document defines the initial version of the IANA-maintained
iana-tunnel-type YANG module. IANA has added this note to the registry:
-
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].
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:
- "base":
- Contains 'ift:tunnel'.
- "description":
- Replicates the description
from the registry.
- "reference":
- Replicates the reference from
the registry and adds the title of the document.
Unassigned or reserved values are not present in the module.
When the iana-tunnel-type YANG module is updated, a new "revision"
statement must be added in front of the existing revision
statements.
IANA has added the following note to "tunnelType"
subregistry:
- When this registry is modified, the YANG module
iana-tunnel-type must be updated as defined in RFC 8675.
Updates to the IANA tunnelType Table
IANA has updated the following entries in the tunnelType registry under
the SMI Numbers registry .
OLD:
Decimal |
Name |
Description |
References |
2 |
direct |
no intermediate header |
|
3 |
gre |
GRE encapsulation |
|
4 |
minimal |
Minimal encapsulation |
|
5 |
l2tp |
L2TP encapsulation |
|
6 |
pptp |
PPTP encapsulation |
|
7 |
l2f |
L2F encapsulation |
|
8 |
udp |
UDP encapsulation |
|
9 |
atmp |
ATMP encapsulation |
|
10 |
msdp |
MSDP encapsulation |
|
11 |
sixToFour |
6to4 encapsulation |
|
12 |
sixOverFour |
6over4 encapsulation |
|
13 |
isatap |
ISATAP encapsulation |
|
14 |
teredo |
Teredo encapsulation |
|
16 |
softwireMesh |
softwire mesh tunnel |
|
17 |
dsLite |
DS-Lite tunnel |
|
NEW:
Decimal |
Name |
Description |
References |
2 |
direct |
no intermediate header |
|
3 |
gre |
GRE encapsulation |
|
4 |
minimal |
Minimal encapsulation |
|
5 |
l2tp |
L2TP encapsulation |
|
6 |
pptp |
PPTP encapsulation |
|
7 |
l2f |
L2F encapsulation |
|
8 |
udp |
UDP encapsulation |
|
9 |
atmp |
ATMP encapsulation |
|
10 |
msdp |
MSDP encapsulation |
|
11 |
sixToFour |
6to4 encapsulation |
|
12 |
sixOverFour |
6over4 encapsulation |
|
13 |
isatap |
ISATAP encapsulation |
|
14 |
teredo |
Teredo encapsulation |
|
16 |
softwireMesh |
softwire mesh tunnel |
|
17 |
dsLite |
DS-Lite tunnel |
|
References
Normative References
Structure of Management Information (SMI) Numbers (MIB Module
Registrations)
IANA
Informative References
YANG Modules for IPv4-in-IPv6 Address plus Port (A+P) Softwires
Example Usage
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:
The 'example-iftunnel-extension' module imports the modules defined
in and in
addition to the "iana-tunnel-type" module defined in this document.
WG List:
Author: Mohamed Boucadair
";
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.";
}
}
}
]]>
Acknowledgements
Special thanks to Tom Petch and Martin Bjorklund for the detailed
review and suggestions.
Thanks to Andy Bierman for the Yangdoctors review.
Thanks to Dale Worley, David Black, and Yaron Sheffer for the
review.