draft-ietf-softwire-dslite-yang-06.txt   draft-ietf-softwire-dslite-yang-07.txt 
Network Working Group M. Boucadair Network Working Group M. Boucadair
Internet-Draft C. Jacquenet Internet-Draft C. Jacquenet
Intended status: Standards Track Orange Intended status: Standards Track Orange
Expires: February 22, 2018 S. Sivakumar Expires: April 12, 2018 S. Sivakumar
Cisco Systems Cisco Systems
August 21, 2017 October 9, 2017
YANG Data Models for the DS-Lite YANG Data Modules for the DS-Lite
draft-ietf-softwire-dslite-yang-06 draft-ietf-softwire-dslite-yang-07
Abstract Abstract
This document defines YANG data models for the DS-Lite Address Family This document defines YANG modules for the DS-Lite Address Family
Transition Router (AFTR) and Basic Bridging BroadBand (B4) elements . Transition Router (AFTR) and Basic Bridging BroadBand (B4) elements .
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on February 22, 2018. This Internet-Draft will expire on April 12, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 2. DS-Lite YANG Modules: An Overview . . . . . . . . . . . . . . 4
2. DS-Lite YANG Data Models . . . . . . . . . . . . . . . . . . 4 3. DS-Lite AFTR YANG Module . . . . . . . . . . . . . . . . . . 7
3. DS-Lite AFTR YANG Module . . . . . . . . . . . . . . . . . . 6 4. DS-Lite B4 YANG Module . . . . . . . . . . . . . . . . . . . 13
4. DS-Lite B4 YANG Module . . . . . . . . . . . . . . . . . . . 12 5. Security Considerations . . . . . . . . . . . . . . . . . . . 16
5. Security Considerations . . . . . . . . . . . . . . . . . . . 14 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 8.1. Normative references . . . . . . . . . . . . . . . . . . 17
8.1. Normative references . . . . . . . . . . . . . . . . . . 15 8.2. Informative references . . . . . . . . . . . . . . . . . 18
8.2. Informative references . . . . . . . . . . . . . . . . . 16 Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 20
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 18 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
This document defines data models for DS-Lite [RFC6333], using the This document defines data models for DS-Lite [RFC6333], using the
YANG data modeling language [RFC6020]. Both the Address Family YANG data modeling language [RFC7950]. Both the Address Family
Transition Router (AFTR) and Basic Bridging BroadBand (B4) elements Transition Router (AFTR) and Basic Bridging BroadBand (B4) elements
are covered by this specification. As a reminder, Figure 1 are covered by this specification. As a reminder, Figure 1
illustrates an overview of the DS-Lite architecture that involves illustrates an overview of the DS-Lite architecture that involves
AFTR and B4 elements. AFTR and B4 elements.
+-----------+ +-----------+
| Host | | Host |
+-----+-----+ +-----+-----+
|10.0.0.1 |10.0.0.1
| |
skipping to change at page 4, line 13 skipping to change at page 4, line 13
Figure 1: DS-Lite Base Architecture Figure 1: DS-Lite Base Architecture
DS-Lite deployment considerations are discussed in [RFC6908]. DS-Lite deployment considerations are discussed in [RFC6908].
This document follows the guidelines of [RFC6087], uses the common This document follows the guidelines of [RFC6087], uses the common
YANG types defined in [RFC6991], and adopts Network Management YANG types defined in [RFC6991], and adopts Network Management
Datastore Architecture (NMDA). Datastore Architecture (NMDA).
1.1. Terminology 1.1. Terminology
This document makes use of the terms defined in [RFC6333]. This document makes use of the terms defined in Section 3 of
[RFC6333].
The terminology for describing YANG data models is defined in The terminology for describing YANG data modules is defined in
[RFC6020]. [RFC7950].
1.2. Tree Diagrams The meaning of the symbols in tree diagrams is defined in
[I-D.ietf-netmod-yang-tree-diagrams].
The meaning of the symbols in these diagrams is as follows: 2. DS-Lite YANG Modules: An Overview
o Brackets "[" and "]" enclose list keys. As shown in Figure 1:
o Curly braces "{" and "}" contain names of optional features that o The AFTR element is a combination of an IPv4-in-IPv6
make the corresponding node conditional. encapsualtion/decapsulation function and a NAT function.
o Abbreviations before data node names: "rw" means configuration o The B4 element is an IPv4-in-IPv6 encapsulation function.
(read-write), "ro" state data (read-only).
o Symbols after data node names: "?" means an optional node, "!" a Therefore, the AFTR YANG module is designed to augment both the
container with presence, and "*" denotes a "list" or "leaf-list". Interfaces YANG module [RFC7223] and the NAT YANG module
[I-D.ietf-opsawg-nat-yang] with DS-Lite specific features. The B4
YANG module augments the interfaces YANG module.
o Parentheses enclose choice and case nodes, and case nodes are also Concretely, the AFTR YANG module (Figure 2) augments the Interfaces
marked with a colon (":"). YANG module with the following:
o Ellipsis ("...") stands for contents of subtrees that are not o An IPv6 address used by the AFTR for sending and receiving IPv4-
shown. in-IPv6 packets (aftr-ipv6-address).
2. DS-Lite YANG Data Models o An IPv4 address that is used by the AFTR for troubleshooting
purposes (aftr-ipv4-address): According to [RFC6333], that address
can be used to report ICMP problems and will appear in traceroute
outputs.
Figure 2 depicts the YANG data model for the AFTR element, while o The tunnel MTU to avoid fragmentation (tunnel-mtu): Since using an
Figure 3 shows the YANG data model for the B4 element. IPv4-in-IPv6 encapsulation to carry IPv4 traffic over IPv6 reduces
the effective MTU of the datagram, operators should be able to
increase the MTU size by at least 40 bytes to accommodate both the
IPv6 encapsulation header and the IPv4 datagram without
fragmenting the IPv6 packet (Section 2.2 of [RFC6908]).
As shown in Figure 1: o A policy to limit the number of DS-Lite softwires per subscriber
(max-softwire-per-subscriber): This policy aims to prevent a
misbehaving subscriber from mounting several DS-Lite softwires
that would consume additional AFTR resources (e.g., get more
external ports if the quota were enforced on a per-softwire basis,
consume extra processing due to a large number of active
softwires) [RFC7785].
o The AFTR element is a combination of an IPv4-in-IPv6 o A DSCP marking policy to be followed when encapsulating/
encapsualtion/decapsulation function and a NAT function. decapsulating packets (v6-v4-dscp-preservation): Section 2.10 of
[RFC6908] discusses the uniform model which assumes that
implementations of this model copy the DSCP value to the outer IP
header at encapsulation and copy the outer header's DSCP value to
the inner IP header at decapsulation. Operators should configure
the AFTR so that it copies the DSCP value in the IPv4 header to
the Traffic Class field in the IPv6 header, and vice versa.
o The B4 element is an IPv4-in-IPv6 encapsulation function. In addition, the AFTR YANG module augments the NAT YANG module (nat-
policy, in particular) with the following:
Therefore, the AFTR YANG module is designed to augment both the o A policy to instruct the AFTR whether a state can be automatically
Interfaces YANG module [RFC7223] and the NAT YANG module migrated (state-migrate): This policy avoids stale mappings at the
AFTR and minimizes the risk of service disruption for subscribers.
According to [RFC7785], the AFTR should migrate existing state to
be bound to the new IPv6 address in the event a new IPv6 address
is assigned to the B4 element. This operation ensures that
traffic destined to the previous B4's IPv6 address will be
redirected to the newer B4's IPv6 address.
[I-D.ietf-opsawg-nat-yang] with DS-Lite specific features. The B4 o An instruction to rewrite the TCP Maximum Segment Size (MSS)
YANG module augments the interfaces YANG module. option (mss-clamping) to avoid TCP fragmentation.
This document assumes [RFC4787][RFC5382][RFC5508] are enabled by Given that the NAT44 table of the AFTR element is extended to include
default. Also, the data model adheres to the recommendations in the source IPv6 address of incoming packets, the AFTR YANG module
[RFC6888] and [RFC7857]. Furthermore, the data model supports state augments the NAT mapping-entry with the following:
migration as per [RFC7785].
PCP-related considerations are out of scope of the document. A YANG o b4-ipv6-address which is used to record the source IPv6 address of
data model for PCP is documented in [I-D.boucadair-pcp-yang]. a packet received from a B4 element. This IPv6 address is
required to disambiguate between the overlapping IPv4 address
space of customers.
o The value of the Traffic Class field in the IPv6 header as
received from a B4 element (v6-dscp): This information is used to
preserve DSCP marking when encapsulating/decapsulationg at the
AFTR.
o The IPv4 DSCP marking of the IPv4 packet received from a B4
element (internal-v4-dscp): This information can be used by the
AFTR fro enforcing the poi
o The IPv4 DSCP marking as set by the AFTR in its external interface
(external-v4-dscp): An AFTR can be instructed to preserve the same
marking or to set it to another value when forwarding an IPv4
packet upstream.
module: ietf-dslite-aftr module: ietf-dslite-aftr
augment /if:interfaces/if:interface: augment /if:interfaces/if:interface:
+--rw aftr-ipv6-address? inet:ipv6-address +--rw aftr-ipv6-address? inet:ipv6-address
+--rw aftr-ipv4-address? inet:ipv4-address +--rw aftr-ipv4-address? inet:ipv4-address
+--rw tunnel-mtu? uint16 +--rw tunnel-mtu? uint16
+--rw max-softwire-per-subscriber? uint8 +--rw max-softwire-per-subscriber? uint8
+--rw v6-v4-dscp-preservation? boolean +--rw v6-v4-dscp-preservation? boolean
augment /nat:nat-module/nat:nat-instances/nat:nat-instance: augment /nat:nat-module/nat:nat-instances/nat:nat-instance/nat:nat-policy:
+--rw state-migrate? boolean +--rw state-migrate? boolean
+--rw mss-clamping +--rw mss-clamping
+--rw mss-clamping-enable? boolean +--rw mss-clamping-enable? boolean
+--rw mss-value? uint16 +--rw mss-value? uint16
augment /nat:nat-module/nat:nat-instances/nat:nat-instance/nat:mapping-table/nat:mapping-entry: augment /nat:nat-module/nat:nat-instances/nat:nat-instance/nat:mapping-table/nat:mapping-entry:
+--rw b4-ipv6-address? inet:ipv6-address +--rw b4-ipv6-address? inet:ipv6-address
+--rw v6-dscp? uint8 +--rw v6-dscp? uint8
+--rw internal-v4-dscp? uint8 +--rw internal-v4-dscp? uint8
+--rw external-v4-dscp? uint8 +--rw external-v4-dscp? uint8
Figure 2: YANG Data Model for DS-Lite AFTR Figure 2: YANG Module for DS-Lite AFTR
Examples to illustrate the use of this module are provided in Examples to illustrate the use of this module are provided in
Appendix A. Appendix A.
A B4 instance is provided with the IPv6 address of the AFTR to use, The B4 YANG module (Figure 3) augments the Interfaces YANG module
an (optional) instruction whether DSCP marking is to preserved when with the following:
encapsulating an IPv4 packet in an IPv6 packet, and other optional
parameters shown in Figure 3. o An IPv6 address used by a B4 element for sending and receiving
IPv4-in-IPv6 packets (b4-ipv6-address).
o The IPv6 address of the AFTR to use by a B4 element (aftr-
ipv6-addr).
o An IPv4 address that is used by a B4 element for troubleshooting
purposes (b4-ipv4-address).
o The tunnel MTU at the B4 side to avoid fragmentation (tunnel-mtu).
o An instruction whether DSCP marking is to preserved when
encapsulating an IPv4 packet in an IPv6 packet (v6-v4-dscp-
preservation).
module: ietf-dslite-b4 module: ietf-dslite-b4
augment /if:interfaces/if:interface: augment /if:interfaces/if:interface:
+--rw b4-ipv6-address? inet:ipv6-address +--rw b4-ipv6-address? inet:ipv6-address
+--rw aftr-ipv6-addr? inet:ipv6-address +--rw aftr-ipv6-addr? inet:ipv6-address
+--rw b4-ipv4-address? inet:ipv4-address +--rw b4-ipv4-address? inet:ipv4-address
+--rw tunnel-mtu? uint16 +--rw tunnel-mtu? uint16
+--rw v6-v4-dscp-preservation? boolean +--rw v6-v4-dscp-preservation? boolean
Figure 3: YANG Data Model for DS-Lite B4 Figure 3: YANG Module for DS-Lite B4
PCP-related considerations are out of scope of the document. A YANG
module for PCP is documented in [I-D.boucadair-pcp-yang].
3. DS-Lite AFTR YANG Module 3. DS-Lite AFTR YANG Module
<CODE BEGINS> file "ietf-dslite-aftr@2017-08-10.yang" <CODE BEGINS> file "ietf-dslite-aftr@2017-10-09.yang"
module ietf-dslite-aftr { module ietf-dslite-aftr {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-dslite-aftr"; namespace "urn:ietf:params:xml:ns:yang:ietf-dslite-aftr";
prefix dslite-aftr; prefix dslite-aftr;
import ietf-inet-types { prefix inet; } import ietf-inet-types { prefix inet; }
import ietf-interfaces { prefix if; } import ietf-interfaces { prefix if; }
import iana-if-type { prefix ianaift; } import iana-if-type { prefix ianaift; }
import ietf-nat {prefix nat;} import ietf-nat {prefix nat;}
organization "Softwire Working Group"; organization "Softwire Working Group";
contact contact
skipping to change at page 6, line 41 skipping to change at page 8, line 11
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 XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2017-10-09 {
description "Early yangdoctors review.";
reference "-ietf-07";
}
revision 2017-08-10 { revision 2017-08-10 {
description "The module augments also the Interface module."; description "The module augments also the Interface module.";
reference "-ietf-04"; reference "-ietf-04";
} }
revision 2017-07-27 { revision 2017-07-27 {
description "Redesign the module as an augment of the NAT YANG module."; description "Redesign the module as an augment of the NAT YANG module.";
reference "-ietf-04"; reference "-ietf-04";
} }
revision 2017-07-03 { revision 2017-07-03 {
description "Fix some minor points."; description "Fix some minor points.";
reference "-ietf-03"; reference "-ietf-03";
} }
revision 2017-01-03 { revision 2017-01-03 {
description "Fixed a compilation error: description "Fixed a compilation error:
https://github.com/mbj4668/pyang/issues/296."; https://github.com/mbj4668/pyang/issues/296.";
reference "-ietf-02"; reference "-ietf-02";
} }
revision 2016-11-14 { revision 2016-11-14 {
description "Integrates the comments from Ian: description "Integrates the comments from Ian:
add B4 module, add an MSS leaf, add more details about add B4 module, add an MSS leaf, add more details about
logging protocols, and other edits."; logging protocols, and other edits.";
reference "-ietf-01"; reference "-ietf-01";
} }
revision 2016-07-27 { revision 2016-07-27 {
description "-00 IETF version."; description "-00 IETF version.";
reference "-ietf-00"; reference "-ietf-00";
} }
revision 2016-06-13 { revision 2016-06-13 {
description "Update the module."; description "Update the module.";
reference "-04"; reference "-04";
} }
revision 2015-12-16 { revision 2015-12-16 {
description "Fix an error."; description "Fix an error.";
reference "-03"; reference "-03";
} }
revision 2015-09-01 { revision 2015-09-01 {
description "Add port threshold notifications."; description "Add port threshold notifications.";
reference "-02"; reference "-02";
} }
revision 2015-08-31 { revision 2015-08-31 {
description "Fix a timeout issue."; description "Fix a timeout issue.";
reference "-01"; reference "-01";
} }
revision 2015-08-17 { revision 2015-08-17 {
description "First spec."; description "First spec.";
reference "-00"; reference "-00";
} }
// Augment Interface module with DS-Lite Softwire // Augment Interface module with DS-Lite Softwire
augment "/if:interfaces/if:interface" { augment "/if:interfaces/if:interface" {
when "if:type = 'ianaift:tunnel'"; when "if:type = 'ianaift:tunnel'";
description description
"Augments Interface module with AFTR parameters. "Augments Interface module with AFTR parameters.
IANA interface types are maintained at this registry: IANA interface types are maintained at this registery:
https://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib. https://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib.
tunnel (131), -- Encapsulation interface"; tunnel (131), -- Encapsulation interface";
leaf aftr-ipv6-address { leaf aftr-ipv6-address {
type inet:ipv6-address; type inet:ipv6-address;
description
"IPv6 address of the DS-Lite AFTR.";
reference description
"RFC 6333."; "IPv6 address of the DS-Lite AFTR.";
reference
"RFC 6333.";
} }
leaf aftr-ipv4-address { leaf aftr-ipv4-address {
type inet:ipv4-address; type inet:ipv4-address;
default "192.0.0.1"; default "192.0.0.1";
description description
"IPv4 address of the DS-Lite AFTR. "IPv4 address of the DS-Lite AFTR.
192.0.0.1 is reserved for the AFTR element. 192.0.0.1 is reserved for the AFTR element.
This address can be used to report ICMP This address can be used to report ICMP
problems and will appear in traceroute problems and will appear in traceroute
outputs."; outputs.";
reference reference
"RFC 6333."; "RFC 6333.";
} }
skipping to change at page 9, line 15 skipping to change at page 10, line 40
reference reference
"RFC 6908."; "RFC 6908.";
} }
leaf max-softwire-per-subscriber { leaf max-softwire-per-subscriber {
type uint8; type uint8;
default 1; default 1;
description description
"Configures the maximum softwire per subscriber "Configures the maximum softwires per subscriber
feature. feature.
A subscriber is uniquely identified by means A subscriber is uniquely identified by means
of subscriber-mask. of subscriber-mask.
This policy aims to prevent a misbehaving This policy aims to prevent a misbehaving
subscriber from mounting several DS-Lite subscriber from mounting several DS-Lite
softwires that would consume additional AFTR softwires that would consume additional AFTR
resources (e.g., get more external ports if resources (e.g., get more external ports if
the quota were enforced on a per-softwire basis, the quota were enforced on a per-softwire basis,
skipping to change at page 10, line 4 skipping to change at page 11, line 29
by provisioning the network such that by provisioning the network such that
the AFTR copies the DSCP value in the IPv4 the AFTR copies the DSCP value in the IPv4
header to the Traffic Class field in header to the Traffic Class field in
the IPv6 header, after the encapsulation the IPv6 header, after the encapsulation
for the downstream traffic."; for the downstream traffic.";
reference reference
"Section 2.10 of RFC 6908."; "Section 2.10 of RFC 6908.";
} }
} }
// Augment NAT module with AFTR parameters // Augment NAT module with AFTR parameters
augment "/nat:nat-module/nat:nat-instances/nat:nat-instance" { augment "/nat:nat-module/nat:nat-instances/"+
"nat:nat-instance/nat:nat-policy" {
when "../nat:nat-capabilities/nat:nat-flavor = 'nat:nat44'";
description description
"Augments NAT module with AFTR parameters."; "Augments the NAT44 module with AFTR parameters.";
leaf state-migrate { leaf state-migrate {
type boolean; type boolean;
default true; default true;
description description
"State migration is enabled by default. "State migration is enabled by default.
In the event a new IPv6 address is assigned to the B4 element, In the event a new IPv6 address is assigned to the B4 element,
the AFTR should migrate existing state to be bound to the new the AFTR should migrate existing state to be bound to the new
IPv6 address. This operation ensures that traffic destined to IPv6 address. This operation ensures that traffic destined to
the previous B4's IPv6 address will be redirected to the newer the previous B4's IPv6 address will be redirected to the newer
B4's IPv6 address. The destination IPv6 address for tunneling B4's IPv6 address. The destination IPv6 address for tunneling
return traffic from the AFTR should be the last seen as the B4's return traffic from the AFTR should be the last seen as the B4's
IPv6 source address from the CPE. IPv6 source address from the CPE.
The AFTR uses the subscriber-mask to determine whether two The AFTR uses the subscriber-mask to determine whether two
IPv6 addresses belong to the same CPE (e.g., if the IPv6 addresses belong to the same CPE (e.g., if the
subscriber-mask is set to 56, the AFTR concludes that subscriber-mask is set to 56, the AFTR concludes that
2001:db8:100:100::1 and 2001:db8:100:100::2 belong to the same 2001:db8:100:100::1 and 2001:db8:100:100::2 belong to the same
CPE assigned with 2001:db8:100:100::/56)."; CPE assigned with 2001:db8:100:100::/56).";
reference reference
"RFC 7785."; "RFC 7785.";
} }
container mss-clamping { container mss-clamping {
description description
"MSS rewriting configuration to avoid IPv6 "MSS rewriting configuration to avoid IPv6
fragmentation."; fragmentation.";
leaf mss-clamping-enable { leaf mss-clamping-enable {
type boolean; type boolean;
description description
"Enable/disable MSS rewriting feature."; "Enable/disable MSS rewriting feature.";
} }
leaf mss-value { leaf mss-value {
type uint16; type uint16;
units "octets"; units "octets";
description
"Sets the MSS value to be used for description
MSS rewriting."; "Sets the MSS value to be used for
MSS rewriting.";
} }
} }
} }
// Augment NAT mapping entry: Extended NAT44 mapping Entry // Augment NAT mapping entry: Extended NAT44 mapping Entry
augment "/nat:nat-module/nat:nat-instances/nat:nat-instance/nat:mapping-table/nat:mapping-entry"{ augment "/nat:nat-module/nat:nat-instances/nat:nat-instance/"+
"nat:mapping-table/nat:mapping-entry"{
when "../../nat:nat-capabilities/nat:nat-flavor = 'nat:nat44'";
description description
"Augments the NAT mapping tables with DS-Lite specifics."; "Augments the NAT44 mapping table with DS-Lite specifics.";
leaf b4-ipv6-address { leaf b4-ipv6-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"Corresponds to the IPv6 address "Corresponds to the IPv6 address
used by the B4 element."; used by the B4 element.";
reference reference
"RFC 6333."; "RFC 6333.";
skipping to change at page 12, line 8 skipping to change at page 13, line 42
description description
"DSCP value of the translated IPv4 packet "DSCP value of the translated IPv4 packet
as marked by the AFTR."; as marked by the AFTR.";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
4. DS-Lite B4 YANG Module 4. DS-Lite B4 YANG Module
<CODE BEGINS> file "ietf-dslite-b4@2017-08-10.yang" <CODE BEGINS> file "ietf-dslite-b4@2017-10-09.yang"
module ietf-dslite-b4 { module ietf-dslite-b4 {
namespace "urn:ietf:params:xml:ns:yang:ietf-dslite-b4"; yang-version 1.1;
prefix dslite-b4; namespace "urn:ietf:params:xml:ns:yang:ietf-dslite-b4";
prefix dslite-b4;
import ietf-inet-types { prefix inet; } import ietf-inet-types { prefix inet; }
import ietf-interfaces { prefix if; } import ietf-interfaces { prefix if; }
import iana-if-type { prefix ianaift; } import iana-if-type { prefix ianaift; }
organization "Softwire Working Group";
contact
"Mohamed Boucadair <mohamed.boucadair@orange.com>
Christian Jacquenet <christian.jacquenet@orange.com>
Senthil Sivakumar <ssenthil@cisco.com>";
organization "Softwire Working Group"; description
contact "This module is a YANG module for DS-Lite B4 implementations.
"Mohamed Boucadair <mohamed.boucadair@orange.com>
Christian Jacquenet <christian.jacquenet@orange.com>
Senthil Sivakumar <ssenthil@cisco.com>";
description Copyright (c) 2017 IETF Trust and the persons identified as
"This module is a YANG module for DS-Lite B4 implementations. authors of the code. All rights reserved.
Copyright (c) 2017 IETF Trust and the persons identified as Redistribution and use in source and binary forms, with or
authors of the code. All rights reserved. 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).
Redistribution and use in source and binary forms, with or This version of this YANG module is part of RFC XXXX; see
without modification, is permitted pursuant to, and subject the RFC itself for full legal notices.";
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 XXXX; see revision 2017-10-09 {
the RFC itself for full legal notices."; description "Early yangdoctors review.";
reference "-ietf-07";
}
revision 2017-08-10 { revision 2017-08-10 {
description "Augment the interfaces YANG module."; description "Augment the interfaces YANG module.";
reference "-ietf-05"; reference "-ietf-05";
} }
revision 2017-07-27 { revision 2017-07-27 {
description "Separate B4 from AFTR."; description "Separate B4 from AFTR.";
reference "-ietf-04"; reference "-ietf-04";
} }
// Augment Interface module with DS-Lite Softwire // Augment Interface module with DS-Lite Softwire
augment "/if:interfaces/if:interface" {
when "if:type = 'ianaift:tunnel'";
description augment "/if:interfaces/if:interface" {
when "if:type = 'ianaift:tunnel'";
description
"Augments Interface module with B4 parameters. "Augments Interface module with B4 parameters.
IANA interface types are maintained at this registry: IANA interface types are maintained at this registry:
https://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib. https://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib.
tunnel (131), -- Encapsulation interface"; tunnel (131), -- Encapsulation interface";
leaf b4-ipv6-address { leaf b4-ipv6-address {
type inet:ipv6-address; type inet:ipv6-address;
description description
"The IPv6 address used by the B4 element."; "The IPv6 address used by the B4 element.";
reference reference
"RFC 6333."; "RFC 6333.";
} }
leaf aftr-ipv6-addr { leaf aftr-ipv6-addr {
type inet:ipv6-address; type inet:ipv6-address;
description description
"The AFTR's IPv6 address."; "The AFTR's IPv6 address.";
reference reference
"RFC 6333."; "RFC 6333.";
} }
leaf b4-ipv4-address { leaf b4-ipv4-address {
type inet:ipv4-address; type inet:ipv4-address;
default "192.0.0.2"; default "192.0.0.2";
description description
"IPv4 address of the DS-Lite B4. "IPv4 address of the DS-Lite B4.
192.0.0.0/29 is reserved for the B4 element 192.0.0.0/29 is reserved for the B4 element.
[RFC6333]. This address can be used to report ICMP
This address can be used to report ICMP problems and will appear in traceroute
problems and will appear in traceroute outputs.";
outputs.";
reference reference
"RFC 6333."; "RFC 6333.";
} }
leaf tunnel-mtu { leaf tunnel-mtu {
type uint16; type uint16;
description
"Configures a tunnel MTU.
[RFC6908] specifies that since
fragmentation and reassembly is not
optimal, the operator should do
everything possible to eliminate
the need for it. If the operator uses
simple IPv4-in-IPv6 softwire, it is
recommended that the MTU size of the IPv6
network between the B4 and the AFTR
accounts for the additional overhead
(40 bytes).";
reference description
"RFC 6908."; "Configures a tunnel MTU.
} [RFC6908] specifies that since
fragmentation and reassembly is not
optimal, the operator should do
everything possible to eliminate
the need for it. If the operator uses
simple IPv4-in-IPv6 softwire, it is
recommended that the MTU size of the IPv6
network between the B4 and the AFTR
accounts for the additional overhead
(40 bytes).";
leaf v6-v4-dscp-preservation { reference
type boolean; "RFC 6908.";
}
description leaf v6-v4-dscp-preservation {
"Copies the DSCP value from the IPv6 header type boolean;
and vice versa.
According to Section 2.10 of [RFC6908], description
operators should use this model "Copies the DSCP value from the IPv6 header
by provisioning the network such that and vice versa.
the AFTR copies the DSCP value in the IPv4 Operators should use this model
header to the Traffic Class field in by provisioning the network such that
the IPv6 header, after the encapsulation the AFTR copies the DSCP value in the IPv4
for the downstream traffic."; header to the Traffic Class field in
the IPv6 header, after the encapsulation
for the downstream traffic.";
reference
"Section 2.10 of RFC 6908.";
} }
} }
} }
} <CODE ENDS>
}
<CODE ENDS>
5. Security Considerations 5. Security Considerations
The YANG module defined in this memo is designed to be accessed via The YANG module defined in this memo is designed to be accessed via
the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the
secure transport layer and the support of SSH is mandatory to secure transport layer and the support of SSH is mandatory to
implement secure transport [RFC6242]. The NETCONF access control implement secure transport [RFC6242]. The NETCONF access control
model [RFC6536] provides means to restrict access for particular model [RFC6536] provides means to restrict access for particular
NETCONF users to a pre-configured subset of all available NETCONF NETCONF users to a pre-configured subset of all available NETCONF
protocol operations and contents. protocol operations and contents.
skipping to change at page 15, line 25 skipping to change at page 17, line 14
URI: urn:ietf:params:xml:ns:yang:ietf-dslite-aftr URI: urn:ietf:params:xml:ns:yang:ietf-dslite-aftr
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A; the requested URI is an XML namespace. XML: N/A; the requested URI is an XML namespace.
URI: urn:ietf:params:xml:ns:yang:ietf-dslite-b4 URI: urn:ietf:params:xml:ns:yang:ietf-dslite-b4
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A; the requested URI is an XML namespace. XML: N/A; the requested URI is an XML namespace.
This document requests IANA to register the following YANG modules in This document requests IANA to register the following YANG modules in
the "YANG Module Names" registry [RFC6020]. the "YANG Module Names" registry [RFC7950].
name: ietf-dslite-aftr name: ietf-dslite-aftr
namespace: urn:ietf:params:xml:ns:yang:ietf-dslite-aftr namespace: urn:ietf:params:xml:ns:yang:ietf-dslite-aftr
prefix: dslite-aftr prefix: dslite-aftr
reference: RFC XXXX reference: RFC XXXX
name: ietf-dslite-b4 name: ietf-dslite-b4
namespace: urn:ietf:params:xml:ns:yang:ietf-dslite-b4 namespace: urn:ietf:params:xml:ns:yang:ietf-dslite-b4
prefix: dslite-b4 prefix: dslite-b4
reference: RFC XXXX reference: RFC XXXX
7. Acknowledgements 7. Acknowledgements
Thanks to Q. Wu for identifying a compiling error. Thanks to Q. Wu for identifying a compiling error. Mahesh
Jethanandani provided an eraly ynagdoctors review; many thanks to
him.
Many thanks to Ian Farrer for the review and comments. Many thanks to Ian Farrer for the review and comments
8. References 8. References
8.1. Normative references 8.1. Normative references
[I-D.ietf-opsawg-nat-yang] [I-D.ietf-opsawg-nat-yang]
Boucadair, M., Sivakumar, S., Jacquenet, C., Vinapamula, Boucadair, M., Sivakumar, S., Jacquenet, C., Vinapamula,
S., and Q. Wu, "A YANG Data Model for Network Address S., and Q. Wu, "A YANG Data Model for Network Address
Translation (NAT) and Network Prefix Translation (NPT)", Translation (NAT) and Network Prefix Translation (NPT)",
draft-ietf-opsawg-nat-yang-01 (work in progress), August draft-ietf-opsawg-nat-yang-05 (work in progress), October
2017. 2017.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, <https://www.rfc- DOI 10.17487/RFC3688, January 2004,
editor.org/info/rfc3688>. <https://www.rfc-editor.org/info/rfc3688>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010, <https://www.rfc-
editor.org/info/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<https://www.rfc-editor.org/info/rfc6242>. <https://www.rfc-editor.org/info/rfc6242>.
[RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual- [RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
Stack Lite Broadband Deployments Following IPv4 Stack Lite Broadband Deployments Following IPv4
Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011, Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011,
<https://www.rfc-editor.org/info/rfc6333>. <https://www.rfc-editor.org/info/rfc6333>.
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
Protocol (NETCONF) Access Control Model", RFC 6536, Protocol (NETCONF) Access Control Model", RFC 6536,
DOI 10.17487/RFC6536, March 2012, <https://www.rfc- DOI 10.17487/RFC6536, March 2012,
editor.org/info/rfc6536>. <https://www.rfc-editor.org/info/rfc6536>.
[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
RFC 6991, DOI 10.17487/RFC6991, July 2013, RFC 6991, DOI 10.17487/RFC6991, July 2013,
<https://www.rfc-editor.org/info/rfc6991>. <https://www.rfc-editor.org/info/rfc6991>.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface [RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<https://www.rfc-editor.org/info/rfc7223>. <https://www.rfc-editor.org/info/rfc7223>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>.
8.2. Informative references 8.2. Informative references
[I-D.boucadair-pcp-yang] [I-D.boucadair-pcp-yang]
Boucadair, M., Jacquenet, C., Sivakumar, S., and S. Boucadair, M., Jacquenet, C., Sivakumar, S., and S.
Vinapamula, "YANG Data Models for the Port Control Vinapamula, "YANG Data Models for the Port Control
Protocol (PCP)", draft-boucadair-pcp-yang-04 (work in Protocol (PCP)", draft-boucadair-pcp-yang-04 (work in
progress), May 2017. progress), May 2017.
[RFC4787] Audet, F., Ed. and C. Jennings, "Network Address [I-D.ietf-netmod-yang-tree-diagrams]
Translation (NAT) Behavioral Requirements for Unicast Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft-
UDP", BCP 127, RFC 4787, DOI 10.17487/RFC4787, January ietf-netmod-yang-tree-diagrams-01 (work in progress), June
2007, <https://www.rfc-editor.org/info/rfc4787>. 2017.
[RFC5382] Guha, S., Ed., Biswas, K., Ford, B., Sivakumar, S., and P.
Srisuresh, "NAT Behavioral Requirements for TCP", BCP 142,
RFC 5382, DOI 10.17487/RFC5382, October 2008,
<https://www.rfc-editor.org/info/rfc5382>.
[RFC5508] Srisuresh, P., Ford, B., Sivakumar, S., and S. Guha, "NAT
Behavioral Requirements for ICMP", BCP 148, RFC 5508,
DOI 10.17487/RFC5508, April 2009, <https://www.rfc-
editor.org/info/rfc5508>.
[RFC6087] Bierman, A., "Guidelines for Authors and Reviewers of YANG [RFC6087] Bierman, A., "Guidelines for Authors and Reviewers of YANG
Data Model Documents", RFC 6087, DOI 10.17487/RFC6087, Data Model Documents", RFC 6087, DOI 10.17487/RFC6087,
January 2011, <https://www.rfc-editor.org/info/rfc6087>. January 2011, <https://www.rfc-editor.org/info/rfc6087>.
[RFC6888] Perreault, S., Ed., Yamagata, I., Miyakawa, S., Nakagawa,
A., and H. Ashida, "Common Requirements for Carrier-Grade
NATs (CGNs)", BCP 127, RFC 6888, DOI 10.17487/RFC6888,
April 2013, <https://www.rfc-editor.org/info/rfc6888>.
[RFC6908] Lee, Y., Maglione, R., Williams, C., Jacquenet, C., and M. [RFC6908] Lee, Y., Maglione, R., Williams, C., Jacquenet, C., and M.
Boucadair, "Deployment Considerations for Dual-Stack Boucadair, "Deployment Considerations for Dual-Stack
Lite", RFC 6908, DOI 10.17487/RFC6908, March 2013, Lite", RFC 6908, DOI 10.17487/RFC6908, March 2013,
<https://www.rfc-editor.org/info/rfc6908>. <https://www.rfc-editor.org/info/rfc6908>.
[RFC7785] Vinapamula, S. and M. Boucadair, "Recommendations for [RFC7785] Vinapamula, S. and M. Boucadair, "Recommendations for
Prefix Binding in the Context of Softwire Dual-Stack Prefix Binding in the Context of Softwire Dual-Stack
Lite", RFC 7785, DOI 10.17487/RFC7785, February 2016, Lite", RFC 7785, DOI 10.17487/RFC7785, February 2016,
<https://www.rfc-editor.org/info/rfc7785>. <https://www.rfc-editor.org/info/rfc7785>.
[RFC7857] Penno, R., Perreault, S., Boucadair, M., Ed., Sivakumar,
S., and K. Naito, "Updates to Network Address Translation
(NAT) Behavioral Requirements", BCP 127, RFC 7857,
DOI 10.17487/RFC7857, April 2016, <https://www.rfc-
editor.org/info/rfc7857>.
Appendix A. Examples Appendix A. Examples
The following example shows an AFTR that is reachable at 2001:db8::2. The following example shows an AFTR that is reachable at 2001:db8::2.
Also, this XML snippet indicates that the AFTR is provided with an Also, this XML snippet indicates that the AFTR is provided with an
IPv4 address (192.0.0.1) to be used for troubleshooting purposes such IPv4 address (192.0.0.1) to be used for troubleshooting purposes such
as reporting problems to B4s. Moreover, the AFTR is instructed to as reporting problems to B4s. Moreover, the AFTR is instructed to
limit the number of softwires per subscriber to '1'. limit the number of softwires per subscriber to '1'.
<interface> <interface>
<name>myAFTR</name> <name>myAFTR</name>
skipping to change at page 19, line 14 skipping to change at page 21, line 14
<mapping-entry> <mapping-entry>
<index>15</index> <index>15</index>
<type> <type>
dynamic-explicit dynamic-explicit
</type> </type>
<transport-protocol> <transport-protocol>
17 17
</transport-protocol> </transport-protocol>
<b4-ipv6-address> <b4-ipv6-address>
192.0.2.1 2001:db8::1
</b4-ipv6-address> </b4-ipv6-address>
<internal-src-address> <internal-src-address>
192.0.2.1 192.0.2.1
</internal-dst-address> </internal-dst-address>
<internal-src-port> <internal-src-port>
<single-port-number> <single-port-number>
1568 1568
</single-port-number> </single-port-number>
</internal-dst-port> </internal-dst-port>
<external-dst-address> <external-dst-address>
 End of changes. 101 change blocks. 
243 lines changed or deleted 306 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/