<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc5036 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5036.xml">
<!ENTITY rfc3478 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3478.xml">
<!ENTITY rfc8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
]>
<rfc submissionType="IETF" docName="draft-aa-ldp-link-shut-00" category="std" updates="5036">
	<?rfc compact="yes"?>
	<?rfc text-list-symbols="o*+-"?>
	<?rfc subcompact="no"?>
	<?rfc sortrefs="yes"?>
	<?rfc symrefs="yes"?>
	<?rfc strict="yes"?>
	<?rfc toc="yes"?>
	<front>
	
	<title abbrev="draft-aa-ldp-link-shut-00">LDP behaviour on link-shut scenarios</title>
	
	<author fullname="Anush Mohan" initials="M." surname="Anush">
	<organization>Ericsson</organization>
	<address>
	 <postal>
	  <street>Bangalore</street>
	  <country>India</country>
	 </postal>
	<email>anush.mohan@ericsson.com</email>
	</address>
	</author>

	<author fullname="Anupkumar T" initials="T." surname="Anupkumar">
	<organization>Ericsson</organization>
	<address>
	 <postal>
	  <street>Bangalore</street>
	  <country>India</country>
	 </postal>
	<email>anupkumar.t@ericsson.com</email>
	</address>
    </author>
	
	<date />
	
	<workgroup>Network</workgroup>
	
	<abstract><t>
      This document is intended for clarification of LDP behaviour of link-down 
	  scenarios. Base LDP RFC5036 lacks sufficient clarity on what an LDP enabled 
	  node should be doing when a link down event is received, and the only LDP 
	  adjacency for an LDP peer is over this link. Different vendors have handled 
	  this scenario differently, with some immediately resetting tcp session with 
	  neighbour and some waiting for igp recovergence instead of reacting directly
	  to link events. With this document we intend to clarify the expected behaviour 
	  explicitly so that any interop issues can be avoided.</t>
	</abstract>
	</front>

	<middle>
	<section title="Introduction" anchor="section-1">
	  <t><xref target="RFC5036"/> details LDP specification and procedures to be followed by 
	  LDP implementations. However, for some scenarios like link down, the rfc isn’t 
	  particularly clear as what to implementation is supposed to do. This could lead 
	  to interop issues when routers when different vendors are part of the network. 
	  More details are given in the problem description section below. A possible 
	  solution is also suggested in the subsequent section.</t>
	</section>
   
    <section title="Terminology" anchor="section-2">
        <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 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
        appear in all capitals, as shown here.</t>
	
	  <t><list style="symbols">
        <t>LDP: Label distribution protocol.</t>
		
        <t>GR: Graceful-restart.</t>
      </list></t>
    </section>

    <section title="Problem Description" anchor="section-p">
      <t>Consider the following topology:</t>
	  <t><figure title="Example topology for LDP" anchor="ref-topology">
	  <artwork><![CDATA[
                E
                |
                |  
                A --- B
                |     |
                |     |
                C --- D
      ]]></artwork>
	  </figure></t>
   
    <t>All the nodes here are LDP enabled and also support GR. We have an lsp 
	from C-E via C-A-E path(this is igp bestpath). IGP has also computed LFA backup 
	for this primary-lsp via C-D-B-A-E path and we have LDP lfa backup as well
	(taking this path).</t>
	<t>Now, lets bring down A-C link. Node A has detected link-shut event and 
	since this link is the only adjacency to LDP-neighbor C, it resets the LDP 
	session and sends shutdown to neighbour C.</t>
	<t>At node-C, the link-down event is detected bit late and subsequently the IGP 
	update is also delayed. Meanwhile, C has received shutdown from peer A, and it 
	that results in flushing all labels received from A. Since the primary-label for 
	C-E lsp is no longer available (from A), the lsp itself is deleted by LDP, as 
	LDP can’t be congruent with IGP.   This LDP-lsp flap can in turn impact l3vpn/l2vpn 
	routes which are dependent on this LSP.</t>
	<t>We can definitely reduce traffic-loss by running BFD and switching traffic to 
	lfa backup in forwarding, but the intention above is to highlight that IGP updates 
	and subsequently LDP updates would be asynchronous at nodes A and C, which may be 
	more prominent if there are routers with different capabilities (and maybe from 
	different vendors) in the network. So even if traffic has moved to lfa-backup lsp 
	in forwarding, the primary-lsp itself could be deleted by the shutdown message 
	(which is a fatal error).</t>
   </section>	
	
	
	<section title="Solutions" anchor="section-3">
	<t>When a node has LDP adjacency to its neighbour (With GR <xref target="RFC3478"/> 
	enabled on both nodes) over a ‘single’ directly connected link and that link goes down, 
	the node MAY reset the tcp session with neighbor. However, it MUST NOT send
	shutdown message, which flushes advertised labels at neighbor immediately.</t>

    <t>The neighbor itself could have different backup mechanisms (ldp-lfa or rsvp-bypass) 
	to ensure minimal traffic loss in forwarding for lsps having this node as 
	active(primary)-path. Transmitting shutdown message immediately could result in neighbor 
	prematurely deleting LSPs instead of letting IGP recoverge.</t>

    <t>Another approach could be to avoid reacting immediately to link down events. Instead, 
	let hello timeout bringdown the session and update LSP-paths as soon as IGP reconverges.</t>

    <t>Both approaches can help to avoid traffic loss by accounting for asynchronous ordering of 
	events in LDP-peering routers.</t>
    </section>
   
	<section title="Security Considerations" anchor="section-5">
	  <t>The security considerations described in RFC5036 apply to this 
	  document.</t>
	</section>
	
	<section title="IANA Considerationss" anchor="section-6">
	  <t></t>
	</section>
	
	<section title="Acknowledgments" anchor="section-7">
	 <t>.</t>
	</section>
	
	</middle>


	<back>
	<references title="Normative References">
	&rfc2119;
	&rfc5036;
	&rfc3478;
	&rfc8174;
	</references>
	</back>

	</rfc>
	
