draft-ietf-softwire-dslite-yang-01.txt   draft-ietf-softwire-dslite-yang-02.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: May 18, 2017 S. Sivakumar Expires: July 7, 2017 S. Sivakumar
Cisco Systems Cisco Systems
November 14, 2016 January 3, 2017
A YANG Data Model for the DS-Lite A YANG Data Model for the DS-Lite
draft-ietf-softwire-dslite-yang-01 draft-ietf-softwire-dslite-yang-02
Abstract Abstract
This document defines a YANG data model for the DS-Lite Address This document defines a YANG data model for the DS-Lite Address
Family Transition Router (AFTR) and Basic Bridging BroadBand (B4) Family Transition Router (AFTR) and Basic Bridging BroadBand (B4)
elements . 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
skipping to change at page 1, line 34 skipping to change at page 1, line 34
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 http://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 May 18, 2017. This Internet-Draft will expire on July 7, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 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 (http://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 3, line 36 skipping to change at page 3, line 36
This document assumes [RFC4787][RFC5382][RFC5508] are enabled by This document assumes [RFC4787][RFC5382][RFC5508] are enabled by
default. Also, the data model relies on the recommendations in default. Also, the data model relies on the recommendations in
[RFC6888] and [RFC7857]. In addition, the data model supports state [RFC6888] and [RFC7857]. In addition, the data model supports state
migration as per [RFC7785]. migration as per [RFC7785].
PCP-related considerations are out of scope of the document. A YANG PCP-related considerations are out of scope of the document. A YANG
data model for PCP is documented in [I-D.boucadair-pcp-yang]. data model for PCP is documented in [I-D.boucadair-pcp-yang].
module: ietf-dslite module: ietf-dslite
+--rw dslite-config +--rw dslite-config
| +--rw dslite-aftr-config {aftr}? | +--rw dslite-aftr-config {aftr}?
| | +--rw enable? boolean | | +--rw enable? boolean
| | +--rw dslite-aftr-instances | | +--rw dslite-aftr-instances
| | +--rw dslite-aftr-instance* [id] | | +--rw dslite-aftr-instance* [id]
| | +--rw id uint32 | | +--rw id uint32
| | +--rw name? string | | +--rw name? string
| | +--rw dslite-aftr-ipv6-address* [address-id] | | +--rw dslite-aftr-ipv6-address* [address-id]
| | | +--rw address-id uint32 | | | +--rw address-id uint32
| | | +--rw ipv6-address? inet:ipv6-address | | | +--rw ipv6-address? inet:ipv6-address
| | +--rw ipv4-address? inet:ipv4-address | | +--rw ipv4-address? inet:ipv4-address
| | +--rw tunnel-mtu? uint16 | | +--rw tunnel-mtu? uint16
| | +--rw external-ip-address-pool* [address-id] | | +--rw external-ip-address-pool* [address-id]
| | | +--rw address-id uint32 | | | +--rw address-id uint32
| | | +--rw external-ip-pool? inet:ipv4-prefix | | | +--rw external-ip-pool? inet:ipv4-prefix
| | +--rw subscriber-mask? uint8 | | +--rw subscriber-mask? uint8
| | +--rw nat-mapping-type? enumeration | | +--rw nat-mapping-type? enumeration
| | +--rw nat-filtering-type? enumeration | | +--rw nat-filtering-type? enumeration
| | +--rw port-quota uint16 | | +--rw port-quota uint16
| | +--rw exclude-ports* [id] | | +--rw exclude-ports* [id]
| | | +--rw id uint16 | | | +--rw id uint16
| | | +--rw (port-type)? | | | +--rw (port-type)?
| | | +--:(single-port-number) | | | +--:(single-port-number)
| | | | +--rw single-port-number? inet:port-number | | | | +--rw single-port-number? inet:port-number
| | | +--:(port-range) | | | +--:(port-range)
| | | +--rw start-port-number? inet:port-number | | | +--rw start-port-number? inet:port-number
| | | +--rw end-port-number? inet:port-number | | | +--rw end-port-number? inet:port-number
| | +--rw port-set | | +--rw port-set
| | | +--rw port-set-enable? boolean | | | +--rw port-set-enable? boolean
| | | +--rw port-set-size? uint16 | | | +--rw port-set-size? uint16
| | | +--rw port-set-timeout? uint32 | | | +--rw port-set-timeout? uint32
| | +--rw enable-app? boolean | | +--rw enable-app? boolean
| | +--rw max-softwire-per-subscriber? uint8 | | +--rw max-softwire-per-subscriber? uint8
| | +--rw transport-protocol* [transport-protocol-id] | | +--rw transport-protocol* [transport-protocol-id]
| | | +--rw transport-protocol-id uint8 | | | +--rw transport-protocol-id uint8
| | +--rw new-mappings-rate-limit? uint32 | | +--rw new-mappings-rate-limit? uint32
| | +--rw mss-clamping | | +--rw mss-clamping
| | | +--rw mss-clamping-enable? boolean | | | +--rw mss-clamping-enable? boolean
| | | +--rw mss-value? uint16 | | | +--rw mss-value? uint16
| | +--rw port-randomization-enable? boolean | | +--rw port-randomization-enable? boolean
| | +--rw port-preservation-enable? boolean | | +--rw port-preservation-enable? boolean
| | +--rw port-parity-preservation-enable? boolean | | +--rw port-parity-preservation-enable? boolean
| | +--rw address-roundrobin-enable? boolean | | +--rw address-roundrobin-enable? boolean
| | +--rw udp-lifetime? uint32 | | +--rw udp-lifetime? uint32
| | +--rw tcp-idle-timeout? uint32 | | +--rw tcp-idle-timeout? uint32
| | +--rw tcp-trans-open-timeout? uint32 | | +--rw tcp-trans-open-timeout? uint32
| | +--rw tcp-trans-close-timeout? uint32 | | +--rw tcp-trans-close-timeout? uint32
| | +--rw tcp-in-syn-timeout? uint32 | | +--rw tcp-in-syn-timeout? uint32
| | +--rw fragment-min-timeout? uint32 | | +--rw fragment-min-timeout? uint32
| | +--rw icmp-timeout? uint32 | | +--rw icmp-timeout? uint32
| | +--rw hold-down-timeout? uint32 | | +--rw hold-down-timeout? uint32
| | +--rw v6-v4-dscp-preservation boolean | | +--rw v6-v4-dscp-preservation boolean
| | +--rw logging-info | | +--rw logging-info
| | | +--rw logging-enable? boolean | | | +--rw logging-enable? boolean
| | | +--rw destination-address? inet:ip-prefix | | | +--rw destination-address? inet:ip-prefix
| | | +--rw destination-port? inet:port-number | | | +--rw destination-port? inet:port-number
| | | +--rw (protocol)? | | | +--rw (protocol)?
| | | +--:(syslog) | | | +--:(syslog)
| | | | +--rw syslog? boolean | | | | +--rw syslog? boolean
| | | +--:(ipfix) | | | +--:(ipfix)
| | | | +--rw ipfix? boolean | | | | +--rw ipfix? boolean
| | | +--:(ftp) | | | +--:(ftp)
| | | +--rw ftp? boolean | | | +--rw ftp? boolean
| | +--rw notify-address-pool-usage | | +--rw notify-address-pool-usage
| | | +--rw pool-id? uint32 | | | +--rw pool-id? uint32
| | | +--rw notify-pool-hi-threshold percent | | | +--rw notify-pool-hi-threshold percent
| | | +--rw notify-pool-low-threshold? percent | | | +--rw notify-pool-low-threshold? percent
| | +--rw ftp-alg-enable? boolean | | +--rw ftp-alg-enable? boolean
| | +--rw tftp-alg-enable? boolean | | +--rw tftp-alg-enable? boolean
| | +--rw sip-alg-enable? boolean | | +--rw sip-alg-enable? boolean
| | +--rw rtsp-alg-enable? boolean | | +--rw rtsp-alg-enable? boolean
| | +--rw h323-alg-enable? boolean | | +--rw h323-alg-enable? boolean
| | +--rw all-algs-enable? boolean | | +--rw all-algs-enable? boolean
| | +--rw mapping-table | | +--rw mapping-table
| | +--rw mapping-entry* [index] | | +--rw mapping-entry* [index]
| | +--rw index uint32 | | +--rw index uint32
| | +--rw status? enumeration | | +--rw status? enumeration
| | +--rw type? enumeration | | +--rw type? enumeration
| | +--rw b4-ip-address inet:ipv6-address | | +--rw b4-ip-address inet:ipv6-address
| | +--rw internal-ip-address inet:ipv4-prefix | | +--rw internal-ip-address inet:ipv4-prefix
| | +--rw internal-port | | +--rw internal-port
| | | +--rw (port-type)? | | | +--rw (port-type)?
| | | +--:(single-port-number) | | | +--:(single-port-number)
| | | | +--rw single-port-number? inet:port-number | | | | +--rw single-port-number? inet:port-number
| | | +--:(port-range) | | | +--:(port-range)
| | | +--rw start-port-number? inet:port-number | | | +--rw start-port-number? inet:port-number
| | | +--rw end-port-number? inet:port-number | | | +--rw end-port-number? inet:port-number
| | +--rw external-ip-address inet:ipv4-address | | +--rw external-ip-address inet:ipv4-address
| | +--rw external-port | | +--rw external-port
| | | +--rw (port-type)? | | | +--rw (port-type)?
| | | +--:(single-port-number) | | | +--:(single-port-number)
| | | | +--rw single-port-number? inet:port-number | | | | +--rw single-port-number? inet:port-number
| | | +--:(port-range) | | | +--:(port-range)
| | | +--rw start-port-number? inet:port-number | | | +--rw start-port-number? inet:port-number
| | | +--rw end-port-number? inet:port-number | | | +--rw end-port-number? inet:port-number
| | +--rw transport-protocol uint8 | | +--rw transport-protocol uint8
| | +--rw lifetime uint32 | | +--rw lifetime uint32
| | +--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
| | +--rw description? string | | +--rw description? string
| +--rw dslite-b4-config {b4}? | +--rw dslite-b4-config {b4}?
| +--rw enable? boolean | +--rw enable? boolean
| +--rw dslite-b4-instances | +--rw dslite-b4-instances
| +--rw dslite-b4-instance* [id] | +--rw dslite-b4-instance* [id]
| +--rw id uint32 | +--rw id uint32
| +--rw name? string | +--rw name? string
| +--rw aftr-ipv6-addr inet:ipv6-address | +--rw aftr-ipv6-addr inet:ipv6-address
| +--rw ipv4-address? inet:ipv4-address | +--rw 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
+--rw dslite-state +--rw dslite-state
+--ro dslite-aftr-state {aftr}? +--ro dslite-aftr-state {aftr}?
| +--ro dslite-aftr-instances | +--ro dslite-aftr-instances
| +--ro dslite-aftr-instance* [id] | +--ro dslite-aftr-instance* [id]
| +--ro id int32 | +--ro id int32
| +--ro name? string | +--ro name? string
| +--ro aftr-capabilities | +--ro aftr-capabilities
| | +--ro eim-support? boolean | | +--ro eim-support? boolean
| | +--ro eif-support? boolean | | +--ro eif-support? boolean
| | +--ro edm-support? boolean | | +--ro edm-support? boolean
| | +--ro edf-support? boolean | | +--ro edf-support? boolean
| | +--ro adm-support? boolean | | +--ro adm-support? boolean
| | +--ro adf-support? boolean | | +--ro adf-support? boolean
| | +--ro pcp-support? boolean | | +--ro pcp-support? boolean
| | +--ro subscriber-mask-support? boolean | | +--ro subscriber-mask-support? boolean
| | +--ro port-set-support? boolean | | +--ro port-set-support? boolean
| | +--ro self-state-migration-support? boolean | | +--ro self-state-migration-support? boolean
| | +--ro mss-clamping-support? boolean | | +--ro mss-clamping-support? boolean
| | +--ro port-randomization-support? boolean | | +--ro port-randomization-support? boolean
| | +--ro port-preservation-support? boolean | | +--ro port-preservation-support? boolean
| | +--ro port-parity-preservation-support? boolean | | +--ro port-parity-preservation-support? boolean
| | +--ro transport-proto-capabilities* [transport-protocol-id] | | +--ro transport-proto-capabilities* [transport-protocol-id]
| | | +--ro transport-protocol-id uint8 | | | +--ro transport-protocol-id uint8
| | +--ro v6-v4-dscp-preservation-support? boolean | | +--ro v6-v4-dscp-preservation-support? boolean
| | +--ro logging-support? boolean | | +--ro logging-support? boolean
| | +--ro ftp-alg-support? boolean | | +--ro ftp-alg-support? boolean
| | +--ro tftp-support? boolean | | +--ro tftp-support? boolean
| | +--ro sip-alg-support? boolean | | +--ro sip-alg-support? boolean
| | +--ro rtsp-alg-support? boolean | | +--ro rtsp-alg-support? boolean
| | +--ro h323-alg-support? boolean | | +--ro h323-alg-support? boolean
| +--ro aftr-current-config | +--ro aftr-current-config
| | +--ro dslite-aftr-ipv6-address* [address-id] | | +--ro dslite-aftr-ipv6-address* [address-id]
| | | +--ro address-id uint32 | | | +--ro address-id uint32
| | | +--ro ipv6-address? inet:ipv6-address | | | +--ro ipv6-address? inet:ipv6-address
| | +--ro ipv4-address? inet:ipv4-address | | +--ro ipv4-address? inet:ipv4-address
| | +--ro tunnel-mtu? uint16 | | +--ro tunnel-mtu? uint16
| | +--ro external-ip-address-pool* [address-id] | | +--ro external-ip-address-pool* [address-id]
| | | +--ro address-id uint32 | | | +--ro address-id uint32
| | | +--ro external-ip-pool? inet:ipv4-prefix | | | +--ro external-ip-pool? inet:ipv4-prefix
| | +--ro subscriber-mask? uint8 | | +--ro subscriber-mask? uint8
| | +--ro nat-mapping-type? enumeration | | +--ro nat-mapping-type? enumeration
| | +--ro nat-filtering-type? enumeration | | +--ro nat-filtering-type? enumeration
| | +--ro port-quota uint16 | | +--ro port-quota uint16
| | +--ro exclude-ports* [id] | | +--ro exclude-ports* [id]
| | | +--ro id uint16 | | | +--ro id uint16
| | | +--ro (port-type)? | | | +--ro (port-type)?
| | | +--:(single-port-number) | | | +--:(single-port-number)
| | | | +--ro single-port-number? inet:port-number | | | | +--ro single-port-number? inet:port-number
| | | +--:(port-range) | | | +--:(port-range)
| | | +--ro start-port-number? inet:port-number | | | +--ro start-port-number? inet:port-number
| | | +--ro end-port-number? inet:port-number | | | +--ro end-port-number? inet:port-number
| | +--ro port-set | | +--ro port-set
| | | +--ro port-set-enable? boolean | | | +--ro port-set-enable? boolean
| | | +--ro port-set-size? uint16 | | | +--ro port-set-size? uint16
| | | +--ro port-set-timeout? uint32 | | | +--ro port-set-timeout? uint32
| | +--ro enable-app? boolean | | +--ro enable-app? boolean
| | +--ro max-softwire-per-subscriber? uint8 | | +--ro max-softwire-per-subscriber? uint8
| | +--ro transport-protocol* [transport-protocol-id] | | +--ro transport-protocol* [transport-protocol-id]
| | | +--ro transport-protocol-id uint8 | | | +--ro transport-protocol-id uint8
| | +--ro new-mappings-rate-limit? uint32 | | +--ro new-mappings-rate-limit? uint32
| | +--ro mss-clamping | | +--ro mss-clamping
| | | +--ro mss-clamping-enable? boolean | | | +--ro mss-clamping-enable? boolean
| | | +--ro mss-value? uint16 | | | +--ro mss-value? uint16
| | +--ro port-randomization-enable? boolean | | +--ro port-randomization-enable? boolean
| | +--ro port-preservation-enable? boolean | | +--ro port-preservation-enable? boolean
| | +--ro port-parity-preservation-enable? boolean | | +--ro port-parity-preservation-enable? boolean
| | +--ro address-roundrobin-enable? boolean | | +--ro address-roundrobin-enable? boolean
| | +--ro udp-lifetime? uint32 | | +--ro udp-lifetime? uint32
| | +--ro tcp-idle-timeout? uint32 | | +--ro tcp-idle-timeout? uint32
| | +--ro tcp-trans-open-timeout? uint32 | | +--ro tcp-trans-open-timeout? uint32
| | +--ro tcp-trans-close-timeout? uint32 | | +--ro tcp-trans-close-timeout? uint32
| | +--ro tcp-in-syn-timeout? uint32 | | +--ro tcp-in-syn-timeout? uint32
| | +--ro fragment-min-timeout? uint32 | | +--ro fragment-min-timeout? uint32
| | +--ro icmp-timeout? uint32 | | +--ro icmp-timeout? uint32
| | +--ro hold-down-timeout? uint32 | | +--ro hold-down-timeout? uint32
| | +--ro v6-v4-dscp-preservation boolean | | +--ro v6-v4-dscp-preservation boolean
| | +--ro logging-info | | +--ro logging-info
| | | +--ro logging-enable? boolean | | | +--ro logging-enable? boolean
| | | +--ro destination-address? inet:ip-prefix | | | +--ro destination-address? inet:ip-prefix
| | | +--ro destination-port? inet:port-number | | | +--ro destination-port? inet:port-number
| | | +--ro (protocol)? | | | +--ro (protocol)?
| | | +--:(syslog) | | | +--:(syslog)
| | | | +--ro syslog? boolean | | | | +--ro syslog? boolean
| | | +--:(ipfix) | | | +--:(ipfix)
| | | | +--ro ipfix? boolean | | | | +--ro ipfix? boolean
| | | +--:(ftp) | | | +--:(ftp)
| | | +--ro ftp? boolean | | | +--ro ftp? boolean
| | +--ro notify-address-pool-usage | | +--ro notify-address-pool-usage
| | | +--ro pool-id? uint32 | | | +--ro pool-id? uint32
| | | +--ro notify-pool-hi-threshold percent | | | +--ro notify-pool-hi-threshold percent
| | | +--ro notify-pool-low-threshold? percent | | | +--ro notify-pool-low-threshold? percent
| | +--ro ftp-alg-enable? boolean | | +--ro ftp-alg-enable? boolean
| | +--ro tftp-alg-enable? boolean | | +--ro tftp-alg-enable? boolean
| | +--ro sip-alg-enable? boolean | | +--ro sip-alg-enable? boolean
| | +--ro rtsp-alg-enable? boolean | | +--ro rtsp-alg-enable? boolean
| | +--ro h323-alg-enable? boolean | | +--ro h323-alg-enable? boolean
| | +--ro all-algs-enable? boolean | | +--ro all-algs-enable? boolean
| +--ro mapping-table | +--ro mapping-table
| | +--ro mapping-entry* [index] | | +--ro mapping-entry* [index]
| | +--ro index uint32 | | +--ro index uint32
| | +--ro status? enumeration | | +--ro status? enumeration
| | +--ro type? enumeration | | +--ro type? enumeration
| | +--ro b4-ip-address inet:ipv6-address | | +--ro b4-ip-address inet:ipv6-address
| | +--ro internal-ip-address inet:ipv4-prefix | | +--ro internal-ip-address inet:ipv4-prefix
| | +--ro internal-port | | +--ro internal-port
| | | +--ro (port-type)? | | | +--ro (port-type)?
| | | +--:(single-port-number) | | | +--:(single-port-number)
| | | | +--ro single-port-number? inet:port-number | | | | +--ro single-port-number? inet:port-number
| | | +--:(port-range) | | | +--:(port-range)
| | | +--ro start-port-number? inet:port-number | | | +--ro start-port-number? inet:port-number
| | | +--ro end-port-number? inet:port-number | | | +--ro end-port-number? inet:port-number
| | +--ro external-ip-address inet:ipv4-address | | +--ro external-ip-address inet:ipv4-address
| | +--ro external-port | | +--ro external-port
| | | +--ro (port-type)? | | | +--ro (port-type)?
| | | +--:(single-port-number) | | | +--:(single-port-number)
| | | | +--ro single-port-number? inet:port-number | | | | +--ro single-port-number? inet:port-number
| | | +--:(port-range) | | | +--:(port-range)
| | | +--ro start-port-number? inet:port-number | | | +--ro start-port-number? inet:port-number
| | | +--ro end-port-number? inet:port-number | | | +--ro end-port-number? inet:port-number
| | +--ro transport-protocol uint8 | | +--ro transport-protocol uint8
| | +--ro lifetime uint32 | | +--ro lifetime uint32
| | +--ro v6-dscp? uint8 | | +--ro v6-dscp? uint8
| | +--ro internal-v4-dscp? uint8 | | +--ro internal-v4-dscp? uint8
| | +--ro external-v4-dscp? uint8 | | +--ro external-v4-dscp? uint8
| | +--ro description? string | | +--ro description? string
| +--ro statistics | +--ro statistics
| | +--ro traffic-statistics | | +--ro traffic-statistics
| | | +--ro sent-packet? yang:zero-based-counter64 | | | +--ro sent-packet? yang:zero-based-counter64
| | | +--ro sent-byte? yang:zero-based-counter64 | | | +--ro sent-byte? yang:zero-based-counter64
| | | +--ro rcvd-packet? yang:zero-based-counter64 | | | +--ro rcvd-packet? yang:zero-based-counter64
| | | +--ro rcvd-byte? yang:zero-based-counter64 | | | +--ro rcvd-byte? yang:zero-based-counter64
| | | +--ro dropped-packet? yang:zero-based-counter64 | | | +--ro dropped-packet? yang:zero-based-counter64
| | | +--ro dropped-byte? yang:zero-based-counter64 | | | +--ro dropped-byte? yang:zero-based-counter64
| | +--ro mapping-table-stats | | +--ro mapping-table-stats
| | +--ro current-mt-size? yang:zero-based-counter64 | | +--ro current-mt-size? yang:zero-based-counter64
| | +--ro max-mt-size? uint32 | | +--ro max-mt-size? uint32
| | +--ro total-tcp-mappings? uint32 | | +--ro total-tcp-mappings? uint32
| | +--ro total-udp-mappings? uint32 | | +--ro total-udp-mappings? uint32
| | +--ro total-icmp-mappings? uint32 | | +--ro total-icmp-mappings? uint32
| +--ro available-capacity-client? percent | +--ro available-capacity-client? percent
| +--ro available-capacity-ext? percent | +--ro available-capacity-ext? percent
| +--ro address-pool-in-use? percent | +--ro address-pool-in-use? percent
| +--ro port-in-use? percent | +--ro port-in-use? percent
+--ro dslite-b4-state {b4}? +--ro dslite-b4-state {b4}?
+--ro dslite-b4-instances +--ro dslite-b4-instances
+--ro dslite-b4-instance* [id] +--ro dslite-b4-instance* [id]
+--ro id int32 +--ro id int32
+--ro name? string +--ro name? string
+--ro b4-capabilities +--ro b4-capabilities
| +--ro ipv4-address-modify? boolean | +--ro ipv4-address-modify? boolean
| +--ro tunnel-mtu-support? boolean | +--ro tunnel-mtu-support? boolean
| +--ro v6-v4-dscp-preservation-support boolean | +--ro v6-v4-dscp-preservation-support boolean
+--ro b4-state +--ro b4-state
+--ro status? boolean +--ro status? boolean
+--ro aftr-ipv6-addr inet:ipv6-address +--ro aftr-ipv6-addr inet:ipv6-address
+--ro ipv4-address-configured? inet:ipv4-address +--ro ipv4-address-configured? inet:ipv4-address
+--ro v6-v4-dscp-preservation-enabled? boolean +--ro v6-v4-dscp-preservation-enabled? boolean
Figure 1: YANG Data Model for DS-Lite AFTR Figure 1: YANG Data Model for DS-Lite AFTR
The following notifications are supported. These notifications are The following notifications are supported. These notifications are
triggered by configurable parameters. triggered by configurable parameters.
notifications: notifications:
+---n dslite-aftr-event +---n dslite-aftr-event
+--ro id? -> /dslite-state/dslite-aftr-state/ +--ro id? -> /dslite-state/dslite-aftr-state/
| dslite-aftr-instances/dslite-aftr-instance/id | dslite-aftr-instances/dslite-aftr-instance/id
+--ro notify-pool-threshold percent +--ro notify-pool-threshold percent
3. DS-Lite YANG Module 3. DS-Lite YANG Module
<CODE BEGINS> file "ietf-dslite@2016-11.14" <CODE BEGINS> file "ietf-dslite@2017-01-03"
module ietf-dslite { module ietf-dslite {
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-yang-types { prefix yang; } import ietf-yang-types { prefix yang; }
organization "Softwire Working Group"; organization "Softwire Working Group";
contact contact
"Mohamed Boucadair <mohamed.boucadair@orange.com> "Mohamed Boucadair <mohamed.boucadair@orange.com>
skipping to change at page 10, line 12 skipping to change at page 10, line 12
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-01-03 {
description "Fixed a compilation error:
https://github.com/mbj4668/pyang/issues/296.";
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";
skipping to change at page 12, line 44 skipping to change at page 12, line 50
default 120; default 120;
description description
"UDP inactivity timeout [RFC4787]."; "UDP inactivity timeout [RFC4787].";
} }
leaf tcp-idle-timeout { leaf tcp-idle-timeout {
type uint32; type uint32;
units "seconds"; units "seconds";
default 7440; default 7440;
description description
"TCP Idle timeout as per RFC 5382 should be no "TCP Idle timeout as per [RFC5382] should be no
more than 2 hours and 4 minutes."; more than 2 hours and 4 minutes.";
} }
leaf tcp-trans-open-timeout { leaf tcp-trans-open-timeout {
type uint32; type uint32;
units "seconds"; units "seconds";
default 240; default 240;
description description
"The value of the transitory open connection "The value of the transitory open connection
idle-timeout. idle-timeout.
Section 2.1 of [RFC7857] clarifies that a NAT Section 2.1 of [RFC7857] clarifies that a NAT
skipping to change at page 20, line 18 skipping to change at page 20, line 25
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 description
"Indicates the MSS value to be used for "Sets the MSS value to be used for
MSS rewriting."; MSS rewriting.";
} }
} }
leaf port-randomization-enable { leaf port-randomization-enable {
type boolean; type boolean;
description description
"Enable/disable port randomization feature. "Enable/disable port randomization feature.
Section 9 of [RFC7857] specifies that a NAT Section 9 of [RFC7857] specifies that a NAT
should follow the recommendations in should follow the recommendations in
skipping to change at page 27, line 37 skipping to change at page 27, line 44
"Enable/Disable dslite-aftr function."; "Enable/Disable dslite-aftr function.";
} }
container dslite-aftr-instances { container dslite-aftr-instances {
description description
"dslite-aftr instances"; "dslite-aftr instances";
list dslite-aftr-instance { list dslite-aftr-instance {
key "id"; key "id";
description description
"a dslite-aftr instance."; "A dslite-aftr instance.";
leaf id { leaf id {
type uint32; type uint32;
description description
"dslite-aftr instance identifier."; "dslite-aftr instance identifier.";
} }
leaf name { leaf name {
type string; type string;
description description
"A name associated with the dslite-aftr instance."; "A name associated with the dslite-aftr instance.";
} }
uses aftr-parameters; uses aftr-parameters;
container mapping-table { container mapping-table {
description description
"dslite-aftr mapping table maintained by "dslite-aftr mapping table maintained by
the dslite-aftr server."; the dslite-aftr server.";
list mapping-entry { list mapping-entry {
key "index"; key "index";
description description
"dslite-aftr mapping entry."; "dslite-aftr mapping entry.";
uses mapping-entry; uses mapping-entry;
skipping to change at page 41, line 46 skipping to change at page 41, line 46
[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,
<http://www.rfc-editor.org/info/rfc6991>. <http://www.rfc-editor.org/info/rfc6991>.
7.2. Informative references 7.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-02 (work in Protocol (PCP)", draft-boucadair-pcp-yang-03 (work in
progress), June 2016. progress), November 2016.
[RFC4787] Audet, F., Ed. and C. Jennings, "Network Address [RFC4787] Audet, F., Ed. and C. Jennings, "Network Address
Translation (NAT) Behavioral Requirements for Unicast Translation (NAT) Behavioral Requirements for Unicast
UDP", BCP 127, RFC 4787, DOI 10.17487/RFC4787, January UDP", BCP 127, RFC 4787, DOI 10.17487/RFC4787, January
2007, <http://www.rfc-editor.org/info/rfc4787>. 2007, <http://www.rfc-editor.org/info/rfc4787>.
[RFC5382] Guha, S., Ed., Biswas, K., Ford, B., Sivakumar, S., and P. [RFC5382] Guha, S., Ed., Biswas, K., Ford, B., Sivakumar, S., and P.
Srisuresh, "NAT Behavioral Requirements for TCP", BCP 142, Srisuresh, "NAT Behavioral Requirements for TCP", BCP 142,
RFC 5382, DOI 10.17487/RFC5382, October 2008, RFC 5382, DOI 10.17487/RFC5382, October 2008,
<http://www.rfc-editor.org/info/rfc5382>. <http://www.rfc-editor.org/info/rfc5382>.
 End of changes. 16 change blocks. 
285 lines changed or deleted 292 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/