<?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-netmod-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>sunqi.ietf@gmail.com</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>NETMOD WG</workgroup>

    <abstract>
      <t>This document collects together the YANG models necessary for 
      managing NETCONF-enabled Customer Premises Equipment (CPE) devices.
      </t>
    </abstract>

  </front>

  <!-- ***** MIDDLE MATTER ***** -->

  <middle>
    <section anchor="introduction" title="Introduction">
      
      <t>This document defines the requirements and specifies the necessary
      YANG models for managing residential CPE devices using NETCONF and YANG. Implementing
      NETCONF on CPE devices, along with the relevant YANG models, provides
      operators with a flexible and extensible management interface.</t>
      
      <t>Many of the YANG models referenced here are in various stages in
      the development process. In some cases there is currently no existing work.
      The aim of this document is to catalog which models are necessary, and for
      each referenced 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 progress. Once finalised,
      the goal of the document is to serve as a CPE YANG 'Device profile'
      that can be used as a reference for operators and 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="18" style="hanging">
          <t hangText="CPE"> Customer Premises Equipment; provides access
          between a customer's LAN connected devices and their ISP's 
          network. In the context of this document, the CPE device implements 
          NETCONF/YANG. This document focuses on the type of residential CPE that
          typically exists between the Internet Service Provider access line and
          residential customer home, doing similar functions that for example
          <xref target="RFC7084"/> lists.</t>
          
          <t hangText="Existing RFCs"> Lists YANG models defined in published
            RFCs.</t>
          
          <t hangText="Work In Progress"> YANG models under development in active
            Internet Drafts, or relevant documents being produced by SDOs other
            than the IETF.</t>
          
          <t hangText="To Be Defined"> YANG models that are identified as necessary
          for CPE management, but are not currently known to be in development
          at the time of writing.</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). <xref target="RFC7223"/> 
        defines a YANG model for general interface management, which identifies
        these (and other) interface types. However, Ethernet standardisation
        is carried out by the IEEE, so it is probable where YANG models
        for managing these interfaces would be developed.</t>

        <t>NB - The list of interface types necessary for a complete, general 
        HGW model needs to include xDSL (BBF) and DOCSIS (ITU) interfaces.
        These will be included in a future version of this document.</t>
 
        <section title="Requirements">
        <t>The following requirements are necessary for basic CPE management
          functionality.</t>
	      <t><list hangIndent="7" style="hanging">

	        <t hangText="INT-1:">The CPE YANG implementation MUST implement general
            interface management.</t>
          
      	    <t hangText="INT-2:">The CPE YANG implementation MUST enable the configuration and management
            for the following interface types:</t>

        <t hangText="        o">Ethernet LAN</t>
        <t hangText="        o">Ethernet 802.1q</t>
        <t hangText="        o">Ethernet 802.1ag (including Ethernet CFM)</t>
        <t hangText="        o">Ethernet WAN</t>
        <t hangText="        o">WLAN (802.11a/b/n/g/ac)</t>
      	    <t hangText="INT-3:"> The CPE YANG implementation MUST provide support for
            optical parameter configuration for the Ethernet WAN interface YANG model.</t>
          
        </list></t>
        </section>
        
        <section title="Development Status of Relevant 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 802.1q YANG Model</xref></t>
		      <t>Common Interface Extension YANG Data Models:  
                 <xref target="I-D.wilton-netmod-intf-ext-yang"/>.     			</t>
		      <t>Interface VLAN YANG Data Models:  
                 <xref target="I-D.wilton-netmod-intf-vlan-yang"/>.     			</t>
             </list>
          </t>

          <t>To Be Defined:
            <list style="symbols">
              <t>Ethernet WAN</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 following requirements are necessary for the management and 
            configuration of IPv4 and IPv6.</t>
           
        <t><list hangIndent="6" style="hanging">

        <t hangText="IP-1:">The CPE YANG implementation MUST enable the configuration and management
         of IPv4 addresses and associated parameters on L3 interfaces.</t>
          
        <t hangText="IP-2:">The CPE YANG implementation MUST enable the configuration and management
         of IPv6 addresses and associated parameters on L3 interfaces.</t>
          
        </list></t>
        </section>
        
        <section title="Development of Relevant 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>YANG Model for DiffServ: <xref target="I-D.asechoud-netmod-diffserv-model"/>. </t>
            </list>
          </t>         
          
          <t>To Be Defined:
            <list style="symbols">
              <t>None</t>
            </list>
          </t>
        </section>
        
      </section>
      
      <section anchor="route-req" title="Routing and Multicast Management">
        <section title="Requirements">

        <t>The following requirements are necessary for routing management.</t>
           
        <t><list hangIndent="8" style="hanging">

        <t hangText="ROUT-1:">The CPE YANG implementation MUST provide support
          for the configuration and management of relevant IPv4/IPv6 dynamic routing
          protocols (for instance the ones relevant to IETF HOMENET WG).</t>
          
        <t hangText="ROUT-2:">The CPE YANG implementation MUST include YANG models
          for the management of static IPv4/IPv6 routes.</t>

        <t hangText="ROUT-3:">The CPE YANG implementation MUST provide support
          for the management of Protocol Independent Multicast (PIM).</t>
          
        <t hangText="ROUT-4:">The CPE YANG implementation MUST provide support
          for the management of static multicast routes.</t>


          </list></t>
        </section>
        
        <section title="Development of Relevant 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.mcallister-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>
              <t>What is the HOMENET relevant dynamic routing protocol.</t>
            </list>
          </t>
        </section>
      </section>
      
      <section anchor="netconf-req" title="CPE NETCONF Server Management">
        <section title="Requirements">

        <t>The following requirements are necessary for management of the CPE's
          NETCONF Server.</t>
           
        <t><list hangIndent="12" style="hanging">

        <t hangText="NETCONF-1:">The CPE YANG implementation MUST provide support
          for management and configuration of its local NETCONF server using the
          NETCONF protocol.</t>
          
        <t hangText="NETCONF-2:">The CPE YANG implementation MUST provide support
          for the base notification function in order to allow a NETCONF client
          to retrieve notifications for common system events.</t>

        <t hangText="NETCONF-3:">The CPE YANG implementation MUST be able to
          retrieve NETCONF server configuration automatically during the bootstrap
          process (ZeroTouch).</t>
          
        <t hangText="NETCONF-4:">The CPE YANG implementation as a NETCONF server
          MUST provide support for the Call Home function so that a secure
          connection to a NETCONF client can be initiated.</t>


          </list></t>
          
        </section>
        
        <section title="Development Status of Relevant 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>None </t>
            </list>
          </t>
        </section>
      </section>
      
      <section anchor="dhcp-req" title="DHCP/SLAAC/ND Management">
        
        <section title="Requirements">

        <t>The following requirements are necessary for management of DHCP, SLAAC
          and ND.</t>
           
        <t><list hangIndent="11" style="hanging">

        <t hangText="V6CONF-1:">The CPE YANG implementation MUST provide support for
          management of its DHCPv4 server, which typically runs at the IPv4 LAN side.</t>
          
        <t hangText="V6CONF-2:">The CPE YANG implementation MUST provide support
          for the management of its DHCPv6 server, which can run at the IPv6 LAN side.</t>

        <t hangText="V6CONF-3:">The CPE YANG implementation MUST provide support
          for the management of its DHCPv6 client, which typically runs at the IPv6 WAN side.</t>
          
        <t hangText="V6CONF-4:">The CPE YANG implementation MUST provide support for
          the management of its DHCPv6 Prefix Delegation configuration (as a requesting router).</t>

        <t hangText="V6CONF-5:">The CPE YANG implementation MUST provide support for
          the management of SLAAC for stateless IPv6 configuration.</t>

          </list></t>

        </section>
        
        <section title="Development Status of Relevant YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>None</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 model for SLAAC (Router Advertisement)</t>
              <t>YANG model for Neighbour Discovery Protocol (NDP)</t>
              <t>YANG model for DHCPv6 Prefix Delegation (requesting router)</t>
              <t>YANG model for IPCP.</t>
              <t>YANG model for IPv6CP.</t>
            </list>
          </t>
        </section>

      </section>
      
      <section anchor="nat-req" title="NAT Management">
      	<section title="Requirements">

        <t>The following requirements are necessary for NAT Management.</t>
           
        <t><list hangIndent="8" style="hanging">

        <t hangText="NAT-1:">The CPE YANG implementation MUST provide
          support for management of NAT44 configuration, as well as
          NAPT44 configuration.</t>

          </list></t>

        </section>
        
        <section title="Development Status of Relevant 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 NAT44 and stateful NAT64 function
                <xref target="I-D.sivakumar-yang-nat"/>.</t>
            </list>
          </t>
        
          <t>To Be Defined:
            <list style="symbols">
              <t>None</t>
            </list>
          </t>
        </section>

      </section>
      
      <section anchor="trans-req" title="IPv6 Transition Mechanisms Management">
        <section title="Requirements">

        <t>The following requirements are necessary for management of IPv6 Transition Mechanisms.</t>
           
        <t><list hangIndent="9" style="hanging">

        <t hangText="TRAN-2:">The CPE YANG implementation must include configuration
          and management for 6rd <xref target="RFC5969"/>.</t>
        <t hangText="TRAN-2:">The CPE YANG implementation must include configuration
          and management for DS-Lite <xref target="RFC6333"/>.</t>
        <t hangText="TRAN-3:">The CPE YANG implementation must include configuration
          and management for Lightweight 4over6 <xref target="RFC7596"/>.</t>
        <t hangText="TRAN-4:">The CPE YANG implementation must include configuration
          and management for MAP-E <xref target="RFC7597"/>.</t>
        <t hangText="TRAN-5:">The CPE YANG implementation must include configuration
          and management for MAP-T <xref target="RFC7599"/>.</t>
          </list></t>

        </section>
        
        <section title="Development of Relevant YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>None</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>
              <t>YANG Data Model for the DS-Lite Address Family Transition Router (AFTR):
              <xref target="I-D.boucadair-softwire-dslite-yang"/>. </t>
            </list>
          </t>
        
          <t>To Be Defined:
            <list style="symbols">
              <t>YANG model for 6rd.</t>
              <t>DHCP 4o6 client: May be combined in DHCPv6 YANG model as a feature.</t>
              <t>DNS64</t>
              <t>Stateless NAT64 (required for MAP-T and 464xlat).</t>
            </list>
          </t>
        </section>      
      </section>
      
      <section anchor="service-req" title="Management of Specific Services">
        <section title="Requirements">

        <t>The following requirements are necessary for management of specific
        services which the CPE may offer.</t>
           
        <t><list hangIndent="12" style="hanging">

        <t hangText="SERVICE-1:">The CPE YANG implementation MUST provide support
        for the management of a SIP client.</t>
        <t hangText="SERVICE-2:">The CPE YANG implementation MUST provide support
        for the management of a the CPEs Web server (used to provide a local
        management interface).</t>
        <t hangText="SERVICE-3:">The CPE YANG implementation MUST provide support
        for the management of an NTP client and server.</t>
        <t hangText="SERVICE-4:">The CPE YANG implementation MUST provide support
        for the management of the SSH server.</t>
          </list></t>

        </section>
        
        <section title="Development of Relevant 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>None</t>
            </list>
          </t>
        
          <t>To Be Defined:
            <list style="symbols">
              <t>SIP Client </t>
              <t>Web server, used by the customer for configuring their CPE device.</t>
              <t>NTP server </t>
              <t>SSH server</t>
            </list>
          </t>
        </section>

      </section>
      
      <section anchor="sec-req" title="Management of Security Components">
        <section title="Requirements">

        <t>The following requirements are necessary for management of security components.</t>
           
        <t><list hangIndent="8" style="hanging">

        <t hangText="SEC-1:">The CPE YANG implementation MUST provide support for the
          management of IPv4 firewall and ACL functions.</t>
        <t hangText="SEC-1:">The CPE YANG implementation MUST provide support for the
          management of IPv6 firewall and ACL functions.</t>
          </list></t>

        </section>
        
        <section title="Development of Relevant YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>None</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 (if needed in addition to the above)</t>
              <t>Parental controls</t>
            </list>
          </t>
        </section>

      </section>
      
      <section anchor="up-req" title="Remote CPE Software Upgrade">
        <section title="Requirements">

        <t>The following requirements are necessary to perform remote CPE Software
          file transfer and software upgrades.</t>
           
        <t><list hangIndent="10" style="hanging">

        <t hangText="SWUPG-1:">The CPE implementation must provide a YANG model
          for the upgrade of firmware and software packages in order to fix bugs,
          enable new features, and resolve security issues.</t>

        <t hangText="SWUPG-2:">The CPE YANG implementation MUST enable RPCs for file
          transfer in order to retrieve files from an operator-managed
          data centre, or upload logging.</t>

          </list></t>

        </section>
        
        <section title="Development of Relevant YANG Models">
          <t>Existing RFCs:
            <list style="symbols">
              <t>None</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 RPCs</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.mcallister-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" ?>
      <?rfc include="reference.I-D.wilton-netmod-intf-ext-yang" ?>
      <?rfc include="reference.I-D.wilton-netmod-intf-vlan-yang" ?>
      <?rfc include="reference.I-D.sivakumar-yang-nat" ?>
      <?rfc include="reference.I-D.boucadair-softwire-dslite-yang" ?>
      <?rfc include="reference.I-D.asechoud-netmod-diffserv-model" ?>
      <reference anchor="IEEE-ETH-YANG" target="http://www.ieee802.org/1/files/public/docs2015/">
       <front>
          <title>IEEE 802.1q YANG Model</title>
          <author/>
          <date/>
       </front>
      </reference>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.5969" ?>
      <?rfc include="reference.RFC.6333" ?>
      <?rfc include="reference.RFC.7084" ?>
      <?rfc include="reference.RFC.7596" ?>
      <?rfc include="reference.RFC.7597" ?>
      <?rfc include="reference.RFC.7599" ?>
    </references>


  </back>
</rfc>
