rfc-8513

A YANG Data Model for Dual-Stack Lite (DS-Lite)

M. Boucadair, C. Jacquenet, S. Sivakumar
date2019-01 streamIETF areaint wgsoftwire statusPROPOSED STANDARD pages21 canonicalhttps://www.rfc-editor.org/rfc/rfc8513 doi10.17487/RFC8513
This document defines a YANG module for the Dual-Stack Lite (DS-Lite) Address Family Transition Router (AFTR) and Basic Bridging BroadBand (B4) elements.

Extracted elements (21)

design-rationale §2

The DS-Lite YANG module is designed as augmentations of the existing Interfaces (RFC 8343) and NAT (RFC 8512) YANG modules rather than a standalone module, because AFTR is a combination of an IPv4-in-IPv6 tunnel and NAPT function. This avoids duplicating existing data models and reuses standard YANG building blocks.

yang, v6ops, nat

design-rationale §2

The NAPT table on the AFTR must be extended with the source IPv6 address of incoming packets (b4-ipv6-address) because multiple B4 elements may use overlapping private IPv4 address spaces; the IPv6 source address is the only field that uniquely disambiguates subscribers.

yang, v6ops, nat

interoperability-note §2

ACL and QoS policies discussed in RFC 6908 Section 2.5, and PCP considerations from RFC 6333 Section 8.5, are explicitly out of scope for this module. Implementors requiring those features must reference the ACL YANG and PCP YANG modules separately.

yang, v6ops

protocol-element §3

The 'active-softwires' leaf (type yang:gauge32, read-only, feature 'aftr') reports the number of currently active softwires on an AFTR instance, augmenting the NAT statistics.

yang, v6ops, nat

protocol-element §3

The 'aftr-ipv6-addr' leaf (type inet:ipv6-address, feature 'b4') specifies the AFTR's IPv6 address to be used by a B4 element to establish its softwire tunnel.

yang, v6ops

protocol-element §3

The 'b4-address-change-limit' leaf (type uint32, units seconds, default 1800, feature 'aftr') enforces a minimum interval between successive B4 IPv6 address changes from the same prefix, rate-limiting potential DoS attacks via frequent source address changes. RFC 7785 recommends 30 minutes.

yang, v6ops, security

protocol-element §3

The 'b4-address-change-limit-policy-violation' YANG notification (feature 'aftr') is emitted when a B4 attempts to change its IPv6 address faster than the configured limit. It carries the NAT instance ID, policy ID, and the offending B4 IPv6 address.

yang, v6ops, security

protocol-element §3

The 'b4-ipv6-address' container augments the NAPT44 mapping entry with the source IPv6 address of the B4 element ('address', inet:ipv6-address) and the timestamp of its last change ('last-address-change', yang:date-and-time), disambiguating overlapping private IPv4 address spaces across subscribers.

yang, v6ops, nat

protocol-element §2

The 'ietf-dslite' YANG module augments the Interfaces YANG module (RFC 8343) and the NAT YANG module (RFC 8512) with DS-Lite-specific parameters for both AFTR and B4 elements. It uses YANG 'feature' statements ('aftr' and 'b4') to distinguish which data nodes apply to each element type.

yang, netconf, v6ops, nat

protocol-element §3

The 'ipv4-address' leaf (type inet:ipv4-address) configures an IPv4 address for the local AFTR or B4 used for troubleshooting (e.g., ICMP reporting and traceroute). The address 192.0.0.1 is reserved for the AFTR, and 192.0.0.0/29 is reserved for B4 elements.

yang, v6ops

protocol-element §3

The 'ipv6-address' leaf (type inet:ipv6-address) configures the IPv6 address of the local DS-Lite tunnel endpoint (AFTR or B4) used for sending and receiving IPv4-in-IPv6 packets. It is added to the Interfaces module augmentation for interfaces of type 'dslite'.

yang, v6ops

protocol-element §3

The 'max-softwires-per-subscriber' leaf (type uint8, default 1, feature 'aftr') limits the number of DS-Lite softwires a subscriber (identified by subscriber-mask-v6) may establish, preventing resource exhaustion on the AFTR.

yang, v6ops, nat

protocol-element §3

The module defines two YANG features: 'b4' (a dual-stack-capable node or CPE that creates a tunnel to an AFTR) and 'aftr' (a combination of an IPv4-in-IPv6 tunnel endpoint and an IPv4-IPv4 NAT on the same node), following RFC 6333 Sections 5 and 6 respectively.

yang, v6ops, nat

protocol-element §3

The 'mss-clamping' container (feature 'aftr') provides configuration to rewrite the TCP Maximum Segment Size option, with 'enable' (boolean) and 'mss-value' (uint16, octets) leaves, to avoid TCP fragmentation across the DS-Lite softwire.

yang, v6ops, tcp

protocol-element §3

The 'state-migrate' leaf (type boolean, default true, feature 'aftr') instructs the AFTR to migrate existing NAT state to a new IPv6 address when a B4's IPv6 address changes, using subscriber-mask-v6 to determine if two addresses belong to the same CPE.

yang, v6ops, nat

protocol-element §3

The 'tunnel-mtu' leaf (type uint16) configures the DS-Lite tunnel MTU. Per RFC 6908, operators should account for the 40-byte IPv6 encapsulation overhead to avoid fragmentation and reassembly.

yang, v6ops

protocol-element §3

The 'v6-v4-dscp-preservation' leaf (type boolean) instructs the AFTR or B4 to copy DSCP values between IPv4 and IPv6 headers during encapsulation/decapsulation, implementing the uniform DSCP model recommended in RFC 6908 Section 2.10.

yang, v6ops, diffserv, qos

protocol-element §3

Three DSCP-related leaves augment the NAPT44 mapping entry (conditioned on v6-v4-dscp-preservation being true): 'v6-dscp' (DSCP at the IPv6 softwire level), 'internal-v4-dscp' (DSCP of the encapsulated IPv4 packet from B4), and 'external-v4-dscp' (DSCP set by the AFTR on the external IPv4 interface).

yang, v6ops, diffserv, qos

registry §5

IANA registered the URI 'urn:ietf:params:xml:ns:yang:ietf-dslite' in the 'ns' subregistry of the IETF XML Registry (RFC 3688), and registered the YANG module name 'ietf-dslite' (prefix: dslite) in the 'YANG Module Names' subregistry of the YANG Parameters registry per RFC 7950.

registry, yang, v6ops

security-consideration §4

All writable data nodes in the module are considered sensitive. An attacker with write access could redirect B4 traffic by changing 'aftr-ipv6-addr', cause fragmentation by lowering 'tunnel-mtu', enable resource exhaustion by inflating 'max-softwires-per-subscriber', disrupt state migration by setting 'state-migrate' to false, ease DoS by lowering 'b4-address-change-limit', or degrade QoS-based policies by disabling DSCP preservation.

security, v6ops, yang

security-consideration §4 MUST

NETCONF access to the module MUST use SSH (RFC 6242) as the mandatory-to-implement secure transport; RESTCONF access MUST use HTTPS with TLS (RFC 8446). The NACM (RFC 8341) SHOULD be used to restrict access to authorized NETCONF/RESTCONF users.

security, yang, netconf, tls