<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="4"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-jlu-dmm-udp-tunnel-acaas-00" ipr="trust200902">

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <title>UDP Tunnel Attachment Circuit as a Service</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->


    <author fullname="John Kaippallimalil" initials="J." surname="Kaippallimalil">
      <organization>Futurewei</organization>
      <address>
      <postal>
      <country>USA</country>
      </postal>
      <email>john.kaippallimalil@futurewei.com</email>
      </address>
    </author>
    
   <author fullname="Luis M. Contreras" initials="L.M." surname="Contreras">
     <organization>Telefonica</organization>
     <address>
        <postal>
          <street>Telefonica Sur-3 building, 3rd floor</street>
          <city>Madrid</city>
          <code>28050</code>
          <country>Spain</country>
        </postal>
     <email>luismiguel.contrerasmurillo@telefonica.com</email>
     </address>
   </author>     
   
    <author fullname="Uma Chunduri" initials="U." surname="Chunduri">      
      <organization>Intel Corporation</organization>
      <address>
      <postal>
      <street>2191 Laurelwood Rd</street>
      <city>Santa Clara</city>
      <region>CA</region>
      <code>95054</code>
      <country>USA</country>
      </postal>
      <email>umac.ietf@gmail.com</email>
      </address>
    </author>   

 
 
        
    
    <date year="2025"/>
     
    <area>Internet</area>

    <workgroup>DMM Working Group</workgroup>

    <keyword>network slicing</keyword>


    <abstract>
	<t>Delivery of network services over a Layer 3 tunnel bearer assumes that the 
	appropriate setup is provisioned over links that connect the customer 
	termination points and provider network.
	The setup needed to allow successful data exchange over these links is 
	referred to as an attachment circuit (AC) while the underlying link for carrying
	network services is referred to as "bearer", in this case a Layer 3 UDP tunnel.
	</t>
	<t>This document specifies an extension for UDP tunnel as Layer 3 bearer to the YANG service data model 
	for AC defined in <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/>.</t>
	
    </abstract>

<!-- this section is out of date
    <note 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">RFC2119</xref>.</t>
    </note>
-->
  </front>

  <middle>
  
    <section anchor="INTRO" title="Introduction">
    
    <t>Connectivity services provided by networks to customers ensure the transfer of
    data between termination points in the network.
    The objectives of the connectivity service can be negotiated and agreed between
    customer and network provider.
    To facilitate data transfer within the provider network, it is assumed that the 
    appropriate setup is provisioned over links that connect customer termination points
    and provider network (usually via Provider Edges (PEs)).
    This is referred to as attachment circuit (AC) and the underlying link defined in this 
    document is a UDP tunnel as Layer 3 bearer.
    In general, a bearer can be described as a physical or logical link that connects a customer node (or site) 
    to a provider network.
    <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> describes further details 
    of bearers and 'Attachment Circuits'-as-a-service.</t>
		  
    <t><xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> describes YANG data models 
    for bearers and 'Attachment circuits'-as-a-service ACaaS). 
    Layer 3 UDP tunnel as bearer is not defined there and is an extension defined in this document.
    <xref target="AC_Extn_for_UDPT"/> describes the data module ietf-ac-udpt for Layer 3 UDP tunnel 
    service.
    <xref target="UDPT_Yang"/> describes the UDP tunnel YANG model.</t>
				
	    
	</section>   <!-- end of chapter 1 Introduction -->	
	    

    
    <section anchor="AC_Extn_for_UDPT" title="Attachment Circuit for UDP Tunnel">
    
    <t><xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> defines YANG service model for AC
    to an IETF slice <xref target="RFC9543"/> based on layer 2 bearers.
    This document extends the YANG service model for AC in 
    <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> to support UDP tunnels.</t>
    
    
    <t>The 'l3-service' and 'l3-tunnel-service' in the AC
    structure in <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> is used to configure the 
    relevant layer 3 tunnel properties of a UDP tunnel AC.
    IPv4 and IPv6 properties of the UDP tunnel AC are provided in "ip-connection" and the extension 
    below adds source port number and range for the UDP tunnel.</t>
    
    <figure anchor="ENCAP_UDPT_TREE" 
   	 title="UDP Tunnel Yang Module">
              <artwork>
              
module: ietf-ac-udpt

  augment /ac-svc:attachment-circuits/ac-svc:ac/ac-svc:ip-connection
          /ac-svc:l3-service/ac-svc:l3-tunnel-service
          /ac-svc:l3-tunnel-service:

    +--rw (udp-port)?
       +--:(port-range-or-operator)
          +--rw source-port-range-or-operator
             +--rw (port-range-or-operator)?
                +--:(range)
                |  +--rw lower-port    inet:port-number
                |  +--rw upper-port    inet:port-number
                +--:(operator)
                   +--rw operator?     operator
                   +--rw port          inet:port-number
                                          
           </artwork>
      </figure>    
      
    <t>'l3-tunnel-service' in <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> is 
    extended in this document to carry UDP source port number/range.</t>
    
    </section>   <!-- end of chapter 2 AC extn description --> 
    
    
    <section anchor="UDPT_Yang" title="ietf-ac-udp-tunnel YANG Module">
    
    <t>The "ietf-ac-udp-tunnel" module uses definitions in
    <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/> and <xref target="RFC8519"/>.</t>
    
    <figure anchor="Fig_UDPT_Yang" title="UDP Tunnel YANG Module">
              <artwork>
    <![CDATA[
module ietf-ac-udp-tunnel {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-ac-udp-tunnel";
  prefix ac-udpt;

  import ietf-ac-common {
    prefix ac-common;
    reference
      "RFC SSSS: YANG Data Models for Bearers and 'Attachment
                 Circuits'-as-a-Service (ACaaS)";
  }
  import ietf-ac-svc {
    prefix ac-svc;
    reference
      "RFC SSSS: YANG Data Models for Bearers and 'Attachment
                 Circuits'-as-a-Service (ACaaS)";
  }
  import ietf-packet-fields {
    prefix packet-fields;
      reference
        "RFC 8519: YANG Data Model for Network Access
                   Control Lists (ACLs), Section 4.2";
  }

  organization
    "IETF DMM (Distributed Mobility Management)";
  contact
    "WG Web:   <https://datatracker.ietf.org/wg/dmm/>
     WG List:  <mailto:dmm@ietf.org>

     Author:   John Kaippallimalil
               <mailto:john.kaippallimalil@futurewei.com>";
  description
    "This YANG module defines a YANG model for augmenting the ACaaS
     service model with UDP Encapsulation as Layer 3 tunnel service.

     Copyright (c) 2024 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 Revised BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see the
     RFC itself for full legal notices.";

  revision 2023-11-13 {
    description
      "Initial revision.";
    reference
      "RFC XXXX: UDP Attachment Circuit as a Service";
  }

  identity udp {
    base ac-common:l3-tunnel-type;
    description
      "UDP Encapsulation.";
    reference
      "RFC 8085: UDP Usage Guidelines, Section 3.1.11";
  }

  augment "/ac-svc:attachment-circuits/ac-svc:ac"
        + "/ac-svc:ip-connection/ac-svc:l3-service"
        + "/ac-svc:l3-tunnel-service/ac-svc:l3-tunnel-service" {
    when "derived-from-or-self(./type, 'ac-udpt:udp')" {
      description
        "Only applicable if l3 service type is UDP encapsualtion.";
    }
    description
      "Augments Layer 3 AC service with required data nodes for
       UDP encapsulation support.";
     choice udp-port {
       description
         "Choice of specifying the source port number or referring
          to a group of port numbers.";
       container source-port-range-or-operator {
         description
            "Indicates a set of source ports numbers.";
         uses packet-fields:port-range-or-operator;
      }
    }
  }
}
    ]]>                      
           </artwork>
    </figure>
    
    <t>Note to RFC Editor:</t>
    <list>
    <t>Replace "RFC XXXX" with the RFC number to be assigned to this document.</t>
    <t>Replace "RFC SSSS" with the RFC number to be assigned to <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/>.</t>
    </list>    
    
    </section> <!-- end of chapter 3 UDPT YANG module -->  
    


  

    <section anchor="Acknowledgements" title="Acknowledgements">

    <t>Mohamed Boucadair helped with Yang structures for the ietf-ac-udp-tunnel attachment circuit 
	in this document.</t>
			    
    </section>   <!-- Acknowledgements -->
    
    
    <section anchor="Security" title="Security Considerations">
    
    <t>This section is modeled after the template described in Section 3.7 of <xref target="I-D.ietf-netmod-rfc8407bis"/>.</t>
    
    <t>The "ietf-ac-udp-tunnel" YANG module defines a data model that is designed to be accessed via 
    YANG-based management protocols, such as NETCONF <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>.
    These protocols have to use a secure transport layer (e.g., SSH <xref target="RFC4252"/>, 
    TLS <xref target="RFC8446"/> or QUIC <xref target="RFC9000"/> and have to use mutual authentication.</t>
    
    <t>Servers MUST verify that requesting clients are entitled to access and manipulate 
    a given bearer or AC.  
    For example, a given customer must not have access to bearers (attachment circuits) of other customers.
    The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/>
    provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset 
    of all available NETCONF or RESTCONF protocol operations and content.</t>
    
    <t>The data nodes in the YANG model in this document inherits from <xref target="I-D.ietf-opsawg-teas-attachment-circuit"/>,
    and the security constraints to the data structures there apply.
    Data nodes defined in the ietf-ac-udp-tunnel YANG module are writable/creatable/deletable 
    (i.e., config true, which is the default).  
    These data nodes may be considered sensitive or vulnerable in some network environments. 
    Write operations (e.g., edit-config) and delete operations to these data nodes without proper protection 
    or authentication can have a negative effect on network operations.
    The 'udp-port' information may be used to track a customer of the slice service and may 
    be considered a violation of the customer-provider trust relationship.</t>
    
    </section>   <!-- Security considerations -->
	
	    

    <section anchor="IANA" title="IANA Considerations">
    
	<t>IANA is requested to register the following URI in the "ns" subregistry within the 
	"IETF XML Registry" <xref target="RFC3688"/>:</t>
	
	<t><list>
	<t>URI: urn:ietf:params:xml:ns:yang:ietf-ac-udp-tunnel</t>
	<t>Registrant Contact:  The IESG.</t>
	<t>XML: N/A; the requested URI is an XML namespace.</t>
	</list></t>
	
	<t>IANA is requested to register the following YANG module in the "YANG Module Names" subregistry 
	<xref target="RFC6020"/> within the "YANG parameters" registry.</t>
	
	<t><list>
	<t>Name: ietf-ac-udp-tunnel</t>
	<t>Maintained by IANA?  N</t>
	<t>Namespace: urn:ietf:params:xml:ns:yang:ietf-ac-udp-tunnel</t>
	<t>Prefix: ac-udp-tunnel</t>
	<t>Reference: RFC XXXX</t>
	</list></t>	
	
	
    </section>   <!-- IANA considerations -->



  </middle>

  <!-- *****BACK MATTER ***** -->

  <back>

    <references title="Normative References">
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8519.xml"?> 
      <?rfc include="reference.I-D.ietf-opsawg-teas-attachment-circuit"?>         
    </references>


    <references title="Informative References">

    
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6020.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.6241.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8040.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4252.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8446.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9000.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8341.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.9543.xml"?>
      <?rfc include="reference.I-D.ietf-netmod-rfc8407bis"?>

	


    </references>
   
   
<!-- extended list of abbreviations -->   
	    <section title="Abbreviations">
        <t><list hangIndent="7" style="hanging">

                <t hangText="AC       &ndash;">Attachment Circuit</t>
                <t hangText="PE       &ndash;">Provider Edge</t>
                <t hangText="UDP      &ndash;">User Datagram Protocol</t>
                

        </list></t>
        </section>
     

  </back>
</rfc>
