<?xml version="1.0" encoding="US-ASCII"?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="3"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="yes"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc7277 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7277.xml">
<!ENTITY rfc7223 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7223.xml">
<!ENTITY rfc7224 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7224.xml">
<!ENTITY rfc7317 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7317.xml">
<!ENTITY rfc6470 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6470.xml">
<!ENTITY rfc6022 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6022.xml">
]>
<rfc category="info" docName="draft-faq-anima-cpe-yang-profile-00"
     ipr="trust200902">
  <!-- ***** FRONT MATTER ***** -->

  <front>
    <title abbrev="CPE YANG Device Profile">YANG Models Required for Managing 
    Customer Premises Equipment (CPE) Devices</title>

    <author fullname="Ian Farrer" initials="I.F" surname="Farrer">
      <organization>Deutsche Telekom AG</organization>
      <address>
        <postal>
          <street>CTO-ATI, Landgrabenweg 151</street>
          <city>Bonn</city>
          <region>NRW</region>
          <code>53227</code>
          <country>Germany</country>
        </postal>
        <email>ian.farrer@telekom.de</email>
      </address>
    </author>

    <author fullname="Qi Sun" initials="Q.S" surname="Sun">
      <organization>Deutsche Telekom AG</organization>
      <address>
        <postal>
          <street>CTO-ATI, Landgrabenweg 151</street>
          <city>Bonn</city>
          <region>NRW</region>
          <code>53227</code>
          <country>Germany</country>
        </postal>
        <email>qui.sun@external.telekom.de</email>
      </address>
    </author>

    <author fullname="Sladjana Zoric" initials="S.Z" surname="Zoric">
      <organization>Deutsche Telekom AG</organization>
      <address>
        <postal>
          <street>CTO-IPT, Landgrabenweg 151</street>
          <city>Bonn</city>
          <region>NRW</region>
          <code>53227</code>
          <country>Germany</country>
        </postal>
        <email>sladjana.zoric@telekom.de</email>
      </address>
    </author>
    
    <author fullname="Mikael Abrahamsson" initials="M.A" surname="Abrahamsson">
      <organization>T-Systems</organization>
      <address>
        <email>mikael.abrahamsson@t-systems.se</email>
      </address>
    </author>  

    <date year="2015" />

    <area>ops area</area>

    <workgroup>Anima</workgroup>

    <abstract>
      <t>This document collects together the YANG models necessary for 
      managing a NETCONF-enabled Customer Premises Equipment (CPE) device.
      </t>
    </abstract>

  </front>

  <!-- ***** MIDDLE MATTER ***** -->

  <middle>
    <section anchor="introduction" title="Introduction">
      <t>NETCONF is used for the monitoring and configuration of networked
      devices. Implementing NETCONF on CPE devices, along with
      the relevant YANG models, provides a flexible and exensible
      management interface for operators.</t>
      
      <t>This document describes the YANG models necessary for managing 
      NETCONF-enabled CPE devices. It defines the requirements for managing
      a CPE through NETCONF/YANG.</t>
      
      <t>Many of the YANG models which are referenced here are
      at early stages in the development process and in some cases there is
      currently no existing work. The aim of this document is to defined
      which models are necessary and ror each required YANG model, provide
      information about the current status of the existing work. It is
      intended as a 'living document', which will be updated as the required
      / referenced YANG models change. Once finalised, the goal of the
      document is to serve as a CPE YANG 'Device profile' to be used as
      a reference for implementors who are adding YANG management 
      capabilities to their devices.</t>
    </section>
    
 <!--
    <section title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref
      target="RFC2119"></xref>.</t>
    </section>
-->

    <section anchor="terminology" title="Terminology">
      <t><list hangIndent="22" style="hanging">
          <t hangText="CPE"> Customer Premises Equipment, which provides access 
          for devices connected to a Local Area Network (LAN), typically at the 
          customer's site/home, to the Internet Service Provider's (ISP's) network. 
          The CPE device described in this document supports NETCONF/YANG.</t>
          
          <t hangText="Existing RFCs"> Lists of published RFCs at the time of writing the
          document. </t>
          
          <t hangText="Work In Progress"> Lists of currently active Internet Drafts,
          or relevant standards documents being produced by organisations other than
          the IETF.</t>
          
          <t hangText="To Be Defined"> The models that are necessary for a CPE, 
          but are not defined by the time of writing the document. </t>
        </list>
      </t>
    </section>  
    
<!--
    <section anchor="arch" title="Architecture for Operator-managed CPE">
        <t>Maybe not necessary.</t>     
      
    </section>
-->

    <section anchor="man-reqs" title="Management Requirements">
      <section anchor="If-req" title="Interfaces">
        <t>A CPE has a number of network interfaces, usually including some of the 
        following interface types: Ethernet LAN, Ethernet WAN, Ethernet 802.1q,
        Ethernet 802.1ag, and WLAN (802.11a/b/n/g/ac). The IETF has published a YANG
        model for general interface management, which identifies the previously
        listed interface types. However, standardisation for Ethernet is done by
        the IEEE, so it is probable that the YANG models for managing these interfaces
        would be developed.</t>

        <t>NB - The list of interface types necessary for a complete, general 
        HGW model clearly needs to include xDSL (BBF) and DOCSIS (ITU) interfaces.
        A future version of this document needs to be extended to include these.</t> 
        <section title="Requirements">
          <t>A YANG-enabled CPE must implement the YANG model for general
          Interface Management <xref target="RFC7223"/> and support Interface type model 
          defined in <xref target="RFC7224"/>.</t>
          
          <t>Specific YANG model(s) for Ethernet LAN, Ethernet WAN, Ethernet 802.1q, 
          Ethernet 802.1ag, and WLAN (802.11a/b/n/g/ac) interfaces.</t>
          
          <t>Needs to include support for optical parameter configuration in the
          Ethernet WAN interface YANG model.</t>
          
          <t>Support for Connectivity Fault Management (IEEE 802.1ag) in the 
          Ethernet WAN interface YANG model.</t>
        </section>
        
        <section title="Development Status of Relevent YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>YANG Data Model for Interface Management <xref target="RFC7223"/>.</t>
              <t>IANA Interface Type YANG Module <xref target="RFC7224"/>. </t>
            </list>
          </t>
          
         <t>Work In Progress:
            <list style="symbols">
              <t><xref target="IEEE-ETH-YANG">IEEE Ethernet YANG Model</xref></t>
             </list>
          </t>

          <t>To Be Defined:
            <list style="symbols">
              <t>Ethernet WAN</t>
              <t>Ethernet 802.1q</t>
              <t>Ethernet 802.1ag</t>
              <t>Ethernet LAN</t>
              <t>WLAN (802.11a/b/n/g/ac)</t>
            </list>
          </t>
        </section>
      </section>
      
      <section anchor="ip-req" title="IP Management">
        <section title="Requirements">
          <t>The CPE implementation requires the YANG models for managing
          IPv4 and IPv6. </t>
        </section>
        
        <section title="Development of Relevent YANG Models">
           <t>Existing RFCs:
            <list style="symbols">
              <t>YANG Data Model for IP Management <xref target="RFC7277"/>.</t>
            </list>
          </t>
        
          <t>Work In Progress:
            <list style="symbols">
              <t>[To be specified] </t>
            </list>
          </t>         
          
          <t>To Be Defined:
            <list style="symbols">
              <t>[To be specified] </t>
            </list>
          </t>
        </section>
        
      </section>
      
      <section anchor="route-req" title="Routing Management">
        <section title="Requirements">
          <t>A CPE requires support for the configuration and management of traditional 
          IPv4/IPv6 routing protocols, as well as static route configuration.</t>
          
          <t>YANG models for the management of the IS-IS routing protocol are necessary
          for CPEs participating in home network IS-IS routing.</t>
          
          <t>Management of Protocol Independent Multicast (PIM) is required.</t>
          
          <t>Management of static multicast routes is required.</t>
        </section>
        
        <section title="Development of Relevent YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>None</t>
            </list>
          </t>
          
          <t>Work In Progress:
            <list style="symbols">
              <t>YANG Data Model for Routing Management:  
                 <xref target="I-D.ietf-netmod-routing-cfg"/>.</t>
              <t>YANG model for static IPv4/IPv6 route: Appendix B in  
                 <xref target="I-D.ietf-netmod-routing-cfg"/>. </t>
              <t>YANG Data Model for ISIS protocol: <xref target="I-D.ietf-isis-yang-isis-cfg"/>. </t>
              <t>YANG model for PIM: <xref target="I-D.liu-pim-yang"/>. </t>
 	          <t>YANG model for IGMP and MLD: <xref target="I-D.liu-pim-igmp-mld-yang"/>. </t>
            </list>
          </t>
          
          <t>To Be Defined:
            <list style="symbols">
              <t>Static Multicast Route</t>
            </list>
          </t>
        </section>
      </section>
      
      <section anchor="netconf-req" title="NETCONF Server Management">
        <section title="Requirements">
          <t>A NETCONF/YANG enabled CPE requires support for management and configuration
          of its local NETCONF server using the NETCONF protocol.</t>
          
          <t>A CPE requires support for the base notification function to allow 
          a NETCONF client to retrieve notifications for common system events.</t>
          
          <t>A CPE retrieves NETCONF server configuration automatically during 
          the bootstrap process (ZeroTouch).</t>
          
          <t>A CPE, as a NETCONF server, requires the Call Home function so that a
          secure connection to a NETCONF client can be initiated.</t>
          
        </section>
        
        <section title="Development of Relevent YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>YANG Module for NETCONF Monitoring: <xref target="RFC6022"/>.</t>
              <t>NETCONF Base Notifications: <xref target="RFC6470"/>. </t>
            </list>
          </t>
          
          <t>Work In Progress:
            <list style="symbols">
              <t>ZeroTouch: <xref target="I-D.ietf-netconf-zerotouch"/>.</t>
              <t>NETCONF Call Home: <xref target="I-D.ietf-netconf-call-home"/>. </t>
              <t>NETCONF Server Configuration Models: 
              <xref target="I-D.ietf-netconf-server-model"/>. </t>
            </list>
          </t>
          
          <t>To Be Defined:
            <list style="symbols">
              <t>[To be specified] </t>
            </list>
          </t>
        </section>
      </section>
      
      <section anchor="dhcp-req" title="DHCP/SLAAC/ND Management">
        
        <section title="Requirements">
          <t>A CPE requires support for the management of its DHCPv4 server, which
          typically runs at the IPv4 LAN side.</t>
          
          <t>A CPE requires support for the management of its DHCPv6 server, which can
          run at the IPv6 LAN side.</t>
          
          <t>A CPE requires support for the management of its DHCPv6 client, which
          typically runs at the IPv6 WAN side.</t>
          
          <t>A CPE requires support for the management of its DHCPv6 Prefix Delegation
          configuration (as a requesting router).</t>
          
          <t>A CPE requires support for the management of SLAAC for stateless IPv6 
          configuration.</t>
          
          <t>A CPE requires support the for management of Neighbour Discovery Protocol
          configuration, including Router Advertisements on its LAN interface(s).</t>
        </section>
        
        <section title="Development of Relevent YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>[To be specified] </t>
            </list>
          </t>
          
          <t>Work In Progress:
            <list style="symbols">
              <t>YANG models for DHCPv4: <xref target="I-D.liu-dhc-dhcp-yang-model"/>.</t>
              <t>YANG Data Model for DHCPv6 Configuration: 
              <xref target="I-D.cui-dhc-dhcpv6-yang"/>.</t>             
            </list>
          </t>
        
          <t>To Be Defined:
            <list style="symbols">
              <t>YANG for SLAAC (Router Advertisement)</t>
              <t>YANG for Neighbour Discovery Protocol (NDP)</t>
              <t>YANG for DHCPv6 Prefix Delegation (requesting router)</t>
            </list>
          </t>
        </section>

      </section>
      
      <section anchor="nat-req" title="NAT Management">
      	<section title="Requirements">
      	  <t>A CPE requires support for the management for NAT44/NAPT44 configuration.</t>
        </section>
        
        <section title="Development of Relevent YANG Models">
          
          <t>Existing RFCs:
            <list style="symbols">
              <t>[To be specified] </t>
            </list>
          </t>
          
          <t>Work In Progress:
            <list style="symbols">
              <t>[To be specified]: A possible way to do this is to start from 
              the NAT MIB document <xref target="I-D.perrault-behave-natv2-mib"/>.</t>
            </list>
          </t>
        
          <t>To Be Defined:
            <list style="symbols">
              <t>YANG model for NAT Management: there is suggestion to produce such
              a model in the BEHAVE WG.</t>
              <t>Additional YANG models for specific protocol Application Layer
              Gateways may also be needed.</t>
            </list>
          </t>
        </section>

      </section>
      
      <section anchor="trans-req" title="IPv6 Transition Mechanisms Management">
        <section title="Requirements">
          <t>A CPE intended for IPv6 transition, should be able to manage 
          the supported IPv6 transition mechanism(s) through NETCONF/YANG. </t>
        </section>
        
        <section title="Development of Relevent YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>[To be specified] </t>
            </list>
          </t>
          
          <t>Work In Progress:
            <list style="symbols">
              <t>YANG model for IPv4-in-IPv6 Softwire: <xref target="I-D.sun-softwire-yang"/>.</t>
            </list>
          </t>
        
          <t>To Be Defined:
            <list style="symbols">
              <t>DHCP 4o6 client: May be combined in DHCPv6 YANG model as a feature. </t>
              <t>DNS64</t>
              <!-- <t>Stateless NAT64</t>
              [Qi] Is stateless NAT64 necessary, which is used on CLAT of 464xlat? 
              -->
            </list>
          </t>
        </section>      
      </section>
      
      <section anchor="service-req" title="Management of Specific Services">
        <section title="Requirements">
          <t>Some specific services may be needed for a CPE, such as SIP, Web, NTP and SSH 
          services. A CPE may support the management of those services through NETCONF/YANG. 
          </t>
        </section>
        
        <section title="Development of Relevent YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>NTP Client: <xref target="RFC7317"/></t>
            </list>
          </t>
          
          <t>Work In Progress:
            <list style="symbols">
              <t>[To be specified] </t>
            </list>
          </t>
        
          <t>To Be Defined:
            <list style="symbols">
              <t>SIP Client </t>
              <t>Web server: This is used for configuring the CPE device. </t>
              <t>NTP server </t>
              <t>SSH server: Temporary for operator's need of management. Will be retired.</t>
              <!-- <t>DNS proxy</t>
              [Qi] Necessary?
              -->
            </list>
          </t>
        </section>

      </section>
      
      <section anchor="sec-req" title="Management of Security Components">
        <section title="Requirements">
          <t>A CPE requires support for the management of Firewall (v4/v6) and ACL
          functions.</t>
        </section>
        
        <section title="Development of Relevent YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>[To be specified] </t>
            </list>
          </t>
          
          <t>Work In Progress:
            <list style="symbols">
              <t>IPv4 Firewall configuration: <xref target="I-D.ietf-netmod-acl-model"/></t>
              <t>IPv6 Firewall configuration: <xref target="I-D.ietf-netmod-acl-model"/></t>
              <t>Access Control List (ACL): <xref target="I-D.ietf-netmod-acl-model"/></t>
            </list>
          </t>
        
          <t>To Be Defined:
            <list style="symbols">
              <t>IPv4/v6 Firewall (possible) </t>
            </list>
          </t>
        </section>

      </section>
      
      <section anchor="up-req" title="CPE Software Upgrade Management">
        <section title="Requirements">
          <t>During the operational life of the CPE, the firmware and software packages
          will need to be upgraded to fix bugs, enable new features and resolve 
          security issues, etc. A CPE requires RPCs for file transfer to retrieve
          up-to-date files from an operator-managed date centre.</t>
        </section>
        
        <section title="Development of Relevent YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>[To be specified] </t>
            </list>
          </t>
          
          <t>Work In Progress:
            <list style="symbols">
              <t>File transfer: <xref target="I-D.sf-netmod-file-transfer-yang"/></t>
            </list>
          </t>
        
          <t>To Be Defined:
            <list style="symbols">
              <t>YANG model for firmware upgrade</t>
            </list>
          </t>
        </section>

      </section>
      
    </section>

    <section title="Security Considerations">
      <t>A NETCONF/YANG managed CPE should follow the <xref target="sec-req"/> for 
      enabling and managing IPv4/IPv6 firewalls. Security considerations from the 
      related documents should be followed. </t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>There are no IANA considerations for this document.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">

      <t>The authors would like to thank xxx for their contributions to this work.</t>
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <references title="Normative References">
      &rfc2119;
      &rfc7277;
      &rfc7223;
      &rfc7224;
      &rfc6470;
      &rfc6022;
      &rfc7317;
      <?rfc include="reference.I-D.ietf-netmod-routing-cfg" ?>
      <?rfc include="reference.I-D.ietf-isis-yang-isis-cfg" ?>
      <?rfc include="reference.I-D.liu-pim-yang" ?>
      <?rfc include="reference.I-D.liu-pim-igmp-mld-yang" ?>
      <?rfc include="reference.I-D.ietf-netconf-zerotouch" ?>
      <?rfc include="reference.I-D.perrault-behave-natv2-mib" ?>
      <?rfc include="reference.I-D.liu-dhc-dhcp-yang-model" ?>
      <?rfc include="reference.I-D.cui-dhc-dhcpv6-yang" ?>
      <?rfc include="reference.I-D.ietf-netmod-acl-model" ?>      
      <?rfc include="reference.I-D.sun-softwire-yang" ?>
      <?rfc include="reference.I-D.sf-netmod-file-transfer-yang" ?>      
      <?rfc include="reference.I-D.ietf-netconf-server-model" ?>
      <?rfc include="reference.I-D.ietf-netconf-call-home" ?>
      <reference anchor="IEEE-ETH-YANG" target="https://github.com/YangModels/yang/tree/master/experimental/ieee">
        <front>
          <title>IEEE Ethernet YANG Model</title>
          <author/>
          <date/>
        </front>
      </reference>
    </references>

    <references title="Informative References">
      <?rfc include="reference.I-D.ietf-softwire-unified-cpe" ?>
    </references>

  </back>
</rfc>
