Re: [bess] Shepherd's Review of draft-ietf-bess-evpn-pref-df

Luc André Burdet <laburdet.ietf@gmail.com> Wed, 18 November 2020 19:05 UTC

Return-Path: <laburdet.ietf@gmail.com>
X-Original-To: bess@ietfa.amsl.com
Delivered-To: bess@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5D6C03A09D5; Wed, 18 Nov 2020 11:05:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8DRipSCBo9SJ; Wed, 18 Nov 2020 11:05:34 -0800 (PST)
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 61EB13A0A47; Wed, 18 Nov 2020 11:05:33 -0800 (PST)
Received: by mail-ej1-x630.google.com with SMTP id dk16so4246591ejb.12; Wed, 18 Nov 2020 11:05:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=w60C1cBTFtGT85mrwL1cARvnirAVg18r7Uhk//Ar/XU=; b=kq7k8H9/Xp6OW422WasucUZ647pZnlWtLAbcvEua4/lSlTManngx5/nRdZ0Tkru1SU 2ohWHYer8CD61llNgPrvf+LjP1Wc0CwgdAC+9x8vuyz7O+9OOPKjVRbbI4C75SuZuse7 a2pbFUYWmwPi/HahWKUPSG56PONfRu2vdDTV8LzRHoHOHkF5s99106hjLLbJxpJBSMRF 18bykMIpqkKGwlwSCyrN+R2ytcKfW7S1GPPPp0rPpI4T1tLFjg5Uvz9EqSN9VVEFr4dX lL13qgb1Yp9nGyvKKSvaer/UzJ+2Y4aJjq1HNNFhFTU6vUw/Ya5HhfQFG4JBy7BhEksw jG5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=w60C1cBTFtGT85mrwL1cARvnirAVg18r7Uhk//Ar/XU=; b=gsJ8Uk35fPkZ/8Sp9X1hW9mYgi/rsAGBMNGb9wZloniFqQMla21pAooVUVqom09yok +CE02MuwWsVw/zMM4mtdaSVeoadm/h4/f/QAZrFeIFXkh+2IX3JcZDF6rzqFC+OpMZXf eEmEzDMKyFVmXS/cE+tenVTElhFkU8V8GWHrVwYj4ogilr+tY3A8Clim7a6K7g0s+bZy 3+ICNDuC/v7xW4lZ+kRZBpABqpTUok1TlykWwQNCiOEkJosa4/VrP3w2mH30wTj5TDzN cW9BnGSnCa1c/nCNHs8uCrZvfKz9goSR+4zJSz/BR64rxpF0u/xpTXt4cf/G3rt7+9gX QsPA==
X-Gm-Message-State: AOAM532N9UIs6aKHMgL3fY0moreuv/7yvV1y2Wq1KjsB8Ifv9u3EFeYE Ve0jeZ8r+DkKRkDLx80c+pmvakYu//4xFOJITFo=
X-Google-Smtp-Source: ABdhPJwq1arErgQWpDoacFy8Ugp17/IlAVyNMzf1Z0Avj/g+SE60bF8MXm3bRzaWuOcV+lSVHBLMwrBo0AAvOP67XZc=
X-Received: by 2002:a17:906:b18:: with SMTP id u24mr27073836ejg.501.1605726331776; Wed, 18 Nov 2020 11:05:31 -0800 (PST)
MIME-Version: 1.0
References: <041601d5ecaf$d3e46410$7bad2c30$@gmail.com> <477475D5-5521-48F8-850B-9DA353CEE297@nokia.com> <0b9301d67f7c$0809f1b0$181dd510$@gmail.com> <MWHPR08MB3520F6DDC633ED95F9DB046FF72E0@MWHPR08MB3520.namprd08.prod.outlook.com>
In-Reply-To: <MWHPR08MB3520F6DDC633ED95F9DB046FF72E0@MWHPR08MB3520.namprd08.prod.outlook.com>
From: Luc André Burdet <laburdet.ietf@gmail.com>
Date: Wed, 18 Nov 2020 14:05:20 -0500
Message-ID: <CAPDb2b04TPtSDPXSjUj0YNOybFg1vimzDPL3DUVUdAY3A-q9Lw@mail.gmail.com>
To: "Rabadan, Jorge (Nokia - US/Mountain View)" <jorge.rabadan@nokia.com>, "slitkows.ietf@gmail.com" <slitkows.ietf@gmail.com>
Cc: "draft-ietf-bess-evpn-pref-df@ietf.org" <draft-ietf-bess-evpn-pref-df@ietf.org>, "bess-chairs@ietf.org" <bess-chairs@ietf.org>, "bess@ietf.org" <bess@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000009cb41805b4664bd5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/bess/daZ8Tbp0uYvS2lJekCbg65eew0k>
Subject: Re: [bess] Shepherd's Review of draft-ietf-bess-evpn-pref-df
X-BeenThere: bess@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: BGP-Enabled ServiceS working group discussion list <bess.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bess>, <mailto:bess-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bess/>
List-Post: <mailto:bess@ietf.org>
List-Help: <mailto:bess-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bess>, <mailto:bess-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Nov 2020 19:05:36 -0000

Hi Stéphane, Jorge,


On the issue of tie-breaking, I would agree with Stéphane.


It is too easy for peering PEs to be misconfigured / in disagreement as to
Hi or Lo and this should be signaled if at least in an error reporting
capacity.



I would propose to go even further. This DF Election algorithm compares
fields in a given order:

   - Field 1: Preference Weight
   - Field 2: IP Address Tie-break if Field1 is a tie, and hope all PEs use
   same Hi or Lo.



The algorithm could be made very generic in terms of tie break and provide
for a cascading order or skipping a field entirely:

   - Field 1: Preference Weight


   - Optional Tie-break Method X: IP Address Field, Highest-IP
   - Optional Tie-break Method Y: IP Address Field, Lowest-IP
   - Optional Tie-break Method Z: Local-Policy ( see section 4.1(g) )


We could potentially mandate at least one MUST be provided and signaled
incl order of resolving tie-break?

Basically my point is that IP is unique but also an arbitrary Field to use,
many more *could* be better suited for tie-break dép. use-case.  There are
practical examples where *local policies* will affect weight but perhaps
that *local-policy itself serves as a tie-break*.

One could split the Reserved field of section 3 into 2 nibbles:
Tie-break-1, Tie-break-2 for mismatch detection, and this draft defines
"well-known values" IP-Hi=0 and IP-Lo=1 (leaving all others to
implementation-specific values (non-assigned) and ONLY for error detection.

Luc André Burdet | laburdet.ietf@gmail.com | +1 613 254 48 14
.:|:.:|:. Cisco Systems Canada Inc.


On Tue, Sep 1, 2020 at 1:25 AM Rabadan, Jorge (Nokia - US/Mountain View) <
jorge.rabadan@nokia.com> wrote:

> Hi Stephane,
>
>
>
> Please see in-line with [jorge2].
>
> Thank you!
>
> Jorge
>
>
>
> *From: *slitkows.ietf@gmail.com <slitkows.ietf@gmail.com>
> *Date: *Monday, August 31, 2020 at 11:49 AM
> *To: *Rabadan, Jorge (Nokia - US/Mountain View) <jorge.rabadan@nokia.com>,
> draft-ietf-bess-evpn-pref-df@ietf.org <
> draft-ietf-bess-evpn-pref-df@ietf.org>, bess-chairs@ietf.org <
> bess-chairs@ietf.org>, bess@ietf.org <bess@ietf.org>
> *Subject: *RE: Shepherd's Review of draft-ietf-bess-evpn-pref-df
>
> Hi Jorge,
>
>
>
> Please find additional feedback inline.
>
> (Stripping things we agree on)
>
>
>
> Stephane
>
>
>
>
>
> *From:* Rabadan, Jorge (Nokia - US/Mountain View) <jorge.rabadan@nokia.com>
>
> *Sent:* vendredi 19 juin 2020 20:37
> *To:* slitkows.ietf@gmail.com; draft-ietf-bess-evpn-pref-df@ietf.org;
> bess-chairs@ietf.org; bess@ietf.org
> *Subject:* Re: Shepherd's Review of draft-ietf-bess-evpn-pref-df
>
>
>
> Hi Stephane,
>
>
>
> Thanks for the review and my apologies for the delay.
>
> We just posted a new revision.
>
>
>
> As usual, very good points. Please see in-line.
>
>
>
> Thx
>
> Jorge
>
>
>
> *From: *"slitkows.ietf@gmail.com" <slitkows.ietf@gmail.com>
> *Date: *Wednesday, February 26, 2020 at 3:20 PM
> *To: *"draft-ietf-bess-evpn-pref-df@ietf.org" <
> draft-ietf-bess-evpn-pref-df@ietf.org>, 'BESS' <bess@ietf.org>
> *Cc: *"bess-chairs@ietf.org" <bess-chairs@ietf.org>
> *Subject: *Shepherd's Review of draft-ietf-bess-evpn-pref-df
> *Resent-From: *<alias-bounces@ietf.org>
> *Resent-To: *<jorge.rabadan@nokia.com>, <senthil.sathappan@nokia.com>, <
> prz@juniper.net>, <wlin@juniper.net>, <jdrake@juniper.net>, <
> sajassi@cisco.com>, <satyamoh@cisco.com>
> *Resent-Date: *Wednesday, February 26, 2020 at 3:20 PM
>
>
>
>
>
>
>
> Section 4.1:
>
>         “ Note that, by default, the Highest-Preference is chosen for each
>
>        ES or vES, however the ES configuration can be changed to the
>
>        Lowest-Preference algorithm as long as this option is consistent
>
>        in all the PEs in the ES.
>
> I don’t think it is a good idea to open this modification. People can play
> with preference values to achieve the required behavior while always
> keeping high pref.
>
> We have no way to ensure consistency, except if we advertise the behavior
> as part of the exct. Consistency of DF election is key and needs to be
> ensured as much as we can.
>
> *[Jorge] the idea is have the highest preference as default (maybe use
> normative language?), which means that it will work fine. Opening to lowest
> is to give more flexibility, knowing that if the user has to change the
> config from the default, they will do it in all the PEs of the ES.*
>
>
>
> [SLI] I don’t think this is a good idea, consistency is really important,
> if you absolutely want to do both lowest and highest, you can allocate a
> new DF Alg for lowest so we ensure that everybody uses the same algorithm.
> But I don’t think this is necessary, having highest preference is enough. I
> don’t remember any feature using a preference that can do both highest and
> lowest, it is usually one or the other.
>
>
>
>
>
> *[Jorge2] ok, we can leave just the highest-preference in section 4.1.
> We’ll fix it in the next revision. Note that in 4.2 we still need to have
> highest and lowest pref per ethernet tag range to make sure there is load
> balancing.*
>
>
>
>
>
>
>
>
>
>
>
> “When PE3's vES2 comes back up, PE3 will start a boot-timer (if
>
>        booting up) or hold-timer (if the port or EVC recovers).  That
>
>        timer will allow some time for PE3 to receive the ES routes from
>
>        PE1 and PE2. »
>
>
>
> Are you changing the way the DF election works ? Usually, PE advertises its route and then wait to receive other routes.
>
> *[Jorge] those timers are on top of the FSM defined in RFC8584, e.g. we need to give some extra time before the ES goes up and we advertise the ES route, if the ES is configured with the DP capability. This is because the advertised preference and DP values may not be the same as the configured ones, and the ‘in-use’ values will depend on the other ES routes in the ES. If we advertise the ES route immediately after the ES is up, we may not have received the other ES routes and we don’t know what “in-use” values to advertise in order to avoid preemption in the ES. I added some text on point 5 (section 4.3).*
>
>
>
>
>
> *[SLI] As we are updating the FSM, could we have new state and events defined to update the FSM similarly as we have in RFC8584 ?*
>
> *[jorge2] not sure if we should update the FSM, the reason being that
> those hold timers are generic for any redundancy mechanism, to avoid
> attracting traffic from the access before the core IGP/BGP are up and have
> all the required routes available. Some implementations use fixed timers,
> others configurable timers, others watch when the IGP/BGP come up and leave
> an additional delta. I thought the current text is generic enough to allow
> all those implementations.*
>
>
>
>
>
> What happens if all PEs on the ES are failing at the same time or the ES booting up on all the PEs at the same time ? you have no way to hear what is the pref from the remote.
>
> *[Jorge] The non-revertive capability makes sense when there is at least one PE alive in the ES and we don’t want to preempt it so that there is no traffic impact. If all the PEs fail, there is traffic impact anyway, so there is really no non-revertive behavior, but an initialization in all the PEs.*
>
>
>
> *[SLI] Let’s say that you have a CE attached to 3 PEs (same ESI). PE1 pref 100, PE2 pref 200, PE3 pref 300. PE1 to 3 are configured with DP set. PE4 is a remote PE.*
>
> *T0:CE fails and boots up.*
>
> *T1:PE1 to PE3 starts their HOLD_TIMER*
>
> *T2: PE1 HOLD_TIMER expires,  advertises ES route and starts DF_TIMER*
>
> *T3: PE4 discovers ES from PE1 and starts DF_TIMER*
>
> *[jorge2] I assume you mean PE3 here.*
>
> *T4: PE2 HOLD_TIMER expires,  advertises ES route and starts DF_TIMER, does it advertises with Pref100 and DP=0 as it knows from PE1 route even if PE1 is not DF yet ?*
>
> *[jorge2] this is an example in which all PEs are ‘initializing’ at the
> same time, so there is traffic impact anyway because the CE reboots. So it
> would be more like an initialization example. Nevertheless, PE2 in this
> case should advertise the ES route with in-use pref 100 and DP=0.*
>
>
>
>
>
>
>
> Brgds,
>
>
>
> Stephane
>
>
> _______________________________________________
> BESS mailing list
> BESS@ietf.org
> https://www.ietf.org/mailman/listinfo/bess
>