Re: [Rift] Discussion on draft-cheng-rift-srv6-extensions-01

Tony Przygienda <tonysietf@gmail.com> Wed, 02 August 2023 15:04 UTC

Return-Path: <tonysietf@gmail.com>
X-Original-To: rift@ietfa.amsl.com
Delivered-To: rift@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2A08DC15256B for <rift@ietfa.amsl.com>; Wed, 2 Aug 2023 08:04:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 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, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable 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 GXruI78G_MxQ for <rift@ietfa.amsl.com>; Wed, 2 Aug 2023 08:04:36 -0700 (PDT)
Received: from mail-vs1-xe2a.google.com (mail-vs1-xe2a.google.com [IPv6:2607:f8b0:4864:20::e2a]) (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 D2011C151709 for <rift@ietf.org>; Wed, 2 Aug 2023 08:04:36 -0700 (PDT)
Received: by mail-vs1-xe2a.google.com with SMTP id ada2fe7eead31-44757af136cso2599938137.3 for <rift@ietf.org>; Wed, 02 Aug 2023 08:04:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1690988676; x=1691593476; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=IyV/oyu/RoFcEAdK4Pe2tqVDjzIFvg+4xSLUo+9aWXI=; b=FECfioyGwEPH6QS6iRQlIK94GL3JeDfka0DG1lHBCIUKvqej5X+Pg492SKWOOGoNIU oxynncfcdhpXcUu/VbnauYVraN/PROSyk2Y+if4LZ7bltLGuLn4orZAr7BZdczIbWgmM FPDHPg4sSHDeg9r9o5aEyCKikBPCUM9qWkzznoe2DN9xwm3KiZd/yq1NZjy136TlQUk+ nlBG2GI+oLYrBTveIcO4Id2mVd4d4mRtqj++0J3ZOELNg2/NDS5U9U0lDJB/KF63TlZs YN7mzBMq7PQR+aTRtDev0hCPmNdIaSg+rMW7oT4U4YBiMGO0678rMWHXCCD55pFfuY7P Tj4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690988676; x=1691593476; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=IyV/oyu/RoFcEAdK4Pe2tqVDjzIFvg+4xSLUo+9aWXI=; b=EjI3IMdstDEmEo9p6RvLmdQl2ITW+3bBB82spaiOyDy3xQsrxx6+tnl6WlGqTwEehz WeF8FdFtn/U4ZaT5x4snW2433K+VhG60KKYQPwswzxbrD8bM4XxogUSCwHmvioPhN9AZ WIrrNvgjZWze5DEbCzTFA4i7LM8OnyWGEtPsh/2UphGtaui+9RxOBEj7TPLFMnx12ZyF aWQ3xYdEBgPbGMMx7uSB7r6pEFVtetOZAncwYsP6gczEN3jCAbB2W7kN1deW61HGjAsy ToK3FC5M/p9LdEYicItTcu3SCyHhwADtwdlYhTJS4chFYkC+2z8wbZ+tEGwRolXlIGO2 AZFA==
X-Gm-Message-State: AOJu0YzKO2n9aCaKcmmT2X235+hTkU0lDyMOpZdpR2qiczjn1x9JVS8e Vp3JPhnB5OilW9bLPXv6wVq/K8U2e+koD4JxGtgTN5rkeKA=
X-Google-Smtp-Source: AGHT+IHWX6EPtSH7m1iDWIStTEfTbDsr2we6C7N8WKVdKhGdD+r+/rpnfEn68ZTXfq3d7Eb0jjwX/NBgegSpUwDe3NQ=
X-Received: by 2002:a67:ec05:0:b0:447:bf09:87a0 with SMTP id d5-20020a67ec05000000b00447bf0987a0mr872664vso.1.1690988675853; Wed, 02 Aug 2023 08:04:35 -0700 (PDT)
MIME-Version: 1.0
References: <BL0PR05MB536297D978D1C8A91EB9AEEDB605A@BL0PR05MB5362.namprd05.prod.outlook.com> <CA+wi2hNhpGVsGyhWDAOmtNwYKLM_O1sF9R6LT-MBY5tZZRywkA@mail.gmail.com>
In-Reply-To: <CA+wi2hNhpGVsGyhWDAOmtNwYKLM_O1sF9R6LT-MBY5tZZRywkA@mail.gmail.com>
From: Tony Przygienda <tonysietf@gmail.com>
Date: Wed, 02 Aug 2023 17:03:59 +0200
Message-ID: <CA+wi2hMeAcL=6LZu1o_pC+a53UnuL9cko7DCzSi+QSfebcfTzw@mail.gmail.com>
To: Jordan Head <jhead=40juniper.net@dmarc.ietf.org>
Cc: "rift@ietf.org" <rift@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000057f2040601f1fb2b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rift/8ofrnF7gwh9imiVsuezNefZagSA>
Subject: Re: [Rift] Discussion on draft-cheng-rift-srv6-extensions-01
X-BeenThere: rift@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Discussion of Routing in Fat Trees <rift.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rift>, <mailto:rift-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rift/>
List-Post: <mailto:rift@ietf.org>
List-Help: <mailto:rift-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rift>, <mailto:rift-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 Aug 2023 15:04:39 -0000

actuaqlly, not all that easy, in rift draft we have to change the KeyIDType
but that's fairly trivial, something like

struct {
   required u8 type;
   required binary key;

}

and rev major version of rift schema encoding last time ;-)

that's used in a map but thrift being a proper IDL allows for that no
problem ;-)

-- tony

On Wed, Aug 2, 2023 at 4:34 PM Tony Przygienda <tonysietf@gmail.com> wrote:

> very fair summary here. Easiest support will be by adding a key type that
> has a longer key basically allowing to put targeted system ID into it. So
> something like this
>
>  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
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> |       X       |             Prefix Key Identifier             |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
> |        Targeted   System ID                                   |
> +---------------------------------------------------------------+
>
>
> and define for this key type that the targeted system ID is integral part of key comparison _and_ can be used to filter southbound.
>
>
> Variants with bloom filter are also thinkable.
>
>
> This leads us into an interesting corner where we have variable key lengths on the KV store and hence nodes not implementing X would tie-break on 3 bytes only.
>
>
> I'm not even against radical reword of the KV registry draft where we do the following
>  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
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> |       2       |   Key Length  |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> |                               Well-Known Key Identifier.      |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
> which will make us future proof, i.e. nodes not implementing a KV key can always compare the key, no matter how complex
>
> or even indicate that there is a targeted system ID in southbound KV that can be filtered on and all 0s is basically "anyone" though I think this is superfluous. Nodes not understasnding the key type will flood to all southbound and anyone understanding it will filter
>
> bear discussion since this draft is independent of rift which describes tie breaking in generic sense only so rift rfc should be able to progress ahead
>
> -- tony
>
>
> On Wed, Aug 2, 2023 at 2:36 PM Jordan Head <jhead=
> 40juniper.net@dmarc.ietf.org> wrote:
>
>> All,
>>
>>
>>
>> I think we had quite a meaningful discussion during the meeting in San
>> Francisco last week. I’ve compiled the main points regarding
>> https://datatracker.ietf.org/doc/draft-cheng-rift-srv6-extensions/01/
>> and how we can perhaps find a more generic mechanism to solve what is
>> outlined in the draft as well as other similar problems.
>>
>>
>>
>>
>>
>>    1. First a quick side note. There is no need for new
>>    negative/positive TIEs for SIDs, after all they are just IPv6 prefixes and
>>    they will be handled by existing disaggregation functions. To indicate
>>    relevance to SR, we can simply tag those prefixes as a “SID” using prefix
>>    attributes (similar to how we tag if a prefixes metric (distance)).
>>
>>
>>
>>    1. This problem is similar to the one we have with performing
>>    distributed derivation of IPv4 loopback addresses in
>>    https://datatracker.ietf.org/doc/draft-head-rift-auto-fr/ in that
>>    there are simply not enough bits to avoid collisions.
>>
>>
>>
>>    1. Putting the configuration for all nodes in the fabric into the
>>    same Key-Value TIE won't work either. You'll exceed the MTU and end up with
>>    issues that cannot be managed by most silicon (i.e. commodity silicon).
>>    While RIFT does allow fragmentation to some degree, this will still not
>>    scale. Things need to be broken into reasonable pieces, e.g. System ID.
>>    However, since the Key-Value TIEs reserve 1 byte to indicate Well-Known and
>>    only an additional 3 bytes to hash and encode the System ID into. This
>>    isn't enough space and you'll end up with collisions and Southbound TIE
>>    breaking rules will eventually cause information to be thrown away.
>>
>>
>>
>> Ultimately, we can add new tie breaking rules. Which could be indicated
>> via a new well-known Key-Type, new code point entirely, or a new TIE type.
>> The result being that we tie break on System ID southbound (as northbound
>> would be pointless) and allow for targeted KV-TIE distribution.
>>
>>
>>
>> This assumes that every leaf node DOES NOT need to know about every other
>> leaf. If that is the goal, it's better to just create an over the top
>> tunnel and push information directly from the controller/ToF to the leaf,
>> no IGP would be capable of handling it at scale.
>>
>>
>>
>>
>>
>> This e-mail should serve as a starting point for more detailed
>> discussion, so additional observations are very much welcome.
>>
>>
>>
>> Thank you
>>
>> Jordan
>>
>>
>>
>>
>>
>> Juniper Business Use Only
>> _______________________________________________
>> RIFT mailing list
>> RIFT@ietf.org
>> https://www.ietf.org/mailman/listinfo/rift
>>
>