netconfcentral logo

ietf-dslite@2019-01-10



  module ietf-dslite {

    yang-version 1.1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-dslite";

    prefix dslite;

    import ietf-inet-types {
      prefix inet;
      reference
        "Section 4 of RFC 6991";


    }
    import ietf-interfaces {
      prefix if;
      reference
        "RFC 8343: A YANG Data Model for Interface Management";


    }
    import iana-if-type {
      prefix ianaift;
      reference
        "RFC 7224: IANA Interface Type YANG Module";


    }
    import ietf-nat {
      prefix nat;
      reference
        "RFC 8512: A YANG Module for Network Address Translation (NAT)
        	  and Network Prefix Translation (NPT)";


    }
    import ietf-yang-types {
      prefix yang;
      reference
        "Section 3 of RFC 6991";


    }

    organization
      "IETF Softwire Working Group";

    contact
      "WG Web:   <https://datatracker.ietf.org/wg/softwire/>
    WG List:  <mailto:softwires@ietf.org>

    Editor:  Mohamed Boucadair
             <mailto:mohamed.boucadair@orange.com>

    Author:  Christian Jacquenet
             <mailto:christian.jacquenet@orange.com>

    Author:  Senthil Sivakumar
             <mailto:ssenthil@cisco.com>";

    description
      "This module is a YANG module for DS-Lite AFTR and B4
    implementations.

    Copyright (c) 2018 IETF Trust and the persons identified as
    authors of the code.  All rights reserved.

    Redistribution and use in source and binary forms, with or
    without modification, is permitted pursuant to, and subject
    to the license terms contained in, the Simplified BSD License
    set forth in Section 4.c of the IETF Trust's Legal Provisions
    Relating to IETF Documents
    (http://trustee.ietf.org/license-info).

    This version of this YANG module is part of RFC 8513; see
    the RFC itself for full legal notices.";

    revision "2019-01-10" {
      description "Initial revision.";
      reference
        "RFC 8513: A YANG Data Model for Dual-Stack Lite (DS-Lite)";

    }


    identity dslite {
      base ianaift:tunnel;
      description "DS-Lite tunnel.";
    }

    feature b4 {
      description
        "The B4 element is a function implemented on a dual-stack-capable
      node, either a directly connected device or Customer Premises
      Equipment (CPE), that creates a tunnel to an AFTR.";
      reference
        "Section 5 of RFC 6333";

    }

    feature aftr {
      description
        "An AFTR element is the combination of an IPv4-in-IPv6 tunnel
      endpoint and an IPv4-IPv4 NAT implemented on the same node.";
      reference
        "Section 6 of RFC 6333";

    }

    notification b4-address-change-limit-policy-violation {
      if-feature aftr;
      description
        "Generates notifications when a B4 unsuccessfully attempts
      to change the IPv6 address in a time shorter than the value
      of b4-address-change-limit.
      Notifications are rate-limited (notify-interval).";
      leaf id {
        type leafref {
          path "/nat:nat/nat:instances/nat:instance/nat:id";
        }
        mandatory true;
        description
          "NAT instance identifier.";
      }

      leaf policy-id {
        type leafref {
          path "/nat:nat/nat:instances/nat:instance/nat:policy/nat:id";
        }
        mandatory true;
        description "Policy identifier.";
      }

      leaf address {
        type inet:ipv6-address;
        mandatory true;
        description "B4's IPv6 address.";
      }
    }  // notification b4-address-change-limit-policy-violation
  }  // module ietf-dslite