Re: [lisp] John Scudder's Discuss on draft-ietf-lisp-6834bis-12: (with DISCUSS and COMMENT)

Dino Farinacci <farinacci@gmail.com> Fri, 03 June 2022 20:35 UTC

Return-Path: <farinacci@gmail.com>
X-Original-To: lisp@ietfa.amsl.com
Delivered-To: lisp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 067C9C14F74C; Fri, 3 Jun 2022 13:35:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.109
X-Spam-Level:
X-Spam-Status: No, score=-7.109 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, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] 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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NZZHxsN2MD9W; Fri, 3 Jun 2022 13:35:50 -0700 (PDT)
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 79027C14F745; Fri, 3 Jun 2022 13:35:50 -0700 (PDT)
Received: by mail-pj1-x102c.google.com with SMTP id l20-20020a17090a409400b001dd2a9d555bso7964546pjg.0; Fri, 03 Jun 2022 13:35:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=uJjjkCyAcueuU0H3X/7C0R5hTqhWwub9mFlwLMcxvDo=; b=Gf2A10taII+bZ3ZNTH9djk15vyKJlhf48HR1NmR/b1nxQqtZu3htynAXKLF+ZIgZxc Y3ti02Qbt0yWlKqXv/5123+WlJ1R5+5mBQP9vLn51c/JFZQ5Z+8Aboj2LE235ueFSHQ4 zoNkg5HPKLks5SdOc4ziwESc67woj+85MhQn5oTsybeMlRZanlhL6yWyt0yrjU1dojin XtAqiHtFl7w37qSvz/IxjsXOiY6vTeqTAGT6/wnIvo8JZe01Fybn/Dl7l+io3z0GSkzr /sL3+E5R0zLEofq8vRGEYEP7WlmesKVoUqxo/QoXTtngko0v4ZFZKdSKc0Loi7G+RBhW MdEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=uJjjkCyAcueuU0H3X/7C0R5hTqhWwub9mFlwLMcxvDo=; b=gNHg9JOsnpz22b5zaL/xoycR8Tkebmwu+LvuENwM1SkjNt7moN2E7YIXp8O7easkc1 13wcP81+3v78fbuvDFRrVvQqxu5/n+i1Ix1y/JfVpWpbmrhzgzvhNuQ9GOBp2LHOL/GL PDpa1uTifZBVbLoazq+RWzgCfgsRyLaYlmauNd/Bd7i+FMus1ECKD7cxr4DcV0hF25e7 7lno20qURKbEnbWx7GsjT2VqOTwxVyIZl5yWv9v4XZqUa7mXBVpWGu+AygLfgbuN+cIb WqTpDJVkAAVPPi10msQb7BSpL7Ffwn7cx7qpUnRSFs5gcB/dmL8Oo3DqGp/b81zTyD2f cPAw==
X-Gm-Message-State: AOAM533SYyJadmWV+bvIeRjKpkux2PoaFdWW2A9foXodebHhCFv1HASg epUfS1VJSfnlPVpzFPwU9CE=
X-Google-Smtp-Source: ABdhPJz7fbYCbcXWA0w/gAfVhlMQZOqfc8/QMEUC+dd+x7PbED5V3iZ4rl4XiQwSsm8voJUbVdPWaw==
X-Received: by 2002:a17:902:8ecb:b0:162:bc8:9361 with SMTP id x11-20020a1709028ecb00b001620bc89361mr11902695plo.25.1654288549400; Fri, 03 Jun 2022 13:35:49 -0700 (PDT)
Received: from smtpclient.apple (c-98-234-33-188.hsd1.ca.comcast.net. [98.234.33.188]) by smtp.gmail.com with ESMTPSA id u11-20020a63d34b000000b003c14af505f6sm5811703pgi.14.2022.06.03.13.35.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 03 Jun 2022 13:35:48 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\))
From: Dino Farinacci <farinacci@gmail.com>
In-Reply-To: <06568937-5D7B-43C4-94E2-78AF432868E9@juniper.net>
Date: Fri, 03 Jun 2022 13:35:47 -0700
Cc: Luigi Iannone <ggx@gigix.net>, "draft-ietf-lisp-6834bis@ietf.org" <draft-ietf-lisp-6834bis@ietf.org>, "lisp@ietf.org" <lisp@ietf.org>, The IESG <iesg@ietf.org>, "lisp-chairs@ietf.org" <lisp-chairs@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <1DB59FA2-AD44-4668-8918-8317CD422230@gmail.com>
References: <165411318509.23504.13233598973370234352@ietfa.amsl.com> <1D126FD8-B83A-48D0-B473-F9B13306DAEE@gigix.net> <A77AE04E-1258-444C-B204-865A8EA20DB6@juniper.net> <004D4FDB-5A29-4BF8-9B15-84A54CAC68E6@gmail.com> <06568937-5D7B-43C4-94E2-78AF432868E9@juniper.net>
To: John Scudder <jgs@juniper.net>
X-Mailer: Apple Mail (2.3696.80.82.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lisp/2r0K60d00ysiZBnQ9HffIA6E9ng>
Subject: Re: [lisp] John Scudder's Discuss on draft-ietf-lisp-6834bis-12: (with DISCUSS and COMMENT)
X-BeenThere: lisp@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: List for the discussion of the Locator/ID Separation Protocol <lisp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lisp>, <mailto:lisp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lisp/>
List-Post: <mailto:lisp@ietf.org>
List-Help: <mailto:lisp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lisp>, <mailto:lisp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 03 Jun 2022 20:35:51 -0000

> Hi Dino,
> 
> Thanks for your comments. Let’s look at them in the context of the Map-Versioning draft this thread is about — 

Thank you for your extensive comments on the draft. The working group thanks you as well.

> 
>> On Jun 2, 2022, at 6:14 PM, Dino Farinacci <farinacci@gmail.com> wrote:
>> 
>> 
>>> I thought it was clear but let me restate. I’ll use an example since the first attempt wasn’t clear.
>>> 
>>> - Suppose an ETR E gets packet P, which dest map-version N.
>>> - Suppose N is “greater than” the current map-version at the ETR.
>>> - According to the spec, E silently discards P.
>>> - I’m wondering if E could forward P according to its local mapping.
>>> - Note that E would not generate a SMR.
> 
> I guess the section that relates to my example would be 7.1, "Handling Destination Map-Version Number”.

Yes, and in this context the destination Map-Version is the one that the destination assigns and increments, meaning the ETR.

> 
>> There are a couple of issues with the description of this scenario. The ITR with a version N map-cache entry encapsulates to the ETR. The ETR doesn't necessarily have a map-cache entry
> 
> AFAICT all the text in Map-Versioning relates to ETRs that do have map-cache entries. I assume (but 

Terminology level-set. A map-cache lives in an ITR. A mapping lives and is registered by an ETR. Mappings are stored in the mapping system and when ITR's resolve EIDs, they put the mappings in their map-cache. That is the authoriative definition from 6830bis/6833bis.

> haven’t checked) that the base spec must already say what to do in the other case. I think in the context of §7.1 there’s a map-cache entry:
> 
>   When an ETR receives a packet, the Dest Map-Version number relates to
>   the mapping for the destination EID for which the ETR is an RLOC.
> 
> Or is there a way for the ETR to be an RLOC for the destination EID but yet not have a map-cache entry for it?

See above.

> (because it is not encapsulated, it is decapsulating).
>> 
>> If the ETR is registering the EID with an older version number, it means it could have been idled. But if this is the case, the implementation should not register anymore (a mis-implementation of a deconfiguration event).
> 
> Clearly if the packet has a map-version number in the future of what the ETR has, *something* is wrong, yes. Could be what you said, could be something else.
> 
>>> Benefits:
>>> + user traffic gets delivered.
>> 
>> If this ETR is not in the RLOC-set, and the ITR is currently out of date, and therefore is encapsulating to this ETR, the ETR should not forward the packet. It is likely the EID moved and hence this ETR is no longer the RLOC for it. So likely, the packet would be forwarded into a black hole.
> 
> … and if that were the case, it would be better for the network and no worse for the user if the ETR drops the packet outright, ok.

Right.

> 
>>> Drawbacks:
>>> - lack of delivery can be a (very crude!) signal to the user that something is wrong, so maybe the problem would be less likely to be fixed.
>>> - ?
>> 
>> The SMR should be sent
> 
> The Map-Version draft says the opposite, that the SMR should *not* be sent:
> 
>   2.  The packet arrives with a Dest Map-Version number newer (as
>       defined in Section 6) than the one stored in the EID-to-RLOC
>       Database.  Since the ETR is authoritative on the mapping, meaning
>       that the Map-Version number of its mapping is the correct one,
>       this implies that someone is not behaving correctly with respect
>       to the specifications.  In this case, the packet carries a
>       version number that is not valid and packet MUST be silently
>       dropped.
> 
> (If an SMR were sent that wouldn’t be “silent”.)

In the EID-mobility draft, we have something called "data-driven SMRs". They happen if Map-Versioning is in use or not. And we made it a configuraiton parameter if they should be sent. And if so, carefully rated-limited (in total and per EID).

And the text above IS correct. Note that ITRs also RLOC-probe ETRs (the ones they have cached in their map-cache) so they can find out the latest destination version-number from the control-plane as well. So one would argue that you can drop packets silently between RLOC-probes just in case the ITR has old RLOC-set data.

So I wouldn't want to change the above text.

> 
>> because the ETR is indicating to the ITR "dude, why are you sending traffic to me". And this typically happens when the EID moves, the ITR DOES HAVE an updated mapping but there is a train of packets in the network. The drops by the ETR, in a sense, "drain out the network".
> 
> I get that if the EID has moved away from the ETR then forwarding the packet would be futile. But in that case wouldn’t the ETR be in a different state as you describe earlier — it would have no relevant map-cache entry?

It has no relevant mapping entry, correct.

> 
>> I have found in practice, that ITRs get SMRs and look at their map-cache and don't find the source of the SMR in the RLOC-set, so it simply drops the SMR beliving the ETR is catching up on draining.
>> 
>> Dino
> 
> —John

Note, it may be subtle but having different terms is really important. A map-cache entry is an entry that is more temporal than a mapping entry. The former is cached from a lookup and the latter is configured (or discovered ala draft-ietf-lisp-eid-mobiligy) and has longer lifetime.

Dino