Looks good!

Thanks.
Jeffrey

From: BESS <bess-boun...@ietf.org> On Behalf Of Greg Mirsky
Sent: Tuesday, August 20, 2019 1:38 PM
To: Jeffrey (Zhaohui) Zhang <zzh...@juniper.net>
Cc: Robert Kebler <rkeb...@juniper.net>; EXT - thomas.mo...@orange.com 
<thomas.mo...@orange.com>; bess-cha...@ietf.org; BESS <bess@ietf.org>
Subject: Re: [bess] WGLC, IPR and implementation poll for 
draft-ietf-bess-mvpn-fast-failover

Hi Jeffrey,
many thanks for the most detailed explanation. Please find my notes and answers 
in-line tagged GIM5>>. Also, trimmed text to clear issues that we agree has 
been resolved already.

Attached is the new working version of the draft and the diff to highlight the 
changes.

Regards,
Greg

On Fri, Aug 9, 2019 at 1:38 PM Jeffrey (Zhaohui) Zhang 
<zzh...@juniper.net<mailto:zzh...@juniper.net>> wrote:
Hi Greg,

I've trimmed some text. Please see zzh3> below.

Zzh2> I checked the surrounding text in this draft and section 5.1.3 in 
RFC6513. I believe section 3 of this document, before its subsection 3.1 should 
be re-written as following:
....
Zzh2> The reason is that for the candidate set is not ordered - it's just a set 
to select from (either based on IP address or hashing).
GIM4>> Many thanks, Jeffrey! Please check the working verion or diff and let me 
know if I've correctly applied the changes.

Zzh3> There is an extra "o":

   o  The first two options select the Upstream PE from a candidate PE
      set either based on IP address or a hashing algorithm.  When used
      together   with the optional procedure of considering the P-tunnel
      status as in   this document, a candidate upstream PE is included
      in the set if it either:

   o  <-- EXTRA
GIM5>> I think I've managed to clear it.

      A.  advertise a PMSI bound to a tunnel, where the specified tunnel
          is not known to be down or up



3.1.7.  Per PE-CE link BFD Discriminator
 ...
 Zzh2> Because you still want to track the tunnel state (in addition to pe-ce 
interface state), you would need at least two discriminators - one for the 
tunnel and one for the PE-CE link. However, the new "BGP- BFD attribute" 
defined in this spec only accommodates one discriminator (and my understanding 
is that you can't have more than one of the same attribute).
GIM4>> It is implied that the PE-CE link is monitored by p2p BFD session, most 
likely as described in RFC 5881 for single-hop BFD. That would not require 
bootstrapping.

Zzh3> I was saying that if you use "Per PE-CE link BFD Discriminator", then ...
Zzh2> The simplest solution is that just use the same discriminator (vs. per 
PE-CE link discriminator). With that, the ENTIRE section 3.1.7 (including its 
subsections) become the following:
GIM4>> I'm confused by "use the same Discriminator". The root advertises its 
Discriminator to the downstream PEs. The value is only locally unique for the 
root, not for any downstream PE. For a PE-CE link, if BFD is used, each PE must 
pick its locally unique value to use it as My Discriminator. CE uses that value 
in Your Discriminator field and thus the PE demultiplexes p2p sessions using 
its locally unique value in the Your Discriminator field. Note that p2mp BFD 
session among the root and the downstream PEs is such that PEs receives BFD 
control packets with the value of Your Discriminator field zeroed, and PEs use 
a different mechanism to demultiplex p2mp BFD sessions (as described in RFC 
8562).

Zzh3> I meant that you don't use PE-CE link specific discriminator (e.g. value1 
for the tunnel status, value2 for PE-CE link1 and value3 for PE-CE link2). 
Whether you track the PE-CE link status or not, you just include the 
discriminator that corresponds to the tunnel. I don't mean that all PEs use the 
same discriminator.

3.1.7 Tracking upstream PE-CE link status

   In case the PE-CE link on an upstream PE failed, even though the provider 
tunnel is still up,
   It is desired for the downstream PEs to switch to a backup upstream PE. To 
achieve that,
   If the upstream PE detects that its PE-CE link fails, it SHOULD set the 
bfd.LocalDiag of the
   p2mp BFD session to Concatenated Path Down and/or Reverse Concatenated Path 
Down,
   unless it switches to a new PE-CE link immediately (in that case the 
upstream PE will start tracking
   the status of the new PE-CE link).
   When a downstream PE receives that bfd.LocalDiag code, it treats as if the 
tunnel itself
   failed and tries to switch to a backup PE.
GIM4>> Would the downstream PE be switching to the backup Provider Tunnel, not 
to a backup PE? If yes, that option already listed in section 3.1.7.2

Zzh3> No.
Zzh3> Take one step back. When we don't track PE-CE link status on the ingress 
PE, we only care about the tunnel status. If it is down, we don't use the 
corresponding PE. There is no "backup tunnel". There is only a "backup upstream 
PE".
Zzh3> Now add the PE-CE link to the picture. Even if the tunnel remains up but 
if the PE-CE link is down, we don't use that upstream PE anymore. From the 
downstream PE's point of view, there is no difference whether it is the tunnel 
down or upstream PE-CE link down. It should not care.
Zzh3> That's why I say that the ENTIRE section of 3.1.7 should be replaced with 
my proposed text. No more 3.1.7.1 and 3.1.7.2.
GIM5>>  I agree and hopefully the new section 3.1.7 captured your proposal and 
addressed this concern. One question though. The text recommends that the 
upstream PE notifies the downstream PEs of PE-CE link failure "unless it 
switches to a new PE-CE link immediately". As we know, nothing happens 
immediately. Should we tie it to the value of bfd.DesiredMinTxInterval for the 
p2mp BFD session? One interval or multiplied by bfd.DetectMult? Or leave it 
outside of BFD by saying "within the separately defined time interval"?


Jeffrey


Juniper Business Use Only


Juniper Business Use Only
_______________________________________________
BESS mailing list
BESS@ietf.org
https://www.ietf.org/mailman/listinfo/bess

Reply via email to