draft-ietf-softwire-dslite-yang-12.txt   draft-ietf-softwire-dslite-yang-13.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: June 14, 2018 S. Sivakumar Expires: July 13, 2018 S. Sivakumar
Cisco Systems Cisco Systems
December 11, 2017 January 9, 2018
A YANG Data Module for Dual-Stack Lite (DS-Lite) A YANG Data Module for Dual-Stack Lite (DS-Lite)
draft-ietf-softwire-dslite-yang-12 draft-ietf-softwire-dslite-yang-13
Abstract Abstract
This document defines a YANG module for the DS-Lite Address Family This document defines a YANG module for the DS-Lite Address Family
Transition Router (AFTR) and Basic Bridging BroadBand (B4) elements. Transition Router (AFTR) and Basic Bridging BroadBand (B4) elements.
Editorial Note (To be removed by RFC Editor) Editorial Note (To be removed by RFC Editor)
Please update these statements with the RFC number to be assigned to Please update these statements with the RFC number to be assigned to
this document: this document:
skipping to change at page 1, line 44 skipping to change at page 1, line 44
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 14, 2018. This Internet-Draft will expire on July 13, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2018 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
(https://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
skipping to change at page 6, line 46 skipping to change at page 6, line 46
+--ro policy-id -> /nat:nat/instances/instance/policy/id +--ro policy-id -> /nat:nat/instances/instance/policy/id
+--ro address inet:ipv6-address +--ro address inet:ipv6-address
Figure 2: YANG Module for DS-Lite Figure 2: YANG Module for DS-Lite
Examples to illustrate the use of this module are provided in Examples to illustrate the use of this module are provided in
Appendix A and Appendix B. Appendix A and Appendix B.
3. DS-Lite YANG Module 3. DS-Lite YANG Module
<CODE BEGINS> file "ietf-dslite@2017-12-12.yang" <CODE BEGINS> file "ietf-dslite@2018-01-10.yang"
module ietf-dslite { module ietf-dslite {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-dslite"; namespace "urn:ietf:params:xml:ns:yang:ietf-dslite";
prefix dslite; prefix dslite;
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;}
skipping to change at page 7, line 43 skipping to change at page 7, line 43
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-12-12 { revision 2018-01-10 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: A YANG Data Module for Dual-Stack Lite (DS-Lite)"; "RFC XXXX: A YANG Data Module for Dual-Stack Lite (DS-Lite)";
} }
/* /*
* Features * Features
*/ */
skipping to change at page 8, line 28 skipping to change at page 8, line 28
endpoint and an IPv4-IPv4 NAT implemented on the same node."; endpoint and an IPv4-IPv4 NAT implemented on the same node.";
reference reference
"Section 6 of RFC 6333."; "Section 6 of RFC 6333.";
} }
/* /*
* Augments * Augments
*/ */
augment "/if:interfaces/if:interface" { augment "/if:interfaces/if:interface" {
when "if:type = 'ianaift:tunnel'"; when 'derived-from(if:type, "ianaift:tunnel")';
description description
"Augments Interface module with DS-Lite parameters. "Augments Interface module with DS-Lite 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 ipv6-address { leaf ipv6-address {
type inet:ipv6-address; type inet:ipv6-address;
skipping to change at page 10, line 5 skipping to change at page 10, line 5
According to Section 2.10 of [RFC6908], operators should According to Section 2.10 of [RFC6908], operators should
use this model by provisioning the network such that the use this model by provisioning the network such that the
AFTR/B4 copies the DSCP value in the IPv4 header to AFTR/B4 copies the DSCP value in the IPv4 header to
the Traffic Class field in the IPv6 header, after the the Traffic Class field in the IPv6 header, after the
encapsulation for the downstream traffic."; encapsulation for the downstream traffic.";
reference reference
"Section 2.10 of RFC 6908."; "Section 2.10 of RFC 6908.";
} }
} }
augment "/nat:nat/nat:instances/nat:instance/nat:policy" { augment "/nat:nat/nat:instances/nat:instance/nat:policy" {
when "/nat:nat/nat:instances/nat:instance/nat:type='nat:napt44'" + when "derived-from-or-self(/nat:nat/nat:instances/nat:instance/" +
"nat:type, 'nat:napt44')" +
" and /nat:nat/nat:instances/nat:instance/" + " and /nat:nat/nat:instances/nat:instance/" +
"nat:per-interface-binding='dslite'"; "nat:per-interface-binding='dslite'";
if-feature aftr; if-feature aftr;
description description
"Augments the NAPT44 module with AFTR parameters."; "Augments the NAPT44 module with AFTR parameters.";
leaf max-softwires-per-subscriber { leaf max-softwires-per-subscriber {
type uint8; type uint8;
default 1; default 1;
description description
skipping to change at page 11, line 50 skipping to change at page 11, line 50
leaf mss-value { leaf mss-value {
type uint16; type uint16;
units "octets"; units "octets";
description description
"Sets the MSS value to be used for MSS rewriting."; "Sets the MSS value to be used for MSS rewriting.";
} }
} }
} }
augment "/nat:nat/nat:instances/nat:instance/"+ augment "/nat:nat/nat:instances/nat:instance/"+
"nat:mapping-table/nat:mapping-entry" { "nat:mapping-table/nat:mapping-entry" {
when "/nat:nat/nat:instances/nat:instance/nat:type='nat:napt44'" + when "derived-from-or-self(/nat:nat/nat:instances/nat:instance/" +
"nat:type, 'nat:napt44')" +
" and /nat:nat/nat:instances/nat:instance/" + " and /nat:nat/nat:instances/nat:instance/" +
"nat:per-interface-binding='dslite'"; "nat:per-interface-binding='dslite'";
if-feature aftr; if-feature aftr;
description description
"Augments the NAPT44 mapping table with DS-Lite specifics."; "Augments the NAPT44 mapping table with DS-Lite specifics.";
container b4-ipv6-address { container b4-ipv6-address {
description description
"Records the IPv6 address used by a B4 element and the last "Records the IPv6 address used by a B4 element and the last
time that address changed."; time that address changed.";
skipping to change at page 12, line 32 skipping to change at page 12, line 33
leaf last-address-change { leaf last-address-change {
type yang:date-and-time; type yang:date-and-time;
description description
"Records the last time when the address changed."; "Records the last time when the address changed.";
} }
} }
leaf v6-dscp { leaf v6-dscp {
when "/if:interfaces/if:interface/" + when "/if:interfaces/if:interface/" +
"dslite:v6-v4-dscp-preservation='true'"; "dslite:v6-v4-dscp-preservation='true'";
type uint8; type uint8;
description description
"DSCP value used at the softwire level (i.e., IPv6 header)."; "DSCP value used at the softwire level (i.e., IPv6 header).";
} }
leaf internal-v4-dscp { leaf internal-v4-dscp {
when "/if:interfaces/if:interface/" + when "/if:interfaces/if:interface/" +
"dslite:v6-v4-dscp-preservation='true'"; "dslite:v6-v4-dscp-preservation='true'";
type uint8; type uint8;
description description
"DSCP value of the encapsulated IPv4 packet."; "DSCP value of the encapsulated IPv4 packet.";
} }
leaf external-v4-dscp { leaf external-v4-dscp {
when "/if:interfaces/if:interface/" + when "/if:interfaces/if:interface/" +
"dslite:v6-v4-dscp-preservation='true'"; "dslite:v6-v4-dscp-preservation='true'";
type uint8; type uint8;
description description
"DSCP value of the translated IPv4 packet as marked by "DSCP value of the translated IPv4 packet as marked by
the AFTR."; the AFTR.";
} }
} }
augment "/nat:nat/nat:instances/nat:instance/nat:statistics/" + augment "/nat:nat/nat:instances/nat:instance/nat:statistics/" +
"nat:mappings-statistics" { "nat:mappings-statistics" {
if-feature aftr; if-feature aftr;
skipping to change at page 17, line 21 skipping to change at page 17, line 25
October 2017. October 2017.
[I-D.ietf-netmod-acl-model] [I-D.ietf-netmod-acl-model]
Jethanandani, M., Huang, L., Agarwal, S., and D. Blair, Jethanandani, M., Huang, L., Agarwal, S., and D. Blair,
"Network Access Control List (ACL) YANG Data Model", "Network Access Control List (ACL) YANG Data Model",
draft-ietf-netmod-acl-model-14 (work in progress), October draft-ietf-netmod-acl-model-14 (work in progress), October
2017. 2017.
[I-D.ietf-netmod-yang-tree-diagrams] [I-D.ietf-netmod-yang-tree-diagrams]
Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft- Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft-
ietf-netmod-yang-tree-diagrams-02 (work in progress), ietf-netmod-yang-tree-diagrams-04 (work in progress),
October 2017. December 2017.
[RFC3022] Srisuresh, P. and K. Egevang, "Traditional IP Network [RFC3022] Srisuresh, P. and K. Egevang, "Traditional IP Network
Address Translator (Traditional NAT)", RFC 3022, Address Translator (Traditional NAT)", RFC 3022,
DOI 10.17487/RFC3022, January 2001, DOI 10.17487/RFC3022, January 2001,
<https://www.rfc-editor.org/info/rfc3022>. <https://www.rfc-editor.org/info/rfc3022>.
[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>.
skipping to change at page 18, line 11 skipping to change at page 18, line 11
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>.
Appendix A. B4 Example Appendix A. B4 Example
The following example shows a B4 element (2001:db8:0:1::1) that is The following example shows a B4 element (2001:db8:0:1::1) that is
configured with an AFTR element (2001:db8:0:2::1). The B4 element is configured with an AFTR element (2001:db8:0:2::1). The B4 element is
also instructed to preserve the DSCP marking. also instructed to preserve the DSCP marking.
<interfaces> <interfaces>
<interface> <interface>
<name>myB4</name> <name>myB4</name>
<type>ianaift:tunnel</type> <type>ianaift:tunnel</type>
<enabled>true</enabled> <enabled>true</enabled>
<dslite:ipv6-address>2001:db8:0:1::1</dslite:ipv6-address> <dslite:ipv6-address>2001:db8:0:1::1</dslite:ipv6-address>
<dslite:aftr-ipv6-addr>2001:db8:0:2::1</dslite:aftr-ipv6-addr> <dslite:aftr-ipv6-addr>2001:db8:0:2::1</dslite:aftr-ipv6-addr>
<dslite:v6-v4-dscp-preservation>true</dslite:v6-v4-dscp-preservation> <dslite:v6-v4-dscp-preservation>true</dslite:v6-v4-dscp-preservation>
</interface> </interface>
</interfaces> </interfaces>
Appendix B. AFTR Examples Appendix B. AFTR Examples
The following example shows an AFTR that is reachable at The following example shows an AFTR that is reachable at
2001:db8:0:2::1. Also, this XML snippet indicates that the AFTR is 2001:db8:0:2::1. Also, this XML snippet indicates that the AFTR is
provided with an IPv4 address (192.0.0.1) to be used for provided with an IPv4 address (192.0.0.1) to be used for
troubleshooting purposes such as reporting problems to B4s. troubleshooting purposes such as reporting problems to B4s.
Note that a subscriber is identified by a subscriber mask ([RFC7785]) Note that a subscriber is identified by a subscriber mask ([RFC7785])
that can be configured by means of [I-D.ietf-opsawg-nat-yang]. that can be configured by means of [I-D.ietf-opsawg-nat-yang].
<interfaces> <interfaces>
<interface> <interface>
<name>myAFTR</name> <name>myAFTR</name>
<type>ianaift:tunnel</type> <type>ianaift:tunnel</type>
<enabled>true</enabled> <enabled>true</enabled>
<dslite:ipv6-address>2001:db8:0:2::1</dslite:ipv6-address> <dslite:ipv6-address>2001:db8:0:2::1</dslite:ipv6-address>
<dslite:ipv4-address>192.0.0.1</dslite:ipv4-address> <dslite:ipv4-address>192.0.0.1</dslite:ipv4-address>
</interface> </interface>
</interfaces> </interfaces>
The following shows an XML excerpt depicting a dynamic UDP mapping The following shows an XML excerpt depicting a dynamic UDP mapping
entry maintained by a DS-Lite AFTR for a packet received from the B4 entry maintained by a DS-Lite AFTR for a packet received from the B4
element introduced in Appendix A. Concretely, this UDP packet element introduced in Appendix A. Concretely, this UDP packet
received with a source IPv6 address (2001:db8:0:1::1), a source IPv4 received with a source IPv6 address (2001:db8:0:1::1), a source IPv4
address (192.0.2.1), and source port number (1568) is translated into address (192.0.2.1), and source port number (1568) is translated into
a UDP packet having a source IPv4 address (198.51.100.1) and source a UDP packet having a source IPv4 address (198.51.100.1) and source
port number (15000). The remaining lifetime of this mapping is 300 port number (15000). The remaining lifetime of this mapping is 300
seconds. seconds.
<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>
<dslite:b4-ipv6-address> <dslite:b4-ipv6-address>
<dslite:address> <dslite:address>
2001:db8:0:1::1 2001:db8:0:1::1
</dslite:address> </dslite:address>
</dslite:b4-ipv6-address> </dslite:b4-ipv6-address>
<internal-src-address> <internal-src-address>
192.0.2.1 192.0.2.1
</internal-src-address> </internal-src-address>
<internal-src-port> <internal-src-port>
<start-port-number> <start-port-number>
1568 1568
</start-port-number> </start-port-number>
</internal-src-port> </internal-src-port>
<external-src-address> <external-src-address>
198.51.100.1 198.51.100.1
</external-src-address> </external-src-address>
<external-src-port> <external-src-port>
<start-port-number> <start-port-number>
15000 15000
</start-port-number> </start-port-number>
</external-src-port> </external-src-port>
<lifetime> <lifetime>
300 300
</lifetime> </lifetime>
</mapping-entry> </mapping-entry>
Authors' Addresses Authors' Addresses
Mohamed Boucadair Mohamed Boucadair
Orange Orange
Rennes 35000 Rennes 35000
France France
EMail: mohamed.boucadair@orange.com EMail: mohamed.boucadair@orange.com
 End of changes. 19 change blocks. 
62 lines changed or deleted 64 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/