[Idr] Re: draft-decraene-idr-nlri-error-handling-00.txt

Robert Raszuk <robert@raszuk.net> Tue, 21 October 2025 16:14 UTC

Return-Path: <robert@raszuk.net>
X-Original-To: idr@mail2.ietf.org
Delivered-To: idr@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 94BC079A0DDD for <idr@mail2.ietf.org>; Tue, 21 Oct 2025 09:14:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=raszuk.net
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id f31EZohZF4ig for <idr@mail2.ietf.org>; Tue, 21 Oct 2025 09:14:29 -0700 (PDT)
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id C23F379A0DBE for <idr@ietf.org>; Tue, 21 Oct 2025 09:14:28 -0700 (PDT)
Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-63c2d72581fso7258808a12.0 for <idr@ietf.org>; Tue, 21 Oct 2025 09:14:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raszuk.net; s=google; t=1761063268; x=1761668068; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1JyAy3by0IYGH2o8zskyUbvIm5CTPKWx5cplr8qrOVA=; b=Map1MQemNpi8EWVDBpQBT3rjfP3x24PBkXn+6rtE6x5jLEUUzI8GLVUofQpT2JM+MR U/JYRYNB7Tahl0OWHrjOCuZLjk5JkJo6viOLZ4DARDd7dw8W/giev533cODh/JfE+iZM 1zSIucLGsedeWJ8M88HaxOyJri7HOa25utfu1JMObYnM0t9Q9NvN/Qbx3y8aVQCKkmkg n/EKKoYO+Gq+j2xgMiiS7GyHnJhh9UC48N6L2m67zYR1NjX2uBABiRFtpgOohIN0c8aX 3gTa0JSgWKjLPRsF4z/tUARosv5Ja6Bv7EyWVP4bd+t0Df27/OPqL5QTD3kLvutG3Py4 j1HQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761063268; x=1761668068; 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=1JyAy3by0IYGH2o8zskyUbvIm5CTPKWx5cplr8qrOVA=; b=gGIk7OllXtJ/1N31iSbS8Y7YIDOeWnDiVK+3As0yi7IcOXC8fgXBBAsWCAmeuwEfSq WCyMqlGO34BPPzlZeK7WaZWqHQq0d5zlLOmuOQFRb511A4Ui6qR5VA2Qgzs0UWZg/yeg O5PlwIfJ0wcxzZuEsOzYVvgkwUt0Chp4wIAKlb+aqmxRxpASCSpM0RP6WwbJ6KA4BZaj CUHZdo9BTEGqB5uvye5jkAOxPjaCJ+w2NOw5wa87ZYi3cHueIbLlvMXEcSslmxPm8XiI 2TFQACYNw8qqA5rD+l3RqAj2u9ggDOqAsSV31TEDjAEWbaPuYr322if76Msq3XDDGcJH m0wQ==
X-Forwarded-Encrypted: i=1; AJvYcCVVOADM7CpOVDdcNce5jdkowDMQTPre119NZwvJ33kAciM9sxPUO2zPOqsiwVD+kJYGk+M=@ietf.org
X-Gm-Message-State: AOJu0Yzfc5QHGWbF6FrDTuIVxlqYctpWRU02JishT5JtpE72FbcmDoJe YXS2p1JmqlPVP5pzwHN54rtagoNPuMkxetn3Aydg6uUbB3a2fQG3DT/1F4f2muw0+CKLXRmlwBx tqeHRv9s/w1ktmwIYmeetiPbBdVZXwjeaVDhxLzgNXFH/7erjcTKHvtg=
X-Gm-Gg: ASbGnct7qPXIbtAtP38X2gmJrAFec7MDNI4q4HgcKhUI9/KP4Cn0G1iRqrPwXyqMuCK NuiK4l3f0RUuDSjrk8dDd3JdxfFpEJC/5jrJeOCWuLebzfjG91F274kwnk9FcZuV2ANrjfhTZee 4wgBAA50XpBu44oRXwGxd+RkZBXEDhXEqHvZ2c0BUbruvfWb9grIGVydhow9HyLyI/5Rti0vzIV Gg7mcDz627RowvSy/rPTRt7wzuEl4qlSsU5rpbF6EGfylUtMttBH3hprPL2bI7A/XP1NZQ=
X-Google-Smtp-Source: AGHT+IGJ1dXsNuJpxHLfjmMSlInVuMqGEgbATNNvxUwAcp4ohe+X38GQBxqNdWAMd3+KPMB8FLxf3K5p6PcoxaRa3bA=
X-Received: by 2002:a05:6402:2743:b0:63b:f909:df50 with SMTP id 4fb4d7f45d1cf-63c1f678160mr16711064a12.14.1761063267160; Tue, 21 Oct 2025 09:14:27 -0700 (PDT)
MIME-Version: 1.0
References: <176053803383.1109285.4613858825382469856@dt-datatracker-84f8f646b-tg6mn> <MR1P264MB4354CE655479696D589F8050F0E8A@MR1P264MB4354.FRAP264.PROD.OUTLOOK.COM> <CAPF+HwVb_Mb9C79SfVtTP=rxMjNK8CTEKOAFsXbx__8FwJ+RLw@mail.gmail.com> <AB42F105-6FD2-40C6-88DB-FDD33EF8A9BA@juniper.net> <CAPF+HwX_D5_Y88MQrerY+bPRY_V4QB=LG7nZY75skzntfT0G2g@mail.gmail.com> <F93E64FE-DE2C-47C6-B69F-267A69503140@juniper.net> <CAPF+HwX9VVNk26E-6NFphy-FV6vtyDkVBFQNPdghGw4yJCudfw@mail.gmail.com> <5656EE4B-764B-46EF-BE6A-7D2E657DDA6F@juniper.net> <CAOj+MMFT3qOENbcJ5Ctp9PQxhsrgzPM852_sOZTUWq83kZqZ6g@mail.gmail.com> <MR1P264MB4354DE951D947A766EDBFE8FF0F6A@MR1P264MB4354.FRAP264.PROD.OUTLOOK.COM> <CAOj+MMGypHqRt5OHWW62P-_PEiGhAJ0DHNA33WNT2ZwUoN5-tg@mail.gmail.com> <MR1P264MB4354ECB1758B24F266A622ECF0F5A@MR1P264MB4354.FRAP264.PROD.OUTLOOK.COM> <CAOj+MMH1UaNQrVmJ5y_ACoJZU-+MT6_BF8R3PvUXK_474ub5jQ@mail.gmail.com> <MR1P264MB435468CB62F71469C07A05C1F0F2A@MR1P264MB4354.FRAP264.PROD.OUTLOOK.COM>
In-Reply-To: <MR1P264MB435468CB62F71469C07A05C1F0F2A@MR1P264MB4354.FRAP264.PROD.OUTLOOK.COM>
From: Robert Raszuk <robert@raszuk.net>
Date: Tue, 21 Oct 2025 18:14:15 +0200
X-Gm-Features: AS18NWDJLOBrUROB3UZh0VSYXoBfjXHoHPshcGgWhIUPhJWa0PwQUzjb6k07Go0
Message-ID: <CAOj+MMFRtRqaRLM2LeN91MESju0_fsCTwTM=Q8NOVcjpqarZbg@mail.gmail.com>
To: bruno.decraene@orange.com
Content-Type: multipart/alternative; boundary="00000000000077622d0641ad7e96"
Message-ID-Hash: BAQ4UZW5WIJKCUZEDYOBASIHKWNORZNM
X-Message-ID-Hash: BAQ4UZW5WIJKCUZEDYOBASIHKWNORZNM
X-MailFrom: robert@raszuk.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-idr.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: idr <idr@ietf.org>, "draft-decraene-idr-nlri-error-handling@ietf.org" <draft-decraene-idr-nlri-error-handling@ietf.org>, John Scudder <jgs=40juniper.net@dmarc.ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Idr] Re: draft-decraene-idr-nlri-error-handling-00.txt
List-Id: Inter-Domain Routing <idr.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/i_panbf1GHkRA_P7OsfKYondiyA>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Owner: <mailto:idr-owner@ietf.org>
List-Post: <mailto:idr@ietf.org>
List-Subscribe: <mailto:idr-join@ietf.org>
List-Unsubscribe: <mailto:idr-leave@ietf.org>

Hi Bruno,

> I’m a bit reluctant to use your proposal to define “key” as the data
placed in MP_UNREACH_NLRI, because Label NLRI do not use that.

But you are already doing that in your draft .. just between lines :)

Also I am not sure I understand this in this context: " because Label NLRI
do not use that"

> “The NLRI key is the part of the NLRI which is used to identify and
distinguish between each individual route in the BGP RIB”

That to me seems way too broad and very much implementation dependent.

Cheers,
R.


On Tue, Oct 21, 2025 at 5:35 PM <bruno.decraene@orange.com> wrote:

> Hi Robert,
>
>
>
> Thanks for the feedback.
>
>
>
> I agree with you : I would have loved to be able to reference the
> definition of NLRI-key and NLRI-non-key-data. But I haven’t found one,
> although clearly some existing AFI/SAFIs use that.
>
> BGP CAR has some text specific to the BGP CAR address family
>
> https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-car-16#section-2.1
>
>
>
> NLRI Key: Falls into two categories, to accommodate the use-cases
> described in the introduction:
>
> -  Type-1: Key is IP Prefix and Color (E, C). Color in NLRI key
> distinguishes a color-aware route for a common IP prefix, one per intent.
> Color also indicates the intent associated with the route.
>
> - Type-2: Key is IP Prefix (E). The unique IP prefix assigned for an
> intent (i.e, IP Prefix == Intent or Color) distinguishes the color-aware
> route. Color is not needed in NLRI key as a distinguisher.
>
>
>
> NLRI non-key encapsulation data: Data such as MPLS label stack, Label
> Index and SRv6 SID list associated with NLRI. Contained in TLVs as
> described in Section 2.9.2
> <https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-car-16#NLRITLVs>
>
>
>
> Somehow that was good enough at the time for the WG and the IESG, but now
> this fall on us to define it 😉
>
>
>
> I’m a bit reluctant to use your proposal to define “key” as the data
> placed in MP_UNREACH_NLRI, because Label NLRI do not use that.
>
> I though “key” for database was well-know, but it’s relatively fair to ask
> for clarity.
>
>
>
> Using Wikipedia as an input, I’d propose something along: “The NLRI key is
> the part of the NLRI which is used to identify and distinguish between each
> individual route in the BGP RIB”. Followed by examples, typically
> referencing BGP CAR.
>
> I’m pretty sure someone will be able to propose something better.
>
>
>
> Thanks,
>
> --Bruno
>
>
>
> *From:* Robert Raszuk <robert@raszuk.net>
> *Sent:* Monday, October 20, 2025 6:20 PM
> *To:* DECRAENE Bruno INNOV/NET <bruno.decraene@orange.com>
> *Cc:* Donatas Abraitis <donatas.abraitis@gmail.com>; idr <idr@ietf.org>;
> draft-decraene-idr-nlri-error-handling@ietf.org; John Scudder <jgs=
> 40juniper.net@dmarc.ietf.org>
> *Subject:* Re: [Idr] Re: draft-decraene-idr-nlri-error-handling-00.txt
>
>
>
> Hi Bruno,
>
>
>
> Proposed text is a good one - does help to add a few stones on the
> positive side of the weight of the draft.
>
>
>
> My only concern with it is that you keep using a notion of key in
> correspondence to documents which do not define them explicitly. Neither
> RFC8277 nor CT draft define key - even if they are defining MP_UNREACH_NLRI
> attributes in some form or shape.
>
>
>
> Therefore I would strongly advise that if you want to keep using the key
> vs non-key  nomenclature you should up fronty define what are key vs
> non-key parts of NLRIs. It could be as simple as saying:
>
>
>
> *NLRIs in some address families consist of key and non-key data. What this
> document considers as key data and what is expected to be placed into TAW
> attribute is what corresponding address families select from NLRI and place
> into MP_UNREACH_NLRI attributes today. What is not expected to be found in
> MP_UNREACH_NLRIs in this document we define as non-key data of the
> NLRI(s). *
>
>
>
> Thx,
>
> R.
>
>
>
> On Mon, Oct 20, 2025 at 5:31 PM <bruno.decraene@orange.com> wrote:
>
> Hi Robert,
>
>
>
> *From:* Robert Raszuk <robert@raszuk.net>
> *Sent:* Friday, October 17, 2025 7:56 PM
>
> Hi Bruno,
>
>
>
> Ok I get your point that the issue may be on the receiver and not on the
> sender in parsing MP_REACH_NLRI. Indeed I was mainly talking about the
> issue on the sender side, badly composing the MP_REACH_NLRIs.
>
>
>
> Ack. Thanks for the clarification.
>
>
>
> Btw are you advocating to be sending TAW for all AFI/SAFIs ? Even those
> which do not contain next hop as part of MP_REACH ? If so what would be the
> rationale for doing such MP_REACH duplication ?
>
>
>
> One is free to use it when one wants, on a per AFI or even a per BGP
> UPDATE if needed.
>
> Current version of the draft (local version, not yet published) has the
> following “applicability” text
>
>
>
> The NLRI_KEY_LIST attribute is generally useful as its encoding is simpler
> than the encoding of the MP_REACH_NLRI, hence it maximizes the chances of
> handling an error in the MP_REACH_NLRI attribute using the
> treat-as-withdraw approach.
>
> In particular the NLRI_KEY_LIST attribute does not carry the variable
> length "Network Address of Next Hop" field nor the "Length of Next Hop
> Network Address" which, if erroneous, trigger a BGP session reset as per
> {{RFC7606}}.
>
> It is specifically useful for AFI/SAFI carrying non-key data in the NLRI
> such as {{RFC8277}}, {{I-D.ietf-idr-bgp-car}}, and {{I-D.ietf-idr-bgp-ct}}
> as these NLRI are longer and more complex, hence have a higher probability
> of error. In addition, in case of error, they have a lower probability of
> being able to parse the full list of NLRIs.
>
> It is less useful when the NLRI encoding is the same for MP_REACH_NLRI and
> MP_UNREACH_NLRI.
>
>
>
> Comments welcomed.
>
>
>
> As for myself, I think I would use it a priori for AFI/SAFI carrying a
> (significant) non-key data, especially for infrastructure routes which are
> critical, and with lower route scale (number of routes and number of
> updates/instability). E.g., BGP CAR, BGP CT, BGP LU. In particular if they
> are recent or known to have issues.
>
> And a posteriori for an AFI/SAFI which triggered an impactful session
> reset which could have been better handled by this proposal.
>
> My 2 cents.
>
>
>
> Thanks,
>
> --Bruno
>
>
>
> Example RFC8955.
>
>
>
> Thx,
>
> R.
>
>
>
>
>
>
>
> On Fri, Oct 17, 2025 at 3:38 PM <bruno.decraene@orange.com> wrote:
>
> Hi Robert,
>
>
>
> *From:* Robert Raszuk <robert@raszuk.net>
> *Sent:* Friday, October 17, 2025 12:32 AM
> *To:* John Scudder <jgs=40juniper.net@dmarc.ietf.org>
> *Cc:* Donatas Abraitis <donatas.abraitis@gmail.com>; DECRAENE Bruno
> INNOV/NET <bruno.decraene@orange.com>; idr <idr@ietf.org>;
> draft-decraene-idr-nlri-error-handling@ietf.org
> *Subject:* Re: [Idr] Re: draft-decraene-idr-nlri-error-handling-00.txt
>
>
>
> Hi John,
>
>
>
> So in your example you are pointing out that the sender can not
> correctly encode the next hop in the MP_REACH.
>
>
>
> Well sorry to say but this to me is good enough of a reason to drop a
> session with such a sender ASAP.
>
>
>
> Note that you and Bruno are taking a very myopic view on the network.
>
>
>
> [Bruno] Thanks ( 😉 )
>
>
>
> You think that dropping the session is a disaster and that it always
> impacts customers given the network is serving.
>
>
>
> [Bruno] No. I’m saying that dropping the session does sometimes impact
> customers. Sometimes a very large base.
>
> I’m assuming that you see the difference between both assertions.
>
>
>
> Well this is IMO quite wrong conclusion.
>
>
>
> Properly constructed network is usually not a single vendor shop and
> control plane information - especially BGP - is distributed over different
> vendor control plane nodes with multiple sessions in place. Hence you
> should have more than one way of getting your BGP overlay information
> between egress and ingress nodes to your domain.
>
>
>
> [Bruno] How does that help?
>
> You are considering one assumption: the BGP error I due to your BGP peer.
> (so a diverse one will help).
>
> There are other assumptions. E.g. the BGP update is valid and the receiver
> believes there is an error. E.g. A BGP LU route is advertised with a label
> stack of more than one label. The one seeing the error is the ingress node.
> Having diverse signaling does not help.
>
>
>
>
>
> With that bigger picture in mind please notice that dropping a single BGP
> session in the vast majority of modern implementations usually has zero
> (well cost of local pointer switch so single ms) negative effect on the
> data plane and on the customer transit/services offered.
>
>
>
> [Bruno] Again, I think you are considering a subset of the cases. See
> above.
>
>
>
> I think we need to take a look from this angle as well when considering
> adoption or not of this proposal.
>
>
>
> [Bruno] Let’s take a look from all angles. Not just “this angle”.
>
>
>
> We could discuss error handling considerations, but this is a large and
> complex topic, with different points of views. Usually tradeoffs are
> involved, so there is no easy answer (and whatever the choice taken, this
> can backfire)
>
>
>
> Example of two points of view:
>
> 1.      Box/BGP session centric: I’m receiving a wrong message. What a
> pathetic implementation is running  on my neighbor! Hopefully, I’m a smart
> implementation and  _*I*_ detected the error. Since the neighbor
> implementation is bad, and I can’t trust that session, let’s kill it. (the
> session)
>
> 2.      Global network centric. I’m receiving a wrong message. As a first
> reaction, I could indeed shut down that session (since a not so myopic
> operator probably configured redundant sessions with redundant codes, and
> the not so myopic customer is dual homed to another PE). But thinking a bit
> more: what makes me think that my redundant session will not receive the
> same message? That the redundant PE will not receive the same message? That
> all PE will not receive the same message (it’s an IBGP session, so even if
> it’s not a link state IGP, it’s likely a goal to simulate a full mesh where
> everyone receives all routes (with same attribute)). With this is mind, if
> I take the decision to shut down that session, all other PEs may equally
> take the same decision. Is that really such a smart move?
>
> On top of that, the incorrect message may come from an attacker. In such
> case, taking an action which increases the scope or consequences is
> debatable as it gives the attacker a bigger attack vector. Better try to
> ignore or minimize (even just creating local states, consuming/leaking
> memory… may be exploited).
>
>
>
>
>
> Hopefully, I’ve shared a different angle. Even if not, I hope it’s clear
> that I’ve not been convinced by your arguments to support your claim that
> [John and I]  “are taking a very myopic view on the network”
>
>
>
> Kind regards,
>
> --Bruno
>
>
>
>
>
> Kind regards,
>
> Robert
>
>
>
> On Thu, Oct 16, 2025 at 5:59 PM John Scudder <jgs=
> 40juniper.net@dmarc.ietf.org> wrote:
>
> Hi Donatas,
>
>
>
> If the MP_REACH_NLRI is fine, we do nothing with the TAW and process the
> MP_REACH_NLRI as normal.
>
>
>
> If, during processing of the MP_REACH_NLRI, we discover an error [1], then
> we extract the keys from the TAW and use them to drive treat-as-withdraw
> behavior [2], instead of resetting the session as RFC 7606 tells us to.
>
>
>
> In reviewing RFC 7606 just now, I see we can construct a rather
> straightforward example of a malformation that would be overcome by TAW.
> Let’s use Bruno’s diagrams, and fill in some of the fields:
>
>
>
> Multiprotocol Reachable NLRI - MP_REACH_NLRI (Type Code 14)
>
>         +---------------------------------------------------------+
>
>         | Address Family Identifier (2 octets)             0x0002 |
>
>         +---------------------------------------------------------+
>
>         | Subsequent Address Family Identifier (1 octet)     0x01 |
>
>         +---------------------------------------------------------+
>
>         | Length of Next Hop Network Address (1 octet)       0xff |
>
>         +---------------------------------------------------------+
>
>         | Network Address of Next Hop (variable)                  |
>
>         +---------------------------------------------------------+
>
>         | Reserved (1 octet)                                      |
>
>         +---------------------------------------------------------+
>
>         | NLRI1 (key1)                                            |
>
>         | NLRI2 (key2)                                            |
>
>         +---------------------------------------------------------+
>
>
>
> Above, I have not filled in beyond the “Length of Next Hop Network
> Address” field, since that’s where the error occurs, and the rest is not
> reliably determinable (7606 Section 7.11). I removed the “non-key”
> notations since this example uses plain IPv6 unicast, mostly to keep the
> example simple.
>
>
>
> Treat-As-Withdraw  (Type Code TBD1)
>
>
>
>         +---------------------------------------------------------+
>
>         | Address Family Identifier (2 octets)             0x0002 |
>
>         +---------------------------------------------------------+
>
>         | Subsequent Address Family Identifier (1 octet)     0x01 |
>
>         +---------------------------------------------------------+
>
>         | NLRI1 (2001:DB8::/32)                                   |
>
>         | NLRI2 (3fff::/20)                                       |
>
>         +---------------------------------------------------------+
>
>
>
> While we are trying to parse the MP_REACH_NLRI, we hit the absurd Length
> of Next Hop Network Address field, and therefore, RFC 7606 tells us we MUST
> reset the session. However, since we also have access to the TAW, we can
> confidently extract the two prefixes (“keys”) it carries, and proceed to
> apply treat-as-withdraw logic instead of resetting the session.
>
>
>
> I hope we don’t need to debate whether this particular example is likely
> to occur in the field — I concede it isn’t; as noted, I chose it because
> it’s simple, illustrates the point, and follows directly from unambiguous
> language in RFC 7606.
>
>
>
> HTH,
>
>
>
> —John
>
>
>
> [1] See RFC 7606 Sections 3.j, 5, and 7.11.
>
>
>
> [2] See RFC 7606 Section 2, third bullet.
>
>
>
> On Oct 16, 2025, at 9:45 AM, Donatas Abraitis <donatas.abraitis@gmail.com>
> wrote:
>
>
>
>
>
> *[External Email. Be cautious of content]*
>
>
>
>
>
> >It’s a sort of a duplicate MP_UNREACH attribute
>
>
>
> Okay, let's say we received this one (followed by MP_REACH_NLRI):
>
>
>
> Treat-As-Withdraw  (Type Code TBD1)
>
>
>
>         +---------------------------------------------------------+
>
>         | Address Family Identifier (2 octets)                    |
>
>         +---------------------------------------------------------+
>
>         | Subsequent Address Family Identifier (1 octet)          |
>
>         +---------------------------------------------------------+
>
>         | NLRI1 (key1)                                            |
>
>         | NLRI2 (key2)                                            |
>
>         +---------------------------------------------------------+
>
>
>
> What should we do with MP_REACH_NLRI then? My question is, what problem
> solves the "duplication"? :)
>
>
>
>
>
> On Thu, Oct 16, 2025 at 4:35 PM John Scudder <jgs@juniper.net> wrote:
>
> > On Oct 16, 2025, at 9:26 AM, Donatas Abraitis <
> donatas.abraitis@gmail.com> wrote:
> >
> > Correct me if I'm wrong... So, this TAW attribute is sort of a duplicate
> MP_REACH attribute,
>
> Almost, you left out the “UN". It’s a sort of a duplicate MP_UNREACH
> attribute:
>
>                 The format of the Treat-As-
>    Withdraw attribute is the same as the format of the MP_UNREACH_NLRI
>    as defined in Section 4 of [RFC4760].
>
> > or what actually? I still don't understand how it solves the parsing
> problem
>
> The problem it’s meant to solve is if the MP_REACH_NLRI can’t be parsed
> for some reason:
>
>    However, as indicated in Section 3 of [RFC7606], treat-as-withdraw
>    can only be used if the entire NLRI field of the MP_REACH_NLRI
>    attribute is successfully parsed.  This typically means parsing
>    errors in MP_REACH_NLRI cannot be handled by any means short of
>    session reset.
>
> In code bases I’m aware of, the MP_UNREACH_NLRI generation code path is
> simpler than the MP_REACH_NLRI code path, and of course we’ve already
> discussed that the MP_UNREACH_NLRI content is sometimes simpler than the
> MP_REACH_NRLI content. The hypothesis that underpins the draft is that
> simpler => less likely to contain an error. This generally seems like an
> uncontroversial assumption. There is of course no guarantee (the entire
> draft is essentially about how to handle bugs, so this is true by
> definition).
>
> > (I might be completely dumb) :)
>
> On the contrary, your comments, Robert’s, and others, illustrate that we
> need to work harder to be clear. (And also need to fix the bug that Robert
> called out!) So, thank you!
>
> —John
>
>
>
> --
>
> Donatas
>
>
>
> _______________________________________________
> Idr mailing list -- idr@ietf.org
> To unsubscribe send an email to idr-leave@ietf.org
>
> ____________________________________________________________________________________________________________
>
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
>
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
>
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
>
> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>
>
>
> This message and its attachments may contain confidential or privileged information that may be protected by law;
>
> they should not be distributed, used or copied without authorisation.
>
> If you have received this email in error, please notify the sender and delete this message and its attachments.
>
> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
>
> Thank you.
>
> ____________________________________________________________________________________________________________
>
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
>
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
>
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
>
> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>
>
>
> This message and its attachments may contain confidential or privileged information that may be protected by law;
>
> they should not be distributed, used or copied without authorisation.
>
> If you have received this email in error, please notify the sender and delete this message and its attachments.
>
> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
>
> Thank you.
>
> ____________________________________________________________________________________________________________
> Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.
>
> This message and its attachments may contain confidential or privileged information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
> Thank you.
>
>