<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?Pub Inc?>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?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-ietf-idr-sdwan-edge-discovery-27"
     ipr="trust200902">
  <front>
    <title abbrev="SD-WAN Edge Discovery">BGP UPDATE for SD-WAN Edge Discovery</title>

    <author fullname="Linda Dunbar" initials="L. " surname="Dunbar">
      <organization>Futurewei</organization>

      <address>
		<postal>
          <city>Dallas, TX</city>
          <country>USA</country>
		</postal>
        <email>ldunbar@futurewei.com</email>
      </address>
    </author>
	
    <author fullname="Susan Hares" initials="S. " surname="Hares">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street></street>
          <city> </city>
          <country>USA</country>
        </postal>
        <email>shares@ndzh.com</email>
      </address>
    </author>
    
	<author fullname="Kausik Majumdar" initials="K." surname="Majumdar">
      <organization>Oracle</organization>

      <address>
        <postal>
          <street/>

          <city>California</city>

          <country>USA</country>
        </postal>

        <email>kausik.majumdar@oracle.com</email>
      </address>
    </author>



    <author fullname="Robert Raszuk" initials="R. " surname="Raszuk">
      <organization>Arrcus</organization>

      <address>
        <postal>
          <street></street>

          <code></code>

          <country>USA</country>
        </postal>

        <email>robert@raszuk.net</email>
      </address>
    </author>

    <author fullname="Venkit Kasiviswanathan" initials="V" surname="Kasiviswanathan">
      <organization>Arista</organization>

      <address>
        <postal>
          <street/>

          <city></city>

          <country>USA</country>
        </postal>

        <email>venkit@arista.com</email>
      </address>
    </author>


    <date year="2026"/>

    <abstract>
     <t>The document describes the BGP mechanisms for SD-WAN (Software Defined Wide Area Network)
	 edge node attribute discovery. These mechanisms include a new 
	 tunnel type and sub-TLVs for the BGP Tunnel-Encapsulation Attribute (RFC9012) and 
	 set of NLRI (network layer reachability information) for SD-WAN underlay information. 
	 </t> 
	

    </abstract>

    <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"></xref> <xref target="RFC8174"></xref>
      when, and only when, they appear in all
      capitals, as shown here.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
	
     <t>This document describes the BGP [RFC4271] signaling extensions that enable SD-WAN edge nodes 
	 to advertise client route reachability, underlay tunnel properties, and security 
	 related attributes required to establish and maintain SD-WAN overlay tunnels. 
	 The SD-WAN Hybrid Tunnel forms a logical overlay between edge nodes across 
	 heterogeneous underlay networks (e.g., MPLS VPNs, direct Layer 2 links, or public Internet).</t>

     <t>The mechanisms defined in this document apply to both: 
	 <list> 
	 <t>1) SD-WAN Secure L3VPN deployments, where L3VPN services are delivered over SD-WAN Hybrid tunnels,
	 and </t>
	 <t>2) SD-WAN Secure Links deployments, where encrypted logical links are formed between 
	 SD-WAN edge nodes without using L3VPN address families.</t>
	 </list>
	 </t>
	 <t>BGP [RFC4271] serves as the control plane for these SD-WAN deployments.
	 For SD-WAN implementations using BGP, the RR SHOULD establish a secure transport 
	connection with each SD-WAN edge operating under the same BGP control plane instance. 
	This secure transport SHOULD support authentication and integrity, but MAY also 
	support confidentiality. 
	</t>
	<t>SD-WAN deployments SHOULD use TCP-AO [RFC5925] to provide authentication 
     and integrity between the RR and each BGP Peer. Other mechanisms that can provide  
     authentiation, integrity, and confidentiality are in the process of being defined by the IETF.
	 Examples of these mechanisms are: BGP over QUIC [draft-retana-idr-bgp-quic], 
	 BGP over TLS/TCP [draft-wirtgen-bgp-tls], or Securing BGPv4 using IPsec [draft-ward-bgp-ipsec].
	SD-WAN deployments MAY use mechanisms that support authentication, integrity, and confidentiality. 
	</t> 
     <t>This document defines a new SD-WAN Hybrid Tunnel type and associated sub-TLVs for the 
	 BGP Tunnel Encapsulation Attribute [RFC9012], as well as new NLRIs for advertising SD-WAN 
	 underlay information. These extensions enable SD-WAN edge nodes to exchange the 
	 information necessary to establish and update secure SD-WAN overlay tunnels, as described in [Net2Cloud].</t>	 
	<t>In the context of this document, BGP Route Reflector (RR) is 
	the component of the SD-WAN Controller system that receives the BGP UPDATE from SD-WAN edges 
	and in turn propagates the information to the intended peers 
	that are authorized to communicate via the SD-WAN overlay network.</t>

	  <section title="Secure L3VPN Services over SD-WAN">
	  <t> An SD-WAN network defined in [MEF70.1] and [MEF70.2] refers to a policy-driven network  
	  over multiple heterogeneous underlay networks tailored to get better WAN bandwidth  
	  management, visibility, and control. In many deployments, L3VPN services are offered over SD-WAN 
	  overlays to provide site-to-site connectivity with traffic segmentation, security, and performance 
	  guarantees. These L3VPN services leverage SD-WAN Secure Links, i.e. encrypted data plane tunnels 
	  established between SD-WAN edge nodes using mechanisms such as IPsec, to carry user traffic 
	  between endpoints.</t>

	   <t>This document describes the BGP mechanisms used to support such L3VPN deployments by enabling 
	   SD-WAN edge nodes to advertise underlay attributes, tunnel characteristics, and security association 
	   related attributes. These mechanisms enable dynamic tunnel selection, service-level steering, 
	   and secure endpoint discovery.</t>
	   
	   <t>The SD-WAN usage model, including its deployment scenarios and BGP requirements, 
	   is detailed in <xref target="SD-WAN-BGP-USAGE"></xref> and not repeated here. This document 
	   focuses solely on the signaling extensions and encapsulation mechanisms required to support 
	   those scenarios in BGP. 
      </t>
	  </section> 
	  <section title="SD-WAN Secure Links">  
      <t><xref target="RFC9012"></xref> defines a BGP mechanism 
	  that links routes to a specific tunnels using a specific encapsulation. 
	  The SD-WAN Secure Links Topology uses a single hybrid logical link on 
      a SD-WAN Peer to represent multiple underlay topology links. The SD-WAN
      peer distributes IPsec security association (IPsec SA) [RFC4301] related information 
	  regarding the hybrid link or individual underlay links. 
	  </t>
	  <t>The traffic is routed via normal IPv4/IPv6 forwarding without 
	  any VPN addition. The SD-WAN Secure Links provides some link security for some simple
      cases of the three scenarios from [SD-WAN-BGP-USAGE] that do not require L3VPN addresses
      (Route Distinguisher (RD), prefix). 	  
	  </t>
	  </section>

   <section title="Conventions used in this document">
   	<t>The following terms are used as defined in other documents:
	 <list style="hanging">
	 <t hangText="[MEF 70.1] [MEF 70.2]:"> SD-WAN (Software-Defined Wide Area Network)</t> 
	 <t hangText="[RFC4301]:"> IPsec SA (IPsec Security Association) </t>
	 <t hangText="[RFC4760]:"> MP_REACH_NLRI </t> 
	 <t hangText="[RFC9012]:"> Tunnel Enapsulation Attribute </t>
	 <t hangText="[SD-WAN-Usage]:"> C-PE, Controller, and SD-WAN Edge </t>
	 </list>
     </t>
	 
     <t>For clarity, in this document the application of [SD-WAN-Usage] terms to this draft are: 
	 <list style="hanging">
		 <t hangText="C-PE (Customer Premises Equipment):"> A specific type of SD-WAN Edge 
		   deployed at the customer's edge. In this document, the terms C-PE and 
		   SD-WAN Edge are used interchangeably when referring to SD-WAN nodes that handle 
		   client route advertisement and secure tunnel establishment.</t>		   
		  <t hangText="Controller:">Refers to the SD-WAN Controller as defined in [SD-WAN-BGP-USAGE]. </t>
		  <t hangText="SD-WAN Edge:">A network element that participates in the SD-WAN overlay as defined 
		  in [SD-WAN-BGP-USAGE]. </t>
	 </list> 
	 </t>
		 
     <t> The following new terms are defined for this document:  
	 <list style="hanging">	  
		  <t hangText="CPE-Based VPN:">Virtual Private Secure network formed among C-PEs. This is to 
		  differentiate such VPNs from most commonly used PE-based VPNs discussed in [RFC4364].</t>
		  <t hangText="CPN:">Customer Premises Network</t>
		   
		   <t hangText="SD-WAN Hybrid Tunnel:">A single logical tunnel that combines several links of different 
		   encapsulation into a single tunnel. This logical tunnel MAY exist as part of a SD-WAN Secure L3VPN or 
		   simply be a SD-WAN secure link for a flat network. </t>
	       
		  <t hangText = "Secure Transport Connection:"> A transport layer security mechanism that 
		  provides authentication and integrity of routing updates over untrusted networks.</t> 
	</list> 
	</t>
	<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", 
	"RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be 
	interpreted as described in BCP 14 [RFC8174] when, and only when, they appear in all capitals, as shown here.
	</t>
   </section>
   </section>

<section title="BGP SD-WAN Mechanisms">
<t> The BGP mechanisms defined in this document serve two functions: 
<list style="hanging">
<t hangText="Advertise Client routes with SD-WAN Hybrid Tunnel:"> A BGP speaker supporting SD-WAN 
re-advertises routes received from client routers with the Next_HOP address set to its own IP address
(due to the SD-WAN feature configuration) and includes a BGP attribute indicating the SD-WAN Hybrid Tunnel. Client routes 
MAY be advertised using the following AFI/SAFIs: Unicast IPv4/IPv6 (1/1, 2/1) and L3VPN IPv4/IPv6 
(1/128, 2/128). The SD-WAN tunnel indication can be conveyed using either the 
Encapsulation Extended Community or the Tunnel Encapsulation Attribute.
</t>
<t hangText="Advertise Underlay Routes (SD-WAN NLRIs) with SD-WAN Hybrid Tunnel Encapsulation Attribute:"> A BGP speaker advertises 
SD-WAN NLRI for IPv4/IPv6 (AFI/SAFI 1/74 or 2/74) with the NEXT_HOP attribute set to the local address of 
the advertising speaker, and includes a BGP Tunnel Encapsulation Attribute with a SD-WAN Hybrid Tunnel TLV. 
The SD-WAN NLRI identifies the port (or ports) that an underlay tunnel (identified by SD-WAN Node ID)
within the logical SD-WAN Hybrid Tunnel (identified by Tunnel Egress End point) for which the 
BGP speaker is advertising encapsulation or IPsec SA related information via the 
SD-WAN Hybrid Tunnel Encapsulation Attribute. The SD-WAN Hybrid Tunnel Encapsulation Attribute contains 
IPsec SA and, optionally, NAT-related information. </t>
</list>
</t>
<t>
This section describes the SD-WAN Hybrid Tunnel, the SD-WAN NLRIs, 
the new sub-TLVs for SD-WAN Tunnel IPsec SA, sub-TLVs for Port attributes,  
the procedures for the client routes, the procedures for underlay routes, 
error handling, and considerations for managing SD-WAN technologies. 
</t>
<section title="SD-WAN Hybrid Tunnel TLV Encoding">
<t> 
<list style="hanging">
<t hangText="Name:"> SD-WAN Hybrid Tunnel </t>
<t hangText="Code:"> 25 (IANA assigned)</t>
<t hangText="Description:">The SD-WAN Hybrid Tunnel identifies a virtual tunnel that overlays a 
path across a set of underlay links between two BGP peers. These underlay links may use various technologies 
(e.g., MPLS, Layer 2 direct connections, or Layer 3 public Internet). The term hybrid reflects that different 
types of underlay links can be used simultaneously.</t>
<t hangText="Encoding:">Per [RFC9012], the following two BGP attributes that MAY 
encode a Tunnel Encapsulation attribute information: the Tunnel Encapsulation Attribute, 
and the Encapsulation Extended Community as a "barebones" tunnel identification. 
The encoding for the SD-WAN Hybrid Tunnel is described for both BGP attributes. 
<list style="hanging">
<t hangText="SD-WAN Hybrid tunnel Encoded in Encapsulation Extended Community:"> The SD-WAN encoding uses 
the Encapsulation Extended Community defined in  <xref target="RFC9012"></xref> 
 with the tunnel type set to 25 (IANA assigned).
 The NextHop Field in the BGP update indicates the tunnel egress endpoint 
 and this field SHOULD be set to the BGP Peer Address for the SD-WAN Peer. </t>
<t hangText="SD-WAN Hybrid tunnel Encoded in Tunnel Encapsulation Attribute:"> The tunnel TLV has a type set to 25 (IANA assigned).
The valid Sub-TLVs for client routes are the Color Sub-TLV (defined in <xref target="RFC9012"></xref>),  
and the following Sub-TLVs defined in sections 2.2 and 2.3 of this document: IPSec SEC ID, IPsec SA Rekey Cnt, 
IPsec Public Key, IPsec SA Proposal, and Simplified IPsec SA. The valid Sub-TLVs for 
underlay tunnels are the Tunnel Egress End Point defined in [RFC9012] and the following Sub-TLVs 
defined in sections 2.2 and 2.3 of this document: IPSec SEC ID, IPsec SA Rekey Cnt, Extended Port Attr, Underlay Type,  
IPsec Public Key, IPsec SA Proposal, and Simplified IPsec SA. If a Tunnel Egress End Point is not included
in SD-WAN Hybrid Tunnel TLV, it is treated as if a Tunnel Egress End Point SubTLV is included with
an address family identifer of 0. Table 1 summarizes this Sub-TLV support in a tabular format.
</t>
</list>
</t>
<t hangText="Sub-TLV Support per NLRI type:"> Summary table  
 <figure anchor="sub-TLV list"
           title="sub-TLV list ">
           <artwork><![CDATA[  
               Table 1 
		   
Client Routes AFI/SAFI = 1/1, 2/1, 1/128, 2/128
Underlay Routes AFI/SAFI = 1/74 and 2/74 
                         
sub-TLV            Code  Client Routes  Underlay Routes      
------            ----  -------------  ---------------
Encapsulation        1   not valid     not valid  
Protocol             2   not valid     not valid  
Color                3   valid *1      not valid            
Load-Balancing Block 5   not valid     not valid  
Tunnel Egress EP     6   required *2   required *2
DS Field             7   not valid     not valid      
UDP Dest. Port       8   not valid     not valid  
Embedded Label H.    9   not valid     not valid   
MPLS label Stack    10   not valid     not valid   
Prefix-SID          11   not valid     not valid    
Preference          12   not valid     not valid  
Binding SID         13   not valid     not valid  
ENLP                14   not valid     not valid  
Priority            15   not valid     not valid   
SPI/SI              16   not valid     not valid 
SRv6 Binding SID    20   not valid     not valid   
IPsec SA ID         64   valid         valid   
Extended Port Attr  65   not valid     valid  
Underlay Type       66   not valid     valid    
IPsec SA Rekey Cnt  67   valid         valid  
IPsec Public Key    68   valid         valid  
IPsec SA Proposal   69   valid         valid   
Simplified IPsec SA 70   valid         valid   

*1 - validation per [RFC9012]. Color Extended Community
takes precedence over Color Sub-TLV. 
*2 - if a Tunnel Egress End Point (EP) Sub-TLV is not included, 
the SD-WAN Hybrid tunnel treats as if Tunnel egress End Point
exists with AFI of 0. 
	]]></artwork>
 </figure>
</t>
</list> 
</t>
<section title="Summary of Validation Procedure">
<t> The validation procedure for the SD-WAN Hybrid 
tunnel TLV has the following steps
<list> 
<t>1) Validate tunnel TLV encoding and Sub-TLV encoding (per [RFC9012] and sections 2.2 and 2.3 of this draft)</t>
<t>2) Check that Sub-TLVs are valid for NLRI type in route (see above summarized in Table 1) and ignore invalid Sub-TLVs (per 
<xref target="RFC9012"></xref>)</t>
<t>3) Validate that the tunnel egress endpoint is a reachable IP address based on the 
BGP next-hop resolution rules. </t>
<t>4) Check if both the Color Sub-TLV and Extended Community for Color exist, if so prefer the Extended 
Community for Color. </t>
 </list> 
After the SD-WAN Hybrid Tunnel TLV has been validated, the SD-WAN Peer processes based on the NLRI as
(underlay route or client route) as described in sections 2.4 and 2.5. Prior to installing a route with 
a SD-WAN tunnel as an active route, the BGP peer installing the route MUST
also validate that the SD-WAN tunnel and underlay links are active.  
</t>
</section>  

<section title="Processing Considerations for SD-Wan Hybrid Tunnel Encoding">
<t> When Encapsulation Extended Community with a SD-WAN Hybrid Tunnel Type is attached to a client route, 
the detailed SD-WAN tunnel attributes are not included in the same BGP UPDATE message, 
but are advertised separately using the SD-WAN NLRI. Section 2.2 and 2.3 describe the processing.
The SD-WAN NLRI is originated using the loopback address of 
the C-PE. The remote BGP speaker uses this loopback address to 
associate the client route with the corresponding logical SD-WAN Hybrid Tunnel, 
and the SD-WAN NLRI SD-WAN Node ID and port to the underlay tunnel within the logial SD-WAN Hybrid Tunnel.  
This separation allows for independent advertisement rates and avoids 
bloating BGP UPDATE messages with the large amount of data required for IPsec SA, cryptographic keys, and related parameters.
</t>
<t>When the Tunnel Encapsulation Attribute with SD-WAN Hybrid Tunnel TLV is attached to the client route, 
the detailed underlay tunnel attributes, such as IPsec-related parameters, are included directly in the 
same BGP UPDATE as the client route. As a result, there is no need for a separate UPDATE message associated 
with the C-PE loopback address. However, this approach means that any changes to underlay attributes (e.g., IPsec keys or cryptographic parameters) 
necessitate re-advertising the client route with an updated Tunnel Encapsulation Attribute, which can increase both the 
frequency and size of BGP UPDATE messages.    
</t> 
</section> 
</section> 
<section title="SD-WAN Underlay UPDATE">
 <t>The Edge BGP Peer using BGP SD-WAN discovery sends the SD-WAN NLRI with a Tunnel Encapsulation
Tunnel attribute with a SD-WAN Hybrid tunnel TLV to advertise the detailed properties associated with the 
 public facing WAN ports and IPsec tunnels. The Edge BGP Peer sends this information to 
 its designated RR via a secure transport connection. Each BGP UPDATE message with a 
 SD-WAN Underlay NLRI MUST contains a Tunnel Encapsulation Attribute with a SD-WAN Hybrid Tunnel TLV.  
 If an SD-WAN Underlay NLRI is received without a Tunnel Encapsulation Attribute with a 
 SD-WAN Hybrid tunnel TLV, the NLRI is treated as "Treat-as-withdraw". 
</t>
 <t>
 The SD-WAN Hybrid tunnel TLV within the Tunnel Encapsulation Attribute can include sub-TLVs for 
 Extended Port attribute (see Section 2.3.6) or IPsec information (see Section 2.3).  
 The IPsec information sub-TLVs include: IPsec SA ID, IPsec SA Nonce, IPsec Public Key, 
 IPsec SA Proposal, and Simplified IPsec SA. 
 </t>
 <t>
 </t>
<section title="The NLRI for SD-WAN Underlay Tunnel Update">
<t>A new NLRI SAFI (SD-WAN SAFI=74) is introduced within the MP_REACH_NLRI Path 
	Attribute of [RFC4760] for advertising the detailed properties of the SD-WAN tunnels 
	terminated at the edge node. This is a "typed" NLRI (similar to other "typed" NLRIs
   as described in [RFC7606]). The format is shown in figure 2.  
	</t>
<t>
 <figure  anchor="SD-WAN NLRI Encode"  
          title="SD-WAN NLRI Encoding ">
        <artwork><![CDATA[  
+------------------+
|    Route Type    | 2 octets
+------------------+  
|     Length       | 2 octets
+------------------+   
|   Type Specific  |  
~ Value (Variable) ~  
|                  |  
+------------------+
]]></artwork>
</figure>
</t>
<t>where:
	<list style="hanging">
	<t hangText="Route Type:"> A 2-octet value that defines the encoding of the reminder of the SD-WAN the NLRI.
	</t>
	<t hangText="Length:">2 octets indicating the length of the value field in octets.</t>
	</list>
</t>
<t></t>
<t>This document defines the following SD-WAN Route type:</t>
     <t>
	<list style="hanging">
	 <t hangText="Route-Type = 1 (SD-WAN Tunnel Endpoint NLRI):"> For advertising the detailed properties of the SD-WAN 
	 tunnels terminated at the edge, where the transport network port can be uniquely identified by a 
	 tuple of three values (Port-Local-ID, SD-WAN-Color, SD-WAN Node ID). 
	 The SD-WAN NLRI Route Type =1 has the following encoding:
	<figure anchor="SD-WAN NLRI Route Type 1" title="SD-WAN NLRI Route Type 1">
           <artwork><![CDATA[  
     +------------------+
     |  Route-Type = 1  | 2 octets
     +------------------+
     |     Length       | 2 octets
     +------------------+
     |   Port-Local-ID  | 4 octets
     +------------------+
     |   SD-WAN-Color   | 4 octets
     +------------------+
     |  SD-WAN Node ID  | 4 or 16 octets
     +------------------+
		]]></artwork>
	</figure>
	</t>
	<t hangText="Length:">The value of the Length field for Route-Type 1 MUST be either 12 octets 
	(when the SD-WAN Node ID is an IPv4 address) or 24 octets (when the SD-WAN Node ID is an IPv6 address). 
	Any other value is invalid, and the NLRI MUST be treated as malformed and discarded.</t>
	<t hangText="Port-local-ID:"> SD-WAN edge node Port identifier, which is locally significant. 
	If the SD-WAN NLRI applies to multiple WAN ports, this field is zero.</t>
	<t hangText="SD-WAN-Color:"> identifies a group of Hybrid SD-WAN tunnels that may span multiple 
	SD-WAN logical tunnels co-located at the same site. The BGP Peer supporting SD-WAN uses this SD-WAN-Color 
	value to allow local policy to correlate client routes identified by the Color Extended Community 
	to a specific group of Hybrid SD-WAN tunnels or a specific set of underlay tunnels within the Hybrid 
    SD-WAN tunnel. If the SD-WAN-Color represents all tunnels at a site, it effectively serves as a site-level identifier. 
	If no matching SD-WAN-Color is found, the client route is not be forwarded over any SD-WAN tunnels. 
	However, local configuration MAY remove this restriction. </t>
	<t hangText="SD-WAN Node ID:"> This field carries the IPv4 or IPv6 address of the SD-WAN edge node (C-PE). 
	For IPv4 SD-WAN NLRI (AFI/SAFI 1/74), this field contains a 4-octet IPv4 address representing a /32 host address. 
	For IPv6 SD-WAN NLRI (AFI/SAFI 2/74), this field contains a 16-octet IPv6 address representing a /128 host address. 
	The SD-WAN Node ID identifies the IP address (usually the loopback address) used by the SD-WAN edge node to 
	advertise its tunnel attributes of a tunnel underlay route within the logical SD-WAN Hybrid logical tunnel. </t>
	</list>
	</t>
 </section>
 <section title="Validation of SD-WAN NLRI">

 <t> Upon receiving an SD-WAN NLRI, the following validation steps are performed:
 <list style="hanging"> 
 <t hangText ="- Route Type Validation:"> The Route Type field MUST be equal to 1. Any other value is not supported and the NLRI MUST be ignored, but distributed to other BGP peers.</t> 
 <t hangText="- Length Field Validation:">The Length field MUST contain a value of either 12 or 24 octets, as defined in Section 2.2.1. 
 Any other value renders the NLRI malformed, and the NLRI MUST be discarded.</t>
 <t hangText="- SD-WAN Node ID:">If Length = 12, the SD-WAN Node-ID field contains an IPv4 Unicast address. 
 If Length = 24, the SD-WAN Node-ID field contains an IPv6 Unicast address. The SD-WAN Node-ID MUST be a valid unicast address. Otherwise, the NLRI must be discarded.</t>
</list> 
</t> 
 </section> 
 <section title="BGP Path Attributes attached to SD-WAN NLRI">
 <t>The Path Attributes attached to the SD-WAN NLRIs apply to the WAN-facing tunnel endpoints being advertised, 
 not to client routes. These attributes describe properties of the WAN ports (e.g., encapsulation, transport role, or color) 
 that may be used in establishing SD-WAN underlay tunnels between edge nodes. Client routes, 
 which represent customer prefixes, are propagated using separate BGP NLRIs (e.g., IPv4/IPv6 unicast or L3VPN), 
 with their own associated Path Attributes. The SD-WAN NLRI and client route NLRI are independent 
 but may be correlated by the receiving BGP speaker for tunnel selection and service mapping.
</t>
 </section> 
</section> 
 <section title="IPsec SA Property Sub-TLVs">
 <t> The IPsec SA Property Sub-TLVs defined in this section are used to signal IPsec SA parameters for  
 SD-WAN Hybrid Tunnels as defined in this document. While these Sub-TLV formats could potentially 
 be reused in other applications that require IPsec SA signaling over BGP, this document defines 
 their semantics and behavior specifically within the SD-WAN Edge Discovery framework. 
</t>
<t> If any sub-TLV is malformed, error handling MUST follow the procedure in Section 13 of <xref target="RFC9012"></xref>. 
</t>  
<t>To support key rotation (e.g., updating IPsec keys or parameters), the SD-WAN NLRI 
(identified by Port-Local-ID, SD-WAN-Color, and SD-WAN Node ID) can be re-advertised 
via a BGP UPDATE message containing updated IPsec SA information. This mechanism enables 
rapid distribution of new keys without requiring separate key negotiation protocols.</t> 
 <section title="IPsec SA ID Sub-TLV">
<t>The IPsec SA ID Sub-TLV is used to reference one or more previously established 
IPsec SAs between SD-WAN nodes. This Sub-TLV carries one or more 32-bit Security 
Parameter Index (SPI) values assigned at the receiving node (i.e., the inbound SPI). 
When combined with the SD-WAN Node-ID (which identifies the underlay tunnel endpoint address), 
each SPI uniquely identifies an existing IPsec SA, consistent with the SA identification described in [RFC4301].</t>
<t>Multiple SPIs MAY be included within the Sub-TLV to reference multiple pre-established IPsec SAs available 
for the SD-WAN overlay. This enables advertisement of SA updates, key rotations, or 
operational state changes without resending full SA parameter sets, thereby significantly 
reducing the size of BGP UPDATE messages and allowing pairwise IPsec rekeying to proceed independently for each SA.</t>

<t>
<list style="hanging">
<t hangText="Sub-TLV Name:"> IPsec SA ID</t>
<t hangText="Sub-TLV Code:"> 64 (IANA assigned) </t>
<t hangText="Sub-TLV Encoding:"> 
  <figure
    anchor="IPsec SA ID Sub-TLV"
    title="IPsec SA ID Sub-TLV">
     <artwork><![CDATA[  
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|IPsec SA ID Sub|   Length      |  Reserved                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
|                      IPsec SA Identifier #1                   |      
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
|                      IPsec SA Identifier #2                   |      
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
|                                                               |
~                                                               ~
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
|                      IPsec SA Identifier #n                   |      
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   
		]]></artwork>
	</figure>
    where: 	
	<list style="symbols">
	<t>IPsec SA ID (8 bits): 64(IANA Assigned). </t>  
	<t>Length (8 bits): Specifies the total length in octets of
            the value field (not including the Type and Length fields). 
			For the IPsec SA ID Sub-Type, the Length field SHOULD be 
			equal to 2 + 4 *(number of IPsec SA Identifier fields).
	</t>
	<t>Reserved: The Reserved field SHOULD be set to zero and 
	    ignored upon receipt. Received values MUST be propagated without change.</t>
	<t>A sequence of IPsec SA Identifier fields follows the reserved field. 	
	Each IPsec SA Identifier field is 4 octets long, and identifies a 
	pre-established IP security association. </t>
	</list> 
	</t> 
  <t hangText="Sub-TLV Error Handling:">If the length value is invalid,
  (that is 2+ 4*number of IPsec SA IDs), then the IPsec SA ID SubTLV
   is Malformed. Sub-TLV Error handling for Malformed Sub-TLVs adheres to [RFC9012]. </t>
 </list> 
</t>   
  </section>
 <section title="IPsec SA Rekey Counter Sub-TLV"> 
 <t> The IPsec SA Rekey Counter Sub-TLV provides the rekey counter 
 for a security association (identified by IPsec SA Identifier).</t> 
 <t>
 <list style="hanging">
<t hangText="Sub-TLV Name:"> IPsec SA Rekey Counter</t>
<t hangText="Sub-TLV Code:"> 67 (IANA assigned) </t>
 <t hangText="Sub-TLV Encoding:">
	<figure>
     <artwork><![CDATA[  
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |SA-RekeyCounter|   Length      |  Reserved                     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   ID Length   |       Nonce Length            |I|   Flags     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                             Rekey                             |
 |                            Counter                            |
 +---------------------------------------------------------------+
 |                IPsec SA Identifier                            |
 +---------------------------------------------------------------+
 |                                                               |
 ~                          Nonce Data                           ~
 |                                                               |
 +---------------------------------------------------------------+
		]]></artwork>
	</figure>
	where:
	<list style ="symbol"> 
 	<t>IP SA-Rekey Counter (8 bits): 67 (IANA assigned) </t>  
	<t>length (8 bits): Specifies the total length in octets of the value field of the SubTLV.
	    The total length is variable with the value equal to 18 plus Nonce Length. 
	</t>
	<t>Reserved: Reserved for future use. The Reserved field MUST be set to zero and MUST be
	    ignored upon receipt. Received values MUST be propagated without change.</t>
	<t> ID Length (8 bits): indicates the length in octets of IPsec SA Identifer. This length SHOULD be 4 octets. 
	</t> 
	<t> Nonce Length (16 bits): indicates the length, in octets, of the Nonce Data. 
	 The value MUST be a non-zero multiple of 4 (i.e., the Nonce Data length MUST be a multiple of 32 bits)[RFC7296].
	</t>
	<t> I Flag: When set to 1, the I-flag indicates that the communication being established is new. 
	When set to 0, it signals that the communication is a continuation of an existing session. 
	</t> 
	<t>Flags (7 bits): Reserved for future use. These bits 
	    MUST be set to zero and MUST be ignored upon receipt.
        Received values MUST be propagated without change.	</t> 
	<t>Rekey Counter (64 bits): the number of key updates or rekeys that have occurred. 
	 Each time a key is rotated or replaced, the Rekey Counter is incremented.</t>
	<t>IPsec SA Identifier: Identifies the IPsec SA for a specific 
	IPsec SA terminated at the SD-WAN edge node. The length of this field is specified in ID Length. </t> 
	<t>Nonce Data: a random or pseudo-random number for preventing replay attacks. </t>
    </list>
	</t>
  <t hangText="Sub-TLV Error Handling:"> The IPsec SA Rekey Counter Sub-TLV is considered malformed 
  under any of the following conditions: 
  <list> 
	<t> The total Sub-TLV Length is less than the sum of ID Length, Nonce Length, and 4 octets for the Rekey Counter.   
	</t> 
	<t> The Nonce Length field is zero or not a multiple of 4. 
	</t>
  </list>
  Malformed Sub-TLVs are handled according to [RFC9012].
  <list> 
  <t>Contextual Note 1: The ID Length is set to 4 octets, but ID in [draft-ietf-bess-secure-evpn-02] under
   development in the IETF is defined as " Originator ID + (Tenant ID) + (Subnet ID) + (Tenant Address) in bytes.
   To provide the future ability to allow the Secure EVPN functions to use this IPSec SA Rekey Counter Sub-TL
   the length has been defined as "SHOULD".  
  </t>
   </list>
 </t>
 </list>
 </t>
 </section>
 <section title="IPsec Public Key Sub-TLV"> 
 <t>The IPsec Public Key Sub-TLV provides the Public Key exchange information and 
 the life span for the Diffie-Hellman Key. The encoding is shown in the figure below:</t> 
 
	<figure
    anchor="IPsec SA Public Key Sub-TLV diagram"
    title="IPsec SA Public Key Sub-TLV diagram">
     <artwork><![CDATA[  
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |IPsec-PublicKey|   Length      |  Reserved                     |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   Diffie-Hellman Group Num    |          Reserved             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       ~                       Key Exchange Data                       ~
       |                                                               |
       +---------------------------------------------------------------+
       |                            Duration                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
		]]></artwork>
	</figure>
	<t>where: 
    <list> 
	<t>IPSec-PublicKey (8 bits): Type value for Sub-TLV is 68 (IANA assigned).  </t>  
	<t>length (8 bits): Specifies the total length in octets of SubTLV value field. 
	 The total length is variable with the length being 10 + the Key Exchange Data length.  
	</t>
	<t> Diffie-Hellman Group Num (16-bits): identifies the Diffie-Hellman group used to compute the Key Exchange Data. 
	Details on Diffie-Hellman group numbers can be found in Appendix B of IKEv2 [RFC7296] and [RFC5114]. </t>
	<t> The Key Exchange data: This refers to a copy of the sender's Diffie-Hellman public value. 
	The length of the Diffie-Hellman public value is defined for MODP groups in [RFC7296] 
	and for ECP groups in [RFC5903].  
    </t> 	
	<t> Duration (32 bits): a 4-octet value specifying the life span of the Diffie-Hellman key in seconds.  
	</t> 
	</list> 
	</t>
<t hangText="Sub-TLV Error Handling:"> An IPsec Public Key Sub-TLV is considered malformed 
if any of its fields do not conform to the encoding rules specified above. 
Malformed Sub-TLVs are handled according to [RFC9012].  
  </t>
 </section>
  <section title="IPsec SA Proposal Sub-TLV"> 
   <t>The IPsec SA Proposal Sub-TLV is used to advertise a set of cryptographic parameters 
   that define the proposal for establishing an IPsec SA. A proposal consists of one or 
   more transform types, where each transform specifies a particular cryptographic function 
   (such as encryption or integrity) and the corresponding algorithm to be used. 
   This structure follows the same model as IKEv2 Proposals defined in [RFC7296]. 
   </t> 
   <t>
   <list style="hanging">
   <t hangText="Sub-TLV Name:"> IPsec SA Proposal - Indicates IPsec Transform Attributes</t>
   <t hangText="Sub-TLV Code:"> 69 (IANA assigned) </t>
   <t hangText="Each transform includes:"> </t>
   <t hangText=" -"> A Transform Type, which identifies the function being specified (e.g., encryption, integrity).</t>
   <t hangText=" -"> A Transform ID, which specifies the algorithm for that function.</t>
   <t hangText=" -"> Optional Transform Attributes, which provide additional algorithm-specific parameters when necessary. 
   </t>
   </list>
   </t>
   <t>
    The encoding is shown below: 
  	<figure
    anchor="IPsec SA Proposal Sub-TLV diagram"
    title="IPsec SA Proposal Sub-TLV diagram">
     <artwork><![CDATA[  
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  SA Proposal  |   Length      |       Reserved (16 bits)      |          
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Transform Attr Length      |Transform Type |    Reserved-2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Transform ID              |          Reserved-3           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
~                        Transform Attributes                   ~
|                                                               |
+---------------------------------------------------------------+
		]]></artwork>
	</figure>
    where:
	<list> 
    <t>IPsec SA Proposal Sub-Type (8 bits): 69 (IANA assigned) </t>  
	<t>length (8 bits): Total length of the value field in octets (not including Type and Length fields). 
	This equals 10 + the Transform attribute length. 
	</t>
    <t>Reserved (16 bits): reserved for future use. These bits are ignored upon receipt and set to zero when transmitted.
	 Received values MUST be propagated without change.</t> 
	<t>Transform Attr Length (16 bits): length of the Transform Attributes field in octets. 
	</t>
	<t> Transform Type (8 bits): The function being specified. Transform Type values are defined in [RFC7296] 
	and IANA IKEv2 Transform Type registry. Valid types include: ENCR (1), PRF (2), INTEG (3), DH (4), and ESN (5).
	</t>
	<t>Reserved-2 (8 bits): Reserved for future use. MUST be set to zero when transmitted and ignored upon receipt. 
	Received values MUST be propagated without change.
    </t> 
	<t>Transform ID (16 bits): Identifies the algorithm for the corresponding Transform Type, as defined in [RFC7296]. 
	</t> 
	<t>Reserved-3 (16 bits): Reserved for future use. MUST be set to zero when transmitted and ignored upon receipt.
	 	Received values MUST be propagated without change.</t>	
    <t> Transform Attributes: This is a sequence of Transform attribute TLVs. 
	  Each transform attribute TLV is encoded as defined in [RFC7296] Section 3.3.5.</t>
	</list>
	The Transform Attributes field may be omitted if no additional parameters are required for the selected algorithm.</t>
	<t>
	Multiple IPsec SA Proposal Sub-TLVs MAY be included to describe multiple transform types for the same SA proposal. 
	Collectively, these Sub-TLVs define the full proposal for an IPsec SA between SD-WAN edge nodes.  
	</t>
  <section title="Sub-TLV Error Handling:">
  <t>
   An IPsec SA Proposal Sub-TLV is considered malformed if:
    <list style="hanging">
	<t hangText=" -">The Length field value does not match the actual length (Transform Attr Length + 10).  
	</t>
	<t hangText=" -">The Transform Attr Length field does not total length of all Transform attributes parsed. </t> 	
	<t hangText=" -">Any Transform Attribute TLV whose type, length or value field falls outside its valid range as specified in [RFC7296].</t>
	</list> 
	Malformed Sub-TLVs MUST be handled according to [RFC9012]. Additional content checks for the 
	IPsec SA Proposal Sub-TLV are described in Section 2.4 (for client routes) and Section 2.5 (for underlay routes). 
	</t> 
  </section>
  </section> 
  <section title="Simplified IPsec SA Sub-TLV">
  <t> The Simplified IPsec SA Sub-TLV provides a compact way to signal pre-configured IPsec SA parameters for 
  deployments where full transform negotiation (e.g., via IKEv2) is not supported or not necessary. 
  In such deployments, SD-WAN edge nodes are provisioned (e.g., via SD-WAN controller or management system) 
  with a common set of agreed security profiles, including allowed transforms and algorithms. 
  This Sub-TLV signals which profile entry is to be used for a given SA instance.</t>
   <t>
   <list style="hanging">
   <t hangText="Sub-TLV Name:"> Simplified IPsec SA </t>
   <t hangText="Sub-TLV Code:"> 70 (IANA assigned) </t>
    <t hangText="Sub-TLV Encoding:"> </t> 
   </list>
   </t>   
  	<figure
    anchor="Simplifed IPsec SA Sub-TLV diagram"
    title="Simplified IPsec SA Sub-TLV diagram">
     <artwork><![CDATA[  
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Sub-TLV type   |    Length     |             Reserved          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | Transform     | IPsec Mode    | AH algorithms |ESP algorithms |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |         Rekey Counter                                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | key1 length   |         Key 1                                 ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    | key2 length   |         Key 2                                 ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | nonce-length  |         Nonce                                 ~
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |        Duration                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
		]]></artwork>
	</figure>
  <t> where:</t>
  <list style="hanging">
   <t hangText="Sub-TLV type (8 bits):">Simplified IPsec SA Sub-TLV type (70)[IANA assigned] </t> 
  <t hangText="Length (8 bits):"> the length of Sub-TLV in octets (based on key length). Length is variable, and 
   calculated by 17 + key1 length + key2 length + nonce length. </t>
  <t hangText="Reserved (16 bits):"> Reserved for future use. 
	 These bits SHOULD be set to zero on transmission and MUST be ignored on receipt.
	 Received values MUST be propagated without change. 
	 </t>
  <t hangText="Transform (8 bits):"> 
	<list style="symbol">
		<t>Transform = 1 means AH,</t> 
		<t>Transform = 2 means ESP, or</t> 
		<t>Transform = 3 means AH+ESP.</t> 
	</list>
	All other transform values are invalid. 
  </t>
	<t hangText="IPsec Mode (8 bits):">
	<list style="symbol">
		<t>Mode = 1 indicates that the Tunnel mode is used.</t>
		<t>Mode = 2 indicates that the Transport mode is used.</t>
	</list>
	Only Mode values 1 and 2 are valid. All other modes are invalid. 
	</t>
	<t hangText="AH algorithms (8 bits):"> Specifies the AH authentication algorithm to be used.
	The values are defined in [RFC4835] and its updates (e.g., [RFC8221]). While an SD-WAN edge node may be 
	capable of supporting multiple AH algorithms, this field carries only a single algorithm value for the specific 
	SA instance. The selection of which algorithms are supported across peers is determined via 
	SD-WAN controller provisioning or management policy. No in-band negotiation of multiple algorithms is performed using this field.</t> 	
	<t hangText="ESP algorithms (8 bits):"> Specifies the ESP encryption algorithm, as defined in [RFC4835], 
	[RFC8221], and their updates. Like AH Algorithm, only a single algorithm value is carried per SA instance, 
	with acceptable algorithms coordinated by provisioning or policy.
	</t>
	<t hangText="Rekey Counter (4 octet):">  indicates the count for rekeying.</t>
	<t hangText="key1 length (8 bits):"> indicates the IPsec public key 1 length. The length has a valid range of 32 octets to 512 octets [RFC8247]</t>
	<t hangText="Public Key 1:"> IPsec public key 1</t>
	<t hangText="key2 length (8 bits):"> indicates the IPsec public key 2 length. The length has a valid range of 32 octets to 512 octets [RFC8247]</t>
	<t hangText="Public Key 2:"> IPsec public key 2</t>
	<t hangText="nonce-length (8 bits):"> indicates the Nonce key length. Per [RFC7296], the minimum length for nonce is 16 octets. 
	[RFC7296] doesn't specify the maximum length for nonce. Therefore, the maxmimum length for nonce MUST be small 
	enough so that the entire length of the BGP UPDATE is less than the BGP UPDATE maximum.</t>
	<t hangText="Nonce:"> IPsec Nonce</t>
	<t hangText="Duration (32 bits):"> specifying the security association (SA) life span in seconds. 
	</t> 
  </list>
  <t hangText="Sub-TLV Error Handling:"> A Simplified IPsec SA Sub-TLV is considered MALFORMED 
   if any of its fields are not properly encoded, do not conform to the specified value ranges above, or 
   contain invalid field lengths. Any MALFORMED Sub-TLV is processed according to <xref target="RFC9012"></xref>. 
   </t>
  </section>
 <section title="Extended Port Attribute Sub-TLV">
   <t> The Extended Port Attribute Sub-TLV advertises NAT-related properties associated with a public 
   Internet-facing WAN port on an SD-WAN edge node. This information enables peer SD-WAN nodes to 
   establish secure tunnels even when one or both peers are behind NAT devices.  
   An SD-WAN edge node may query a STUN server (Session Traversal Utilities for NAT [RFC8489]) 
   to determine its NAT properties, including its public IP address and public port number. 
   These properties are then advertised to peer nodes using the Extended Port Attribute Sub-TLV.</t> 
   
   <t>In SD-WAN deployments, NAT devices may exist at one or both ends of the tunnel path. 
      The possible deployment scenarios include:
     	<list style="symbol">
		<t>Only one SD-WAN edge node is located behind a NAT device, while its peer is directly reachable.</t>
		<t>Both SD-WAN edge nodes are behind NAT devices (symmetric or independent NATs).</t>
		<t>The external address and port assigned to an edge node may change dynamically, either due to ISP address allocation or when traversing NAT devices that use dynamic address pools.</t>
	    </list>
    </t>
    <t>Because an SD-WAN edge node may have multiple WAN ports with independent NAT characteristics, 
	the NAT properties are associated with individual WAN ports and are advertised independently for each port using this Sub-TLV. 
	This per-port advertisement allows remote peers to construct appropriate NAT traversal parameters for each potential tunnel endpoint.</t>
    <t>Unlike pairwise NAT traversal mechanisms such as IKEv2 [RFC7296], which require peers to 
	dynamically discover NAT properties during tunnel setup, the BGP-controlled SD-WAN architecture enables 
	each SD-WAN edge node to proactively advertise its NAT properties to all peers through BGP signaling. 
	This approach simplifies NAT traversal in large-scale SD-WAN deployments where each edge node may need to 
	establish tunnels with many peers.</t>
  <t>
   <list style="hanging">
   <t hangText="Sub-TLV Name:"> Extended Port Attribute</t>
   <t hangText="Sub-TLV Code:"> 65 (IANA assigned) </t>
   <t hangText="Sub-TLV Encoding:"> The encoding is shown in the figure below:</t>
   </list>
  </t>  
  <t>
  <figure
    anchor="Extended Port Attribute  Sub-TLV"
    title="Extended Port Attribute  Sub-TLV">
     <artwork><![CDATA[  
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Type (65)      | Length        |Flags          |I|O|R|R|R|R|R|R|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | NAT Type      |  Encap-Type   |Trans networkID|     RD ID     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                  Local  IP Address                            | 
    |        32-bits for IPv4, 128-bits for Ipv6                    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                  Local  Port                                  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                Public IP                                      | 
    |        32-bits for IPv4, 128-bits for Ipv6                    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                Public Port                                    |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |               Extended Sub-Sub-TLV                             | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
		]]></artwork>
	</figure>
	</t>
	<t>where:
	<list style="symbol">
		<t>Length: the length of the value field  in octets excluding the Type and the Length fields. 
		 If IPv4, the length is 32 (8 header, 32 address, 8 for 1 Sub-Sub-TLV).  
		 If IPv6, the length is 64 (8 header, 48 addresses, 8 for 1 subSubTLV).  </t>
		<t>Flags (16 bits):
			<list style="symbol">
		    <t>Flags field starts with 8 bits which are reserved for future use. 
			MUST be set to 0, and ignored upon reception.</t> 
			<t>I bit (C-PE port address or Inner address scheme):
			    <list> 
				<t>If set to 0, indicate the inner (private) address is IPv4.</t> 
				<t>If set to 1, indicates the inner address is IPv6. </t>
				</list>
			</t>
			<t>O bit (Outer address scheme):
			    <list>
				<t>If set to 0, indicate the inner (private) address is IPv4.</t> 
				<t>If set to 1, indicates the inner address is IPv6. </t>
				</list>
			</t>
			<t>R bits: reserved for future use. MUST be set to 0, and ignored upon reception.</t>
			</list>
		</t>
		<t>NAT Type (8 bits): an unsigned integer indicating the NAT behavior observed for this WAN port. 
		 The values are derived from the legacy NAT classification model described in RFC 8489 Section 5. The assigned values are: 
		  <list style="symbols"> 
		  <t>1: without NAT ;  </t>
		  <t>2: 1-to-1 static NAT; </t>
	      <t>3: Full Cone; </t> 
		  <t>4: Restricted Cone; </t>
		  <t>5: Port Restricted Cone; </t>
 		  <t>6: Symmetric; or </t> 
		  <t>7: Unknown (e.g. no response from the STUN server).</t>
		  </list>
		The NAT Type value is determined by the sender using NAT discovery procedures (e.g., STUN [RFC8489] with legacy tests [RFC8489])
		or local administrative configuration. The receiver is not required to verify NAT behavior but MUST validate 
		that the received NAT Type field is within the range 1-7. Values outside this range are considered invalid 
		and result in the Sub-TLV being treated as malformed.  
		</t>
		<t>Encap-Type (8 bits): An unsigned integer indicating the encapsulation type supported for this WAN port. 
		 The Encap-Type identifies the encapsulation protocol used within the IPsec payload when 
		 IPsec SA Sub-TLVs (IPsec SA ID, IPsec SA Nonce, IPsec Public Key, IPsec SA Proposal, or Simplified IPsec SA) 
		 are present in the SD-WAN Hybrid Tunnel. This field is distinct from the Tunnel Type field in 
		 the BGP Tunnel Encapsulation Attribute [RFC9012]. The encapsulation types are: 
		  <list>
		  <t>Encap-Type=1: GRE;</t>
		  <t>Encap-Type=2: VxLAN;</t> 
		  </list>
		<t> Notes:</t> 
		<list>
		 <t>Those are the only two valid values for this field. The Encap-Type identifies the encapsulation protocol used within the IPsec payload when IPsec SA Sub-TLVs (IPsec SA ID, IPsec SA Nonce, IPsec Public Key, IPsec SA Proposal, or Simplified IPsec SA) are present in the SD-WAN Hybrid Tunnel.</t>
		<t>The Extended Port Attribute Sub-TLV does not support NAT traversal scenarios involving IPv4/IPv6 translation (e.g., NAT64 or 6to4).
		</t> 
		</list>
		</t> 
		<t>Trans NetworkID (Transport Network ID) (8 bits): An identifier assigned by the SD-WAN Controller to indicate the 
		transport network that this WAN port belongs to. All values from 0 to 255 are valid.</t>
		<t>RD ID: The Routing Domain ID is a globally unique identifier assigned to the routing domain associated with this WAN port. 
		All values from 0 to 255 are valid. 
		<list>
		<t>Some SD-WAN deployments may define multiple levels, zones, or regions that are represented as logical routing domains or transport 
		networks. Operational policies may govern whether SD-WAN Hybrid tunnels or underlay tunnels are allowed between nodes 
		in different logical routing domains.  The definition, distribution, and enforcement of such policies are outside the scope of this document.</t>
		</list>
		</t>
		<t>Local IP: The local (or private) IP address of the WAN port. If the Sub-TLV Length field is 32, the Local IP is a 32 bit IPv4 address. 
         If the Sub-TLV Length field is 64, the Local IP is a 64 bit IPv6 address. This MUST be a valid IP address.</t>
		<t>Local Port: used by Remote SD-WAN edge node for establishing IPsec to this specific port. Valid values: 0x00 - 0xFFFFFFFF.
		</t>
		<t>Public IP: The IP address after the NAT. If NAT is not used, this field is set to all-zeros. If not, this is a valid IP addres. 
		 If the Sub-TLV Length field is 32, the Local IP is a 32 bit IPv4 address. 
         If the Sub-TLV Length field is 64, the Local IP is a 64 bit IPv6 address. </t>
		<t>Public Port: The Port after the NAT. If NAT is not used, this field is set to all-zeros. Otherwise, the value can be 0x01 to 0xFFFFFFFF.</t>
		<t>If NAT is not used for the WAN port, both the Public IP and Public Port fields MUST be set to zero. 
		If one field is set to zero and the other is non-zero, the Sub-TLV is considered malformed.</t>
		<t>Extended Sub-Sub-TLV: Carries additional information about the underlay networks.</t> 
	</list>
	</t>
  <list style="hanging">
  <t hangText="Sub-TLV Error Handling:"> If the Extended Port Attribute Sub-TLV is malformed 
  (e.g., incorrect length, invalid address format, or unrecognized NAT type), it MUST be ignored per the procedures described in [RFC9012]. 
  </t>
  <t hangText="Multiple Sub-TLVs:">Multiple Extended Port Attribute Sub-TLVs are allowed. 
  If the informsation from multiple Extended Port Attribute Sub-TLVs is the same, the first one is processed, the rest is ignored.</t>
  </list>
  <section title="Extended Port Sub-Sub-TLV">
  <t>One Extended Sub-Sub-TLVs is specified in this document: Underlay Network Type Sub-Sub-TLV. 
  </t>
   <t> The Underlay Network Type Sub-Sub-TLV is an optional Sub-Sub-TLV used to advertise additional 
   transport characteristics for the WAN port, including connection type, physical port type, and 
   port bandwidth (e.g., LTE, DSL, Ethernet, and others). This information assists remote peers or 
   controllers in selecting optimal underlay paths when multiple WAN ports are available. The 
   Underlay Network Type Sub-Sub-TLV is only valid for the Tunnel SD-WAN Hybrid Tunnel TLV within the Extended Port Attribute Sub-TLV.</t>

   <t hangText="Sub-Sub-TLV Name:">Underlay Network Type.</t>
   <t hangText="Sub-Sub-TLV Code:"> 66 (IANA Assigned). </t>
 
	<t hangText="Sub-TLV Encoding:"> The encoding is shown in the figure below:</t>   
	<figure
    anchor="Underlay Network Type Sub-Sub-TLV"
    title="Underlay Network Type Sub-Sub-TLV">
     <artwork><![CDATA[  
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | UnderlayType  |      Length   |      Reserved                 | 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Connection Type|   Port Type   |        Port Speed             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
		]]></artwork>
	</figure>
    <t>Where:
    <list style="hanging">
	  <t hangText="UnderlayType:"> Underlay Network Type (66 assigned by IANA) </t>
      <t hangText="Length:"> always 6 bytes</t>
      <t hangText="Reserved:"> 2-octet of reserved bits. It SHOULD be set to zero on
       transmission and MUST be ignored on receipt.</t>
	  <t hangText="Connection Type:"> An unsigned integer indicating the connection type for this WAN port. Only a single value is carried per instance. The following values are defined:
			<list style="symbol">
			<t>1 = Wired</t>
			<t>2 = WIFI</t>
			<t>3 = LTE </t>
			<t>4 = 5G </t>
			<t>Values outside the range 1-4 are invalid and render the Sub-TLV malformed.</t>
		    </list>
	  </t>
	  <t hangText="Port Type:">An unsigned integer indicating the physical port type of the WAN interface. Only a single value is carried per instance. The following values are defined: 
			<list style="symbol">
			<t>1 = Ethernet </t>
			<t>2 = Fiber Cable </t>
			<t>3 = Coax Cable </t>
			<t>4 = Cellular </t>
			<t>Values outside the range 1-4 are invalid and render the Sub-TLV malformed.</t> 
			</list>
	  </t>
	 <t hangText="Port Speed:">An unsigned 16-bit integer representing the port speed in megabits per second (Mbps). For example, a value of 1000 represents a port speed of 1000 Mbps (1 Gbps). The valid range is 1-65535. A Port Speed value of 0 is invalid and renders the Sub-TLV malformed.</t>
    </list> 
  </t>
  <t hangText="Sub-Sub-TLV Error Handling:">Underlay Network Type Sub-Sub-TLV is a MALFORMED Sub-Sub-TLV 
    if the fields do not fit the limits specified above. If a MALFORMED Sub-Sub-TLV is contained in the 
	Extended Port Attribute Sub-TLV, then the Extended Port Attribute Sub-TLV is MALFORMED. 
	Per <xref target="RFC9012"></xref>, a MALFORMED Sub-TLV is ignored.
   </t>

 </section>  
 </section>
</section> 
<section title="Procedure for Client Routes with SD-WAN Hybrid Tunnel">
<t>Client routes with NLRI of AFI/SAFI IPv4 Unicast (1/1), IPv6 (2/1), L3VPN v4 Unicast
(1/128), and IPv6 L3VPN (2/128) that use the SD-WAN Hybrid Tunnel Type can be 
advertised using one of two mechanisms:</t>

 <list style="hanging">
<t hangText="Encapsulation Extended Community with SD-WAN SAFI:">In this approach, the 
client route is advertised using Encapsulation Extended Community with the SD-WAN Hybrid tunnel type. 
The detailed tunnel properties, such as IPsec SAs, WAN port attributes, 
NAT properties, and other parameters, are advertised separately via BGP UPDATE 
messages using the SD-WAN SAFI. The SD-WAN Node ID, carried as the NextHop in 
client route advertisements and as the SD-WAN Node ID in SD-WAN SAFI underlay route advertisements, 
enables receiving BGP nodes to associate client routes with the correct underlay tunnels.</t>
<t hangText="Tunnel Encapsulation Attribute:">Alternatively, client routes UPDATEs can include all 
tunnel-related information directly in the same BGP UPDATE using the Tunnel Encapsulation Attribute. 
The SD-WAN Hybrid Tunnel TLV specifies the outer tunnel through which the underlay tunnel identified 
by SD-WAN Node ID passes.  This outer tunnel is identified by the Tunnel Egress Endpoint Sub-TLV. 
Recall as stated earlier, if a Tunnel Egress Endpoint Sub-TLV does not exist, the 
SD-WAN Hybrid Tunnel processing treats it as a Tunnel Egress Endpoint Sub-TLV with AFI equal to zero. </t>
</list>

<t>The Tunnel Encapsulation Attribute based approach, which includes all 
tunnel attributes within route advertisement, can simplify the processing at the receiving nodes. 
However, it may lead to significant BGP attribute overhead, particularly when 
multiple IPsec SAs are eligible to carry the same client route.
In contrast, the Encapsulation Extended Community approach 
(the "barebones" method defined in [RFC9012]) combined with SD-WAN SAFI separates 
tunnel attributes from route Updates, allows tunnel properties to be 
reused across multiple client routes.</t>
 
<t>The SD-WAN Secure Links topology is supported using unicast IPv4 and IPv6 routes. 
L3VPN topologies, on the other hand, support the formation of Secure SD-WAN L3VPNs as 
described in [SD-WAN-BGP-USAGE] and MEF specifications [MEF 70.1] and [MEF 70.2].</t>

<section title="SD-WAN Hybrid Tunnel Type in Encapsulation Extended Community">  
<t>When client routes are advertised using the Encapsulation Extended Community 
with the SD-WAN Hybrid Tunnel Type, as specified in [RFC9012], the Encapsulation 
Extended Community identifies the tunnel type, and the NextHop field in the 
BGP UPDATE serves as the Tunnel Egress Endpoint. Validation of the Tunnel Egress 
Endpoint follows the procedures defined in Sections 13 of [RFC9012], as applied to the NextHop.</t>
<t>
The Color Extended Community is used to associate a client route with its eligible underlay tunnels. 
The Color value in the client route identifies the set of underlay tunnels, previously advertised 
with the same Color via SD-WAN SAFI, that may be used to transport the traffic. 
This enables SD-WAN ingress nodes or controllers to apply path selection policies 
based on performance, cost, or service requirements.
</t>
</section> 
<section title="SD-WAN Hybrid Type in Tunnel Attributes via Tunnel Encapsulation Attribute">
<t>When client routes are advertised using the Tunnel Encapsulation Attribute with the SD-WAN Hybrid Tunnel Type, the following procedures apply for validating the BGP UPDATE message:</t>

<list style="hanging">
<t hangText="1. Check for Well-formed SD-WAN Hybrid Tunnel TLV:"> If the SD-WAN Hybrid Tunnel TLV 
does not have a Tunnel Egress Endpoint SubTLV, the tunnel validation process treats it as 
if a Tunnel Egress SubTLV exists with an AFI of 0(Per [RFC9012], a 
Tunnel Egress SubTLV exists with an AFI of 0 uses the packet Next Hop as the 
tunnel endpoint).  Also, per [RFC9012], MALFORMED Sub-TLVs are ignored
and a Sub-TLV with an unknown type is ignored.
The SD-WAN Hybrid Tunnel TLV only processes the first instance of a Sub-TLV 
except for the IPsec SA ID Sub-TLV.  For the IPsec SA ID Sub-TLV, 
if the IPsec SA Identifiers are unique are multiple IPsec SA ID sub-TLVs
are processed. If all the IPsec SA Identifies are not unique, 
the second IPsec SA ID Sub-TLV is ignored and not propagated
</t>
<t hangText="2. Validate Tunnel Egress Endpoint: "> Per [RFC9012] validation procedures for a
Tunnel Egress Endpoint.  Note: The Tunnel Egress Endpoint represents the outer tunnel through which 
the underlay tunnels specified by the SD-WAN NLRI operate.  The tunnel link 
MAY be active or inactive. 
</t>
<t hangText="3. Check for Multiple SD-WAN Hybrid Tunnel TLVs "> Multiple unique 
SD-WAN Hybrid Tunnel TLVs MAY be included in the Tunnel Encapsulation Attribute, but
duplicate SD-WAN Hybrid Tunnel TLVs should be ignored silently.  Optionally, duplicate 
SD-WAN Hybrid Tunnel TLVs MAY be logged. 
</t>
<t hangText="4. Validate each NLRI:"> Local policy is run to validate routes.  </t>
<t hangText="5. Validate Next Hop:"> The Next Hop MUST be be reachable via the tunnel.</t>
</list>

</section> 
<section title="Client Routes Carried Over Multiple SD-WAN Hybrid Tunnels"> 
<t>When a client route is advertised with the Encapsulation Extended Community 
that identifies the SD-WAN Hybrid Tunnel Type, the route may also include a 
Color Extended Community (Color-EC). This combination allows the route to 
be carried over multiple underlay tunnels that were previously advertised, each with the same Color value. 
</t>
<t>The Color-EC serves as a correlation mechanism: all underlay tunnels that have been advertised 
(via SD-WAN SAFI) with the same Color value are considered eligible to carry the traffic 
for the client route. This approach supports flexible path selection and tunnel diversity while avoiding the need to enumerate each tunnel per route.</t>
<t>This model is especially useful when:</t>
	<list style="symbol">
	<t>A site has multiple available IPsec tunnels or WAN links.</t>
	<t>A centralized controller or ingress SD-WAN edge node must select the optimal tunnel for forwarding based on performance, policy, or service constraints.</t>
	</list>

<t>The tunnel attributes, including IPsec parameters, NAT traversal info, 
and WAN port properties, are conveyed separately via SD-WAN SAFI updates. 
This keeps client route updates minimal, allowing multiple routes to reference the 
same tunnel attributes by using the Color-EC.</t>
</section> 
 <section title="SD-WAN VPN ID in Control Plane">  
 <t>In a BGP-controlled SD-WAN network, the VPN ID distinguishes client VPNs and ensures route separation. It is conveyed in client route UPDATEs as follows:</t>
	<list style="symbol">
	<t>For IPv4/IPv6 Unicast (AFI/SAFI = 1/1 or 2/1), the Route Target Extended Community [RFC4360] SHOULD be included. The Route Target value is interpreted as the VPN ID. The Route Target is especially necessary when the SD-WAN edge node serves multiple VPNs on its client-facing interfaces. If all client routes belong to a single VPN and the association is unambiguous, the Route Target MAY be omitted.</t>
	<t>For VPN-IPv4/VPN-IPv6 (AFI/SAFI = 1/128 or 2/128), the RD in the NLRI serves as the VPN ID.</t>
    </list>
 
 </section>
  <section title="SD-WAN VPN ID in Data Plane">  
  <t>In the data plane, SD-WAN traffic can traverse either an MPLS or IPsec segment within a SD-WAN Hybrid Tunnel. The method for conveying the VPN ID depends on the encapsulation:
	<list style ="symbol">
	<t>MPLS Segments: When the SD-WAN Hybrid Tunnel uses MPLS transport, the MPLS label stack is used to identify the VPN per [RFC8277]. Security is assumed to be provided by the  MPLS transport.</t>
	<t>IPsec Segments: When traversing a public network with IPsec encryption: For GRE encapsulation within IPsec, the GRE Key field can carry the SD-WAN VPN ID; For VXLAN network virtualization overlays within IPsec, the VNI (Virtual Network Identifier) field is used to carry the VPN ID.</t>
	</list>
  </t>
 </section>
</section>
 <section title="Procedure for Underlay Routes with SD-WAN Hybrid Tunnel TLV ">
 <t>Underlay tunnel routes in a BGP-controlled SD-WAN network are advertised using the SD-WAN SAFI, 
 with the Tunnel Encapsulation Attribute carrying a SD-WAN Hybrid Tunnel TLV.
The Tunnel Egress End Point Sub-TLV (assumed or sent) indicates the other 
tunnel through which these underlay tunnels operate.  
 </t>
 <t>Remote nodes use the SD-WAN Node ID carried in the SD-WAN SAFI to 
 correlate client routes whose NextHop address matches the SD-WAN Node ID.  
 This allows the receiving node to associate each client route with the appropriate 
 set of tunnel attributes advertised by the corresponding SD-WAN edge node.</t>
<section title ="SD-WAN Hybrid NLRI without Encapsulation Extended Community">
<t>The SD-WAN Hybrid NLRI MUST be accompanied by the Tunnel Encapsulation Attribute, and MUST NOT be accompanied by an Encapsulation Extended Community.</t>
</section>
 <section title="Underlay Route with a Tunnel Encapsulation Attribute">
 <t>
 The procedure for processing underlay routes follows the following steps:</t>
 <list style="hanging">
 <t hangText="1. Check for Well-Formed SD-WAN Hybrid Tunnel TLV:">
 A SD-WAN Hybrid Tunnel TLV is well-formed using only Sub-TLVs valid for association 
 with the underlay Route (see section 2.1). The IPsec SA ID
  sub-TLVs MAY have multiple instances of the sub-TLV if the IPsec SA Identifiers are 
  unique, but if the IPsec SA Identifiers are not unique the second sub-TLV is ignored
  and not propagated. If multiple Extended Port Sub-TLVs exist, the TLVs
  must be validated in step 4.  For all other valid Sub-TLVs (see section 2.1), 
  only the first instance of a Sub-TLV is processed; subsequent ones are ignored.
  </t>
 <t hangText="3. Validate Tunnel Egress Endpoint:"> The Tunnel Egress Endpoint validation 
  is done per [RFC9012] rules either on the Tunnel Egress Endpoint Sub-TLV received in the UPDATE
  or an "assumed" Tunnel Egress Endpoint if no Tunnel Egress Endpoint Sub-TLV 
  exists in the TLV (see section 2.1). Practically, the outer tunnel group either 
  identifies a specific WAN interface or (in the case of the "assumed" Tunnel Egerss Endpoint)
  the remote SD-WAN edge node at which the outer SD-WAN Hybrid Tunnel terminates. 
 </t>
 <t hangText="4. Validate Extended Port Attribute Sub-TLV(s):"> As described in Section 2.3.6, 
 each Extended Port Attribute sub-TLV describes the properties of a single WAN port. 
 Therefore, multiple Extended Port sub-TLVs may be present when the SD-WAN edge node has multiple WAN ports.
  Each sub-TLV MUST be validated to ensure that the port information it contains is sufficient 
  to support the establishment of a tunnel to the remote peer.
If any Extended Port Attribute Sub-TLV is determined to be invalid, the entire SD-WAN Hybrid Tunnel 
TLV MUST be considered invalid. </t>
 <t hangText="5. Validate each NLRI:"> Each typed NLRI in the SD-WAN Underlay MUST be well-formed, 
 meaning it conforms to the structure defined in Section 2.2.1,  including correct field lengths and ordering. 
 A MALFORMED NLRI MUST be discarded; implementations MAY log an error.  
 </t>
 <t hangText="6. Validate Next Hop:"> The IP address specified in the 
 Next Hop field MUST be reachable by the Tunnels. 
 </t>
 </list>
 
 </section> 
 <section title="Underlay Routes with Port-Local-ID of Zero">
 <t> As specified in Section 2.2.1, a Route Type 1 NLRI includes the tuple (Port-Local-ID, SD-WAN-Color, SD-WAN Node ID). The Port-Local-ID field MAY be set to zero to indicate that the NLRI applies to all WAN ports on the identified SD-WAN node, effectively representing tunnel attributes at the node level rather than a specific port.</t>

 <t>When Port-Local-ID = 0, the receiving BGP speaker SHOULD apply local policy to determine how to associate client routes with underlay tunnels. This local policy may prefer tunnels from specific SD-WAN nodes, or choose among SD-WAN Colors based on administrative preference, link type, path performance, or service-level objectives. The exact selection logic is implementation-specific.</t>

 <t>It is valid for multiple such node-level NLRIs to be received, each advertising different SD-WAN Colors for the same node. For example, the following three NLRIs may be received (within one or more UPDATE messages): 
<list>
<t> Port-Local-ID (0), SD-WAN-Color (10), SD-WAN Node ID (2.2.2.2),
</t> 
<t> Port-Local-ID (0), SD-WAN-Color (20), SD-WAN Node ID (2.2.2.2), and
</t>
<t> Port-Local-ID (0), SD-WAN-Color (30), SD-WAN Node ID (2.2.2.2).
</t>
</list>
These indicate that node 2.2.2.2 supports multiple tunnel groups, each classified by a different SD-WAN Color. For example, these Colors may correspond to service tiers such as gold, silver, and bronze. The SD-WAN-Color field is used to correlate underlay tunnels with client routes that carry a matching Color Extended Community. If no match is found, the client route may not be forwarded over any SD-WAN tunnel. 
</t>
 </section>
<section title="Multiple Tunnels attached to One Underlay Route">
<t>An underlay tunnel passes through only one SD-WAN Hybrid Tunnel.  Therefore, 
if there are more than one SD-WAN Hybrid Tunnel TLV within a single 
Tunnel Encapsulation Attribute, the first is processed and the subsequent 
SD-WAN Hybrid Tunnel TLVs are ignored.  
</t>
</section> 
 </section>
 
 <section title="Error handling">
 <t>The Error handling for SD-WAN VPN support has two components: 
 error handling for Tunnel Encapsulation signaling 
 (Encapsulation Extended Community and Tunnel Encapsulation Attribute) and the SD-WAN NLRI. An SD-WAN NLRI,
 a Tunnel Encapsulation attribute MUST always accompany the SD-WAN NLRI.
</t>
<t>The previous sections (2.4 and 2.5) provide the procedures for 
handling client routes and undelay routes.  
</t>
<section title="Error handling for the Tunnel Encapsulation Signaling">
<t> The error handling for the tunnel encapsulation signaling (Encapsulation Extended Community and 
Tunnel Encapsulation Attribute) in this document follows the procedures specified in Section 13 of [RFC9012]. Unless otherwise stated, malformed or unrecognized Sub-TLVs MUST be handled as specified in [RFC9012]. This document defines new Sub-TLVs for Tunnel Type 25 (SD-WAN-Hybrid), but does not alter the validation behavior established in RFC 9012.
</t>
<t>For SD-WAN client routes with a Tunnel Encapsulation Attribute with a SD-WAN Hybrid Tunnel type TLV,  
the IPsec Sub-TLVs (IPsec SA ID, IPsec nonce, IPsec Public Key, IPsec Proposal, 
and Simplified IPsec SA) are meaningful, but MAY be rarely sent. 
Incorrect fields within any of these 5 TLVs. Per [RFC9012], a malformed sub-TLV
is treated as an unrecognized sub-TLV.  
</t> 
<t> If multiple instances of the IPsec nonce, IPsec Public Key, IPsec Proposal, and 
Simplified IPsec are received within a SD-WAN Hybrid Tunnel TLV , only the first is processed.  
The second instance is ignored and not propagated.  The IPsec SA ID MAY have multiple 
copies, but the IPsec SA Identifiers sent in the second sub-TLV MUST be different
than any in the first IPsec SA ID sub-TLV. 
</t>
<t>If multiple instances of the Extended Port sub-TLV are received, the local 
policy MUST determine which is to be used. 
</t>
 </section> 
 <section title="Error Handling for NLRI">
 <t>
The SD-WAN NLRI [AFI 1/SAFI = 74] utilizes a route type field to describe the format of the NLRI. 
This specification only allows an NLRI with a type value of 1. An NLRI with a type of field of 
another value is ignored, but distributed to other peers.  The implementation MAY log an error upon 
the reception of a type value outside of Route Type 1. Error handling for the SD-WAN NLRI 
also adheres to the BGP UPDATE error handling specified in [RFC7606].     
</t>
<t>Local configuration and policy MUST carefully constrain 
the SD-WAN-NLRI, tunnels, and IPsec security associations
to create a "walled garden".  
</t>

 </section> 
 <section title="SD-WAN NLRI and Tunnel Encapsulation Attribute">
 <t> The SD-WAN NLRI (AFI=1/SAFI=74) MUST be paired with  
 Tunnel Encapsulation attribute with a SD-WAN Hybrid tunnel TLV,
 If the SD-WAN NLRI exist in an BGP UPDATE without a Tunnel Encapsulation Attribute 
 with a SD-WAN Hybrid tunnel TLV, the NLRI is considered malformed 
 and Treat-as-withdraw approach (per RFC7606).  
 </t>
 <t>The SD-WAN NLRI SHOULD not be paired with an Encapsulation Extended Community. 
 If an SD-WAN NLRI is paried with an Encapsulation Extended Community rather than 
 a Tunnel Encapsulation Attribute, the SD-WAN NLRI is considered malformed
 and the Treat-as-withdraw approach (per <xref target="RFC7606"></xref>) SHOULD be used.
</t>
 </section>
</section>  
 </section> 
 <section title="Operational Consistency and Tunnel Validation"> 
 <t>Unlike MPLS VPN whose PE nodes are all controlled by the network operators, 
 SD-WAN edge nodes can be installed anywhere, in shopping malls, in 3rd party Cloud DCs [Net2Cloud], etc.</t> 
 <t>It is essential to ensure that advertisements from an SD-WAN edge node are legitimate. 
 The RR, which maintains policy information about which SD-WAN nodes are authorized to 
 communicate, MUST verify that the advertising BGP speaker is permitted to originate 
 SD-WAN Hybrid Tunnel information before reflecting such routes to other peers.</t>   
 <section title="Detecting Misaligned Tunnels"> 
 <t>It is critical that a SD-WAN Hybrid Tunnel forwards traffic in accordance with 
 local policy, taking into account the client route attributes, tunnel ingress
 and egress endpoints, and the associated security parameters.</t>
 <t>To maintain correctness and security, both the RR and BGP speakers SHOULD validate 
 that the client routes and associated tunnel information are consistent with expected configurations. 
 This includes verifying that: 
 <list style ="symbol">
 <t>The NextHop in the client route update matches a known SD-WAN Node ID.</t>
 <t>The tunnel's egress endpoints are reachable and authorized.</t>
 <t>The advertised SD-WAN Color in the underlay NLRI matches the 
 Color Extended Community attached to the client route.</t>
 </list>
 </t>
 </section> 
 <section title="IPsec Attributes Mismatch"> 
 <t>Each SD-WAN node (e.g., a C-PE) can advertise its IPsec-related attributes 
 to remote peers using Sub-TLVs within the Tunnel Encapsulation Attribute, 
 in one of the following three forms, to support the establishment of IPsec SAs: 
 <list style="symbols">
<t>Identifiers of a pre-established IPsec SA, carried in IPsec SA ID Sub-TLV.  
</t>  
<t>a simplified set of security parameters for setting up a IPsec SA, such as 
Transform type, IPsec Mode, AH/ESP Algorithms, rekey counter, 
2 public keys, nonce, and duration, carried in the Simplified IPsec SA Sub-TLV.  
</t>
<t>A flexible representation of IPsec parameters, where the Nonce, Public Key, 
and SA Proposal are individually specified and carried in the 
IPsec SA Rekey Counter Sub-TLV, IPsec Public Key Sub-TLV, and IPsec SA Proposal Sub-TLV, respectively.
</t>
</list>
</t>
<t>For existing IPsec SAs, an SD-WAN node that receives the advertisement can simply use one of the existing SAs to forward traffic for the associated client routes. If multiple SAs are available for a given client route, local policy on the receiving SD-WAN node MAY determine which SA is selected. 
</t>
<t>When a new IPsec SA is to be established using parameters carried in Sub-TLVs, such as the IPsec SA Rekey Counter Sub-TLV, IPsec Public Key Sub-TLV, and IPsec SA Proposal Sub-TLV, the receiving SD-WAN node MUST validate that the proposed IPsec transforms and algorithms are compatible with its local configuration. These attributes, received via the Tunnel Encapsulation Attribute, define the parameters for establishing the IPsec tunnel between local and remote WAN ports. This compatibility check is performed at the IPsec layer, not by BGP.</t>

<t>The C-PE devices do not attempt to negotiate IPsec SA parameters or transform sets with remote peers. Instead, the configurations must match as advertised. If there is a mismatch, either in the simple IPsec SA identifiers or in the detailed transform parameters, no tunnel is established. Implementations MAY discard incompatible proposals or log them for operational visibility. 
</t>

<section title="Example creation of IPsec SA over SD-WAN Hybrid Tunnel">
<t>This section provides an example illustrating how an IPsec SA is established over an SD-WAN Hybrid Tunnel. Assume an IPsec tunnel is to be created between port P2 (198.51.100.10) on C-PE1 and port P2 (192.0.2.1) on C-PE2.</t>
 <t>To establish this tunnel, C-PE1 must advertise the following attributes required for setting up the IPsec SA:</t>
<t> 
 <list style="symbols">
 <t>NextHop: 198.51.100.10</t>
 <t>SD-WAN Node ID: 1.1.1.1  </t>
 <t>SD-WAN-Site-ID: 1502</t> 
 <t>Tunnel Encap Attr (Type = SD-WAN Hybrid Tunnel) - 
	<list style="symbols">
	<t>Extended Port Attribute Sub-TLV containing
	  <list>
	   <t>Transport Sub-Sub-TLV - with information on ISP. </t>
      </list>
    </t>	
	<t>IPsec information for detailed information about the ISP</t>
	<t>IPsec SA Rekey Counter Sub-TLV,</t> 
	<t>IPsec SA Public Key Sub-TLV,</t>
	<t>Proposal Sub-TLV (type = ENCR, transform ID = 1) 
	  <list>
	  <t>type: ENCR </t>
	  <t>Transform ID: 1 </t> 
	  <t>Tranform attributes = trans 1 [from RFC7296]</t>
	  </list>
    </t>
	<t>No Tunnel Egress EndPoint Sub-TLV 
	   <list>
	   <t>Without a Tunnel Egress EndPoint Sub-TLV, the
	      SD-WAN Hybrid Tunnel processing treats this 
		  as though a Tunnel Egress EndPoint Sub-TLV with 
		  an AFI of 0 has been received. Per [RFC9012]
		  this assumes a tunnel egress endpoint of 
		  the NextHop value of 198.51.100.10.
		  </t>
		</list>
		</t> 
    </list>
 </t>
 </list>
</t> 
<t>C-PE2 needs to advertise the following attributes for establishing the IPsec SA:
<list style="hanging">
<t hangText="Next Hop:"> 192.0.2.1</t>
<t hangText="SD-WAN Node ID:"> 2.2.2.2 </t>
<t hangText="SD-WAN-Site-ID:"> 1500 </t>
<t hangText="Tunnel Encap Attr (Type=SD-WAN)">
	<list style="symbols">
	<t>Extended Port Attribute Sub-TLV
	  <list>
	  <t>Transport Sub-Sub-TLV - with information on ISP. </t>
      </list>
	</t>
	<t>IPsec SA Rekey Counter Sub-TLV, </t>
	<t>IPsec SA Public Key Sub-TLV,</t>
	<t>IPSec Proposal Sub-TLV with 
  	  <list>
      <t> transform type: ENCR </t>  
	  <t> Transform ID = 1 </t>
	  <t> Transform attributes = trans 2 </t> 
	  </list>
	</t>
	<t>No Tunnel Egress EndPoint Sub-TLV 
	   <list>
	   <t>Without a Tunnel Egress EndPoint Sub-TLV, the
	      SD-WAN Hybrid Tunnel processing treats this 
		  as though a Tunnel Egress EndPoint Sub-TLV with 
		  an AFI of 0 has been received. Per [RFC9012]
		  this assumes a tunnel egress endpoint of 
		  the NextHop value of 192.0.2.1. 
		  </t>
		</list>
		</t> 	
    </list>
</t>
</list>
</t>
<t>As there is no matching transform between the WAN ports P2 and P2 in C-PE1 and C-PE2, 
respectively, no IPsec Tunnel will be established.</t>
 </section>
 </section> 
 </section>
 
 <section title = "Manageability Considerations">
 <t>The BGP-based signaling mechanisms described in this document are primarily intended to 
 enable SD-WAN edge nodes to advertise underlay transport and tunnel parameters to their RR. 
 These parameters, once received, can be monitored and validated using existing BGP monitoring 
 tools such as BMP or route policy inspection frameworks. Operators SHOULD implement logging 
 and alerting mechanisms for cases where inconsistent or malformed Sub-TLVs are received, as specified in Section 2.6. 
 Misaligned parameters, such as mismatched IPsec SA IDs or invalid NAT indicators, 
 should trigger operational alerts to aid troubleshooting.
</t>
<t> No new MIB modules or YANG models
 are introduced in this document, but implementations are expected to expose relevant state 
 (e.g., tunnel type, advertised properties) via standard operational interfaces. 
 The use of secure transport connections (e.g., BGP over IPsec/TLS) is RECOMMENDED 
 to ensure manageability in untrusted environments.</t>
 </section>
 
  <section title="Security Considerations"> 
 <t>This document defines BGP extensions for SD-WAN edge nodes to advertise 
 their attributes for establishing IPsec SAs and underlay tunnel attributes, 
 typically via a RR, which then propagates them to authorized SD-WAN peers. 
 These BGP UPDATEs may contain sensitive information such as public keys, 
 IPsec proposals, and nonces. In deployments where SD-WAN edge nodes 
 communicate with the RR over public or untrusted networks, BGP SHOULD be run 
 over TCP-AO secure transport that provides authentication and integrity
 for this data.
 </t>
 <t>Some network operators running SD-WAN edge over public or
untrusted networks desire confidentiality as well as authentication and
integrity. In this case, network operators can consider running
BGP over new IETF technologies (e.g. BGP over QUIC [draft-retana-idr-bgp-quic],
BGP over TLS/TCP [draft-wirtgen-bgp-tls], or Securing BGPv4 using IPsec
[draft-ward-bgp-ipsec]) which provide authentication, confidentiality, and
Integrity.
</t>
<t>
These two sets of secure transport technologies for BGP provide different levels of
protection against tampering or interception.  These secure transport connections are 
needed to protect all fields, including cryptographic
 attributes, from tampering or interception. Without such protection, 
 the system maybe vulnerable to spoofed tunnel attributes, unauthorized 
 route injections, or replayed IPsec setup information.</t>    
 <t>
 However, in closed or "walled garden" deployments, where SD-WAN edge nodes and 
 the RR (SD-WAN controller) are within a trusted, secured environment 
 (e.g., a private MPLS backbone or physically secured enterprise network), 
 the risk of interception or tampering is significantly reduced. 
 In such cases, the use of secure transport is optional, and 
 operators may choose to run BGP over standard TCP, based on their internal risk assessment.
 </t>
 <t>
 Regardless of the transport used, BGP policy enforcement remains critical. 
 The RR SHOULD apply strict filtering and policy controls to validate that
 only authorized SD-WAN edge nodes advertise specific Node IDs, Route Targets,
 or VPN identifiers. While route origin validation via RPKI helps, it does not
 cover SD-WAN-specific fields like Tunnel attributes or SA proposals. Local policies,
 when misconfigured, may introduce vulnerabilities; therefore, policy application 
 points SHOULD be carefully audited.
 </t>
 <t>Many of the general BGP security risks discussed here are also covered in [RFC4271], [RFC4272], and [RFC9012]. This document inherits those considerations and introduces no new cryptographic requirements beyond what is described for securing BGP transport and validating the correctness of SD-WAN tunnel attribute exchanges.</t>

<t>This specification does not define deployments across fully untrusted networks, but if such environments are used, strong transport security becomes a MUST, and additional validation mechanisms may be required to maintain SD-WAN tunnel and routing integrity. 
 </t>
 </section>
 
  <section title="IANA Considerations"> 
   <section title="SD-WAN Overlay SAFI"> 
	<t>IANA has assigned SAFI = 74 as the SD-WAN SAFI.</t>
   </section>
    <section title="Tunnel Encapsulation Attribute Tunnel Type"> 
	<t>IANA is requested to assign a type from the BGP Tunnel Encapsulation Attribute Tunnel Types 
	registry in the Border Gateway Protocol Tunnel Encapsulation Group 
	as follows [RFC8126]:</t>
	     <artwork><![CDATA[  
 Value   Description    Reference
-----   ------------   ---------
 25	  SD-WAN-Hybrid   (this document)
		]]></artwork>
	</section>
	  <section title="Tunnel Encapsulation Attribute Sub-TLV Types"> 
	  <t>IANA is requested to assign the following sub-Types in the 
	  BGP Tunnel Encapsulation Attribute Sub-TLVs registry in the 
	  Border Gateway Protocol Tunnel Encapsulation Group:</t>
	 <artwork><![CDATA[  
   Value   Type Description            Reference     Section 
   -----   -----------------------     ------------- -------
    64	IPsec SA ID                    This document  2.3.1
    65	Extended Port Attribute        This document  2.3.6
    66	Underlay Type                  This document  2.3.6.1 
    67	IPsec SA Rekey Counter         This document  2.3.2
    68	IPsec Public Key               This document  2.3.3 
    69	IPsec SA Proposal              This document  2.3.4
    70	Simplified IPsec               This document  2.3.5
		]]></artwork>
	  </section>
    <section title="SD-WAN Edge Discovery NLRI Route Types"> 
	<t>IANA is requested to create a new registry titled
	"SD-WAN Edge Discovery NLRI Route Types" under the
	"Border Gateway Protocol (BGP) Parameters" group. The allocation policy 
	for this registry shall be IETF Review (as defined in RFC 8126):</t>
	     <artwork><![CDATA[  
 Value   Description                           Reference
-----   ------------                           ---------
  1	  SD-WAN Tunnel Endpoint NLRI Route Type   (this document)
  
  Values 2-255 are reserved for future assignments.
  
		]]></artwork>
	</section>
	
	<section title = "SD-WAN Extended Port Encapsulation Types">
	<t>IANA is requested to create a new registry titled 
	"SD-WAN Extended Port Encapsulation Types" under the BGP Tunnel Encapsulation Group.</t>
	 <artwork><![CDATA[  
   Value   Type Description            Reference       
   -----   -----------------------     ------------- 
    0	   Reserved                    This document   
    1	   GRE                         This document 
    2	   VXLAN                       This document   
    3~255  Reserved for future        
	]]></artwork>	
	</section>
	
	<section title = "SD-WAN Extended Port Connection Types">
	<t>IANA is requested to create a new registry titled "SD-WAN Extended Port Connection Types" 
	under the BGP Tunnel Encapsulation Group.</t>
	 <artwork><![CDATA[  
   Value   Type Description            Reference       
   -----   -----------------------     ------------- 
    0	   Reserved                    This document   
    1	   Wired                       This document 
    2	   WIFI                        This document
    3	   LTE                         This document
    4	   5G                          This document
    5~255  Unassigned
	255    Reserved for Experimental Use
	]]></artwork>	
	</section>
	
	<section title = "SD-WAN Extended Port Physical Port Types">
	<t>IANA is requested to create a new registry titled
	"SD-WAN Extended Port Physical Port Types" under the
	BGP Tunnel Encapsulation group.</t>
	 <artwork><![CDATA[  
   Value   Type Description            Reference       
   -----   -----------------------     ------------- 
    0	   Reserved                    This document   
    1	   Ethernet                    This document 
    2	   Fiber Cable                 This document
    3	   Coax Cable                  This document
    4	   Cellular                    This document
    5~255  Unassigned
    255    Reserved for Experimental Use
	]]></artwork>	
	</section>
 </section>
 
</middle>	

  <back>
    <references title="Normative References">
   
      <?rfc include="reference.RFC.2119"?>
	  <?rfc include="reference.RFC.4271"?>
	  <?rfc include="reference.RFC.4301"?>
	  <?rfc include="reference.RFC.4360"?>
  	  <?rfc include="reference.RFC.4456"?>
	  <?rfc include="reference.RFC.4760"?>  


	  <?rfc include="reference.RFC.7296"?>
	  <?rfc include="reference.RFC.7606"?>

	  <?rfc include="reference.RFC.8126"?>
      <?rfc include="reference.RFC.8174"?>
      <?rfc include="reference.RFC.8277"?>
	  <?rfc include="reference.RFC.8489"?>
      <?rfc include="reference.RFC.9012"?>
	  
	 <reference anchor="MEF70.1" target="https://www.mef.net/resources/mef-70-1-sd-wan-service-attributes-and-service-framework/">
	 <front>
	    <title> SD-WAN Service Attributes and Service Framework</title>
		<author>
		 <organization>MEF</organization>
		</author>
		<date month="Nov" year="2021"/>
     </front>
	 </reference>
	 <reference anchor="MEF70.2" target="https://www.mef.net/resources/mef-70-2-sd-wan-service-attributes-and-service-framework/">
	 <front>
	    <title> SD-WAN Service Attributes and Service Framework</title>
		<author>
		 <organization>MEF</organization>
		</author>
		<date month="Oct" year="2023"/>
     </front>
	 </reference>	
    </references>

    <references title="Informative References">
	  <?rfc include="reference.RFC.1997"?>
      <?rfc include="reference.RFC.4272"?>	  
	  <?rfc include="reference.RFC.4364"?>
	  <?rfc include="reference.RFC.4659"?>
	  <?rfc include="reference.RFC.4761"?> 
      <?rfc include="reference.RFC.4762"?>
  	  <?rfc include="reference.RFC.4835"?>
	  <?rfc include="reference.RFC.5114"?>
	  <?rfc include="reference.RFC.5701"?> 
	  <?rfc include="reference.RFC.5903"?>
 	  <?rfc include="reference.RFC.6793"?> 	 	  
	  <?rfc include="reference.RFC.7018"?>
	  <?rfc include="reference.RFC.8092"?>
	  <?rfc include="reference.RFC.8221"?>
 
	 <reference anchor="Net2Cloud" target= "https://datatracker.ietf.org/doc/draft-ietf-rtgwg-net2cloud-problem-statement/">
	 <front>
	    <title> Dynamic Networks to Hybrid Cloud DCs: Problem Statement and Mitigation Practice</title>
		<author>
		 <organization>L. Dunbar, A Malis, C. Jacquenet, M. Toy and  K. Majumdar</organization>
		</author>
		<date month="Sept" year="2023"/>
     </front>
	 </reference>
	 
	 <reference anchor="SD-WAN-BGP-USAGE" target="https://datatracker.ietf.org/doc/draft-ietf-bess-bgp-sdwan-usage/">
	 <front>
	    <title> BGP Usage for SD-WAN Overlay Networks</title>
		<author>
		 <organization>L. Dunbar, A Sajassi, J Drake, and B. Najem</organization>
		</author>
		<date month="Sept" year="2023"/>
     </front>
	 </reference>
	 <reference anchor="Secure-EVPN" target="https://datatracker.ietf.org/doc/draft-ietf-bess-secure-evpn/">
	 <front>
	    <title>Secure EVPN</title>
		<author>
		 <organization>A Sajassi, A. Banerjee, S. Thoria, D. Carrell, B. Weis, J. Drake </organization>
		</author>
		<date month="Nov" year="2024"/>
     </front>
	 </reference>
 	  	
    </references>
	<section title="Acknowledgments">
	<t>Acknowledgements to Wang Haibo, Shunwan Zhuang, Hao Weiguo, and ShengCheng for implementation contribution. 
	Many thanks to Yoav Nir, Graham Bartlett, Jim Guichard, John Scudder, and Donald Eastlake for their 
	review and suggestions.</t>

	</section>
	<section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
   <t>Below is a list of other contributing authors:</t>
   <t>
   <list style="symbols">
   <t>
      	<contact fullname="Gyan Mishra">
        <organization showOnFrontPage="true">Verizon</organization>
        <address>
          <postal>     
            <country>USA</country>
          </postal>
          <email>gyan.s.mishra@verizon.com</email>
        </address>
      </contact>, </t>  
	 <t>
	  <contact fullname="Shunwan Zhuang">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>zhuangshunwan@huawei.com</email>
        </address>
      </contact>,</t> 
	  <t>
      <contact fullname="Sheng Cheng">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>     
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>shengcheng@huawei.com</email>
        </address>
      </contact>, and </t>
	  <t>
	  <contact fullname="Donald Eastlake">
        <organization showOnFrontPage="true">Futurewei</organization>
        <address>
          <postal>     
            <country>USA</country>
          </postal>
          <email>d3e3e3@gmail.com</email>
        </address>
      </contact>.</t> 
	  </list>
	  </t> 
    </section>
  </back>
</rfc>
