netconfcentral logo

ietf-softwire-ce

HTML

ietf-softwire-ce@2017-11-14



  module ietf-softwire-ce {

    yang-version 1.1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-softwire-ce";

    prefix softwire-ce;

    import ietf-inet-types {
      prefix inet;
    }
    import ietf-interfaces {
      prefix if;
    }
    import iana-if-type {
      prefix ianaift;
    }
    import ietf-softwire-common {
      prefix softwire-common;
    }

    organization "Softwire Working Group";

    contact
      "
    Qi Sun <sunqi.ietf@gmail.com>
    Hao Wang <wangh13@mails.tsinghua.edu.cn>
    Yong Cui <yong@csnet1.cs.tsinghua.edu.cn>
    Ian <Farrer ian.farrer@telekom.de>
    Sladjana Zoric <sladjana.zoric@telekom.de>
    Mohamed Boucadair <mohamed.boucadair@orange.com>
    Rajiv <Asati rajiva@cisco.com>
    ";

    description
      "This document defines a YANG data module for the configuration and
    management of A+P Softwire Customer Premises Equipment (CEs). It
    covers Lightweight 4over6, MAP-E, and MAP-T mechanisms.
    Copyright (c) 2017 IETF Trust and the persons identified
    as authors of the code. All rights reserved.
    This version of this YANG module is part of RFC XXX; see the RFC
    itself for full legal notices.";

    revision "2017-11-14" {
      description "Initial revision.";
      reference
        "RFC XXXX: YANG Modules for IPv4-in-IPv6 Address plus Port
        Softwires";

    }


    feature binding {
      description
        "Binding is used for configuring Lightweight 4over6 mechanism.

      Binding softwire mechanisms are IPv4-over-IPv6 tunnelling
      transition mechanisms specifically for complete independence
      between IPv6 subnet prefix (and /128 IPv6 address) and IPv4
      address with or without IPv4 address sharing.

      This is accomplished by maintaining state for each softwire
      (per-subscriber state) in the central Border Relay (BR) and a
      hub-and-spoke forwarding architecture. In order to delegate the
      NAPT function and achieve IPv4 address sharing, port-restricted
      IPv4 addresses needs to be allocated to CEs.";
      reference
        "RFC7596, RFC7597 & RFC7599";

    }

    feature algorithm {
      description
        "MAP-E is an IPv6 transition mechanism for transporting IPv4
      packets across an IPv6 network using IP encapsulation. MAP-E
      allows for a reduction of the amount of centralized state using
      rules to express IPv4/IPv6 address mappings. This introduces an
      algorithmic relationship between the IPv6 subnet and IPv4 address.

      MAP-T is an IPv6 transition mechanism for transporting IPv4
      packets across an IPv6 network using IP translation. It leverages
      a double stateless NAT64 based solution as well as the stateless
      algorithmic address & transport layer port mapping algorithm
      defined for MAP-E.

      This feature indicates the instance functions as a MAP-E or
      MAP-T instance.";
      reference
        "RFC7597 & RFC7599";

    }

    grouping binding-entry {
      description
        "The lwAFTR maintains an address binding table that contains
      the binding between the lwB4's IPv6 address, the allocated IPv4
      address and restricted port-set.";
      leaf binding-ipv6info {
        type union {
          type inet:ipv6-address;
          type inet:ipv6-prefix;
        }
        description
          "The IPv6 information for a binding entry.
        If this is type IPv6 prefix, it indicates that
        the IPv6 source address of the CE is constructed
        according to the description in RFC7596;
        if it is type IPv6 address, it means the CE uses
        any valid /128 address from a prefix assigned to
        the CE.";
        reference
          "RFC7596";

      }

      leaf br-ipv6-addr {
        type inet:ipv6-address;
        mandatory true;
        description
          "The IPv6 address for lwaftr.";
      }
    }  // grouping binding-entry

    augment /if:interfaces/if:interface {
      when "if:type = 'ianaift:tunnel'";
      description
        "CE Softwire interface configuration";
      leaf softwire-payload-mtu {
        type uint16;
        units "bytes";
        description
          "The payload MTU for the Softwire tunnel.";
      }

      leaf softwire-path-mru {
        type uint16;
        units "bytes";
        description
          "The path MRU for the softwire (payload + encapsulation
        overhead).";
      }

      choice ce-type {
        description
          "Sets the CE softwire mechanism";
        case binding {
          if-feature binding;
          description
            "CE binding configuration";
          uses binding-entry;
        }  // case binding

        case algorithm {
          if-feature algorithm;
          description
            "CE algorithm configuration";
          uses softwire-common:algorithm;
        }  // case algorithm
      }  // choice ce-type
    }

    augment /if:interfaces-state/if:interface {
      when "if:type = 'ianaift:tunnel'";
      description
        "CE Softwire binding interface operational state";
      container ce-interface {
        config false;
        description
          "Data nodes for the operational state of interfaces.";
        leaf name {
          type string;
          description
            "The name of the interface.";
          reference
            "RFC 2863: The Interfaces Group MIB - ifName";

        }

        leaf type {
          type identityref {
            base if:interface-type;
          }
          description
            "The type of the interface.";
          reference
            "RFC 2863: The Interfaces Group MIB - ifType";

        }

        uses softwire-common:traffic-stat;
      }  // container ce-interface
    }

    notification softwire-ce-event {
      if-feature binding;
      description "CE notification";
      leaf ce-binding-ipv6-addr-change {
        type inet:ipv6-address;
        mandatory true;
        description
          "If the CE's binding-ipv6-address changes for any reason,
        it SHOULD notify the NETCONF client.";
      }
    }  // notification softwire-ce-event
  }  // module ietf-softwire-ce

Summary

  
  
Organization Softwire Working Group
  
Module ietf-softwire-ce
Version 2017-11-14
File ietf-softwire-ce@2017-11-14.yang
  
Prefix softwire-ce
Namespace urn:ietf:params:xml:ns:yang:ietf-softwire-ce
  
Cooked /cookedmodules/ietf-softwire-ce/2017-11-14
YANG /src/ietf-softwire-ce@2017-11-14.yang
XSD /xsd/ietf-softwire-ce@2017-11-14.xsd
  
Abstract This document defines a YANG data module for the configuration and management of A+P Softwire Customer Premises Equipment (CEs)....
  
Contact
Qi Sun <sunqi.ietf@gmail.com>
Hao Wang <wangh13@mails.tsinghua.edu.cn>
Yong Cui <yong@csnet1.cs.tsinghua.edu.cn>
Ian <Farrer ian.farrer@telekom.de>
Sladjana Zoric <sladjana.zoric@telekom.de>
Mohamed Boucadair <mohamed.boucadair@orange.com>
Rajiv <Asati rajiva@cisco.com>

Description

 
This document defines a YANG data module for the configuration and
management of A+P Softwire Customer Premises Equipment (CEs). It
covers Lightweight 4over6, MAP-E, and MAP-T mechanisms.
Copyright (c) 2017 IETF Trust and the persons identified
as authors of the code. All rights reserved.
This version of this YANG module is part of RFC XXX; see the RFC
itself for full legal notices.

Groupings

Grouping Objects Abstract
binding-entry binding-ipv6info br-ipv6-addr The lwAFTR maintains an address binding table that contains the binding between the lwB4's IPv6 address, the allocated IPv4 address and restricted port-set.

Notifications

Notification Abstract
softwire-ce-event CE notification