Re: [Idr] Routing Directorate Review for draft-ietf-idr-wide-bgp-communities-07 - BGP Community Container

Jeffrey Haas <jhaas@pfrc.org> Tue, 12 July 2022 00:52 UTC

Return-Path: <jhaas@pfrc.org>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 492F0C15A733; Mon, 11 Jul 2022 17:52:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.908
X-Spam-Level:
X-Spam-Status: No, score=-1.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
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 Y3ymW3i50w2a; Mon, 11 Jul 2022 17:52:21 -0700 (PDT)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id 767FCC15A729; Mon, 11 Jul 2022 17:52:20 -0700 (PDT)
Received: from smtpclient.apple (99-59-193-67.lightspeed.livnmi.sbcglobal.net [99.59.193.67]) by slice.pfrc.org (Postfix) with ESMTPSA id D3C721E34B; Mon, 11 Jul 2022 20:52:19 -0400 (EDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_136DC2F7-1F43-499B-AFDA-787C7F24E5EC"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.100.31\))
From: Jeffrey Haas <jhaas@pfrc.org>
In-Reply-To: <5987EC71-2972-4F5A-AC43-30F844DAC315@cisco.com>
Date: Mon, 11 Jul 2022 20:52:19 -0400
Cc: Robert Raszuk <robert@raszuk.net>, "draft-ietf-idr-wide-bgp-communities@ietf.org" <draft-ietf-idr-wide-bgp-communities@ietf.org>, IDR List <idr@ietf.org>, Routing Directorate <rtg-dir@ietf.org>
Message-Id: <BE522BAB-6B31-41A0-9FDD-83E16D5E5DBE@pfrc.org>
References: <31784442-7A03-46E2-B255-7D7FF46FD88F@cisco.com> <20220708195701.GB29763@pfrc.org> <E109F29A-8701-443E-BCFA-14A370E6B736@cisco.com> <CAOj+MMGXCZ674h=XuF0AqV4o0n+-wBVzfpLuihGcQh7VOktaew@mail.gmail.com> <E094DB91-02E5-4C33-82EB-CB3995521589@cisco.com> <CAOj+MMExYuXfPAjkZkgdTFPPfuMNPxFXtO0inUgZKZetCzbU=g@mail.gmail.com> <52B1B5E4-ABF6-40DC-8BD4-875A613B8068@cisco.com> <8826B995-4044-4706-9165-2A10C6271315@pfrc.org> <B2F48483-F7B7-4FD0-A423-66FFA94B761E@cisco.com> <CAOj+MMFnTq5PYqgjncS7LfiQAceF3Cry7UTMtK5jK_hYpV137Q@mail.gmail.com> <5987EC71-2972-4F5A-AC43-30F844DAC315@cisco.com>
To: "Acee Lindem (acee)" <acee@cisco.com>
X-Mailer: Apple Mail (2.3696.100.31)
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/hDqiy5o7xiIGcfzyqcTlm7sh_jY>
Subject: Re: [Idr] Routing Directorate Review for draft-ietf-idr-wide-bgp-communities-07 - BGP Community Container
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr/>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 Jul 2022 00:52:26 -0000

Acee,

Answering the question I think you're asking, ignoring the wide community means that the policy engine does not process the community.  However, it's not malformed - and thus will be propagated downstream.  

(I can see arguments for wanting configuration to prevent such propagation, but suspect that's an implementation choice.)

If the community was malformed because of bad TLV formation, treat as withdraw is applied to the route.

-- Jeff


> On Jul 11, 2022, at 6:57 PM, Acee Lindem (acee) <acee@cisco.com> wrote:
> 
> Hi Robert,
>  
> From: Robert Raszuk <robert@raszuk.net>
> Date: Monday, July 11, 2022 at 5:51 PM
> To: Acee Lindem <acee@cisco.com>
> Cc: Jeff Haas <jhaas@pfrc.org>, "draft-ietf-idr-wide-bgp-communities@ietf.org" <draft-ietf-idr-wide-bgp-communities@ietf.org>, IDR List <idr@ietf.org>, Routing Directorate <rtg-dir@ietf.org>
> Subject: Re: [Idr] Routing Directorate Review for draft-ietf-idr-wide-bgp-communities-07 - BGP Community Container
>  
> Hi Acee, 
>  
> Well yes the community will be ignored in a sense not considered on this very BGP speaker. 
>  
> Yes – so a wide community known by the receiving speaker with an unknown/undefined atom for that community will be treated the same as an unknown wide community. Is that right?
>  
> But as it is transitive other BGP speakers could consider it valid and use it. 
>  
> Section 8.2 as I mentioned previously describes this case. 
>  
> Many thx,
> Robert.
>  
> PS. The BGP or for that matter IGP domain wide capabilities is something we should solve one day. It keeps falling down on my list but I think maybe we should think about how to sync up the supported features. It will be very helpful for a lots of cases. 
>  
> In OSPFv3, we have the concept of “transitive” at the defined flooding scope but every LSA  I can remember has the U-bit set (see below):
>  
> Thanks,
> Acee
>  
> A.4.2.1.  LSA Type
>  
>    The LS type field indicates the function performed by the LSA.  The
>    high-order three bits of LS type encode generic properties of the
>    LSA, while the remainder (called LSA function code) indicate the
>    LSA's specific functionality.  The format of the LS type is as
>    follows:
>  
>               0  1  2  3  4  5  6  7  8  9  0  1  2  3  4  5
>             +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
>             |U |S2|S1|           LSA Function Code          |
>             +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
>  
>                                  LSA Type
>  
>    The U-bit indicates how the LSA should be handled by a router that
>    does not recognize the LSA's function code.  Its values are:
>  
>         U-bit   LSA Handling
>         -------------------------------------------------------------
>         0       Treat the LSA as if it had link-local flooding scope
>         1       Store and flood the LSA as if the type is understood
>  
>                                    U-Bit
>  
>  
>  
>  
>  
> On Mon, Jul 11, 2022 at 11:35 PM Acee Lindem (acee) <acee@cisco.com <mailto:acee@cisco.com>> wrote:
>> Hi Jeff,
>>  
>> From: Jeff Haas <jhaas@pfrc.org <mailto:jhaas@pfrc.org>>
>> Date: Monday, July 11, 2022 at 3:57 PM
>> To: Acee Lindem <acee@cisco.com <mailto:acee@cisco.com>>
>> Cc: Robert Raszuk <robert@raszuk.net <mailto:robert@raszuk.net>>, Acee Lindem <acee@cisco.com <mailto:acee@cisco.com>>, "draft-ietf-idr-wide-bgp-communities@ietf.org <mailto:draft-ietf-idr-wide-bgp-communities@ietf.org>" <draft-ietf-idr-wide-bgp-communities@ietf.org <mailto:draft-ietf-idr-wide-bgp-communities@ietf.org>>, IDR List <idr@ietf.org <mailto:idr@ietf.org>>, Routing Directorate <rtg-dir@ietf.org <mailto:rtg-dir@ietf.org>>
>> Subject: Re: [Idr] Routing Directorate Review for draft-ietf-idr-wide-bgp-communities-07 - BGP Community Container
>>  
>> Acee,
>>  
>> The following sentence in 4.4.2 is in error and should be deleted:
>>  
>>    If the semantics of a given Atom is undefined for the community in
>>    question, this Atom MUST be ignored.
>>  
>> I'll queue the change for this for -09 for when the draft submission window re-opens.
>>  
>> Is the community ignored in this case and this would be an error?
>>  
>> Thanks,
>> Acee
>>  
>> -- Jeff
>>  
>>  
>>  
>> 
>>> On Jul 11, 2022, at 9:51 AM, Acee Lindem (acee) <acee@cisco.com <mailto:acee@cisco.com>> wrote:
>>>  
>>> Hi Robert,
>>>  
>>> From: Robert Raszuk <robert@raszuk.net <mailto:robert@raszuk.net>>
>>> Date: Monday, July 11, 2022 at 9:31 AM
>>> To: Acee Lindem <acee@cisco.com <mailto:acee@cisco.com>>
>>> Cc: Jeff Haas <jhaas@pfrc.org <mailto:jhaas@pfrc.org>>, "Acee Lindem (acee)" <acee=40cisco.com@dmarc.ietf.org <mailto:acee=40cisco.com@dmarc.ietf.org>>, "draft-ietf-idr-wide-bgp-communities@ietf.org <mailto:draft-ietf-idr-wide-bgp-communities@ietf.org>" <draft-ietf-idr-wide-bgp-communities@ietf.org <mailto:draft-ietf-idr-wide-bgp-communities@ietf.org>>, IDR List <idr@ietf.org <mailto:idr@ietf.org>>, Routing Directorate <rtg-dir@ietf.org <mailto:rtg-dir@ietf.org>>
>>> Subject: Re: [Idr] Routing Directorate Review for draft-ietf-idr-wide-bgp-communities-07 - BGP Community Container
>>>  
>>> Hi Acee,
>>>  
>>> Ok I was not really clear on your comment if it applies to entire diff or just to the part of "ignoring" elements. Was just trying to show that the -08 diff shows lots of changes :) 
>>>  
>>> Anyhow to your point. First let's observe that use of any BGP Community is advisory. We have no mechanism in BGP to force to apply any action on BGP speaker when receiving given extended, large or wide community. For standard well-knows there is exception that they will be obeyed but this is an exception here. 
>>>  
>>> Good point.
>>>  
>>> With that being said as Jeff mentioned semantics if target is to match any so if one implementation does not recognize  one atom type yet can successfully parse entire community there is no reason why applying partial match of ANY form would be worse then not applying it at all. That is in context of Sub-Type 1 section 4.4.1
>>>  
>>> I agree. I guess this would also be true in the exclude case that it would be better to exclude at least the routes for the understood atoms. Would it make sense to note that this should be logged (subject to rate-limiting)?
>>>  
>>> I am discussing with co-authors if the same applies to 4.4.2 as currently written. Especially in the light of section 8.2 which stands in contrast to 4.4.2. 
>>>  
>>> On the topic of ignoring entire community section 4.4.3 provides such example - when parameter is not recognized or not being able to be correctly parsed. 
>>>  
>>> I certainly agree if it can’t be parsed and I can accept similar behavior if it is unrecognized. My comment was more toward why unrecognized atoms didn’t result in ignoring the wide community (as discussed above). I can see the distinction of the parameters applying to the community actions and not recognizing one would dictate ignoring the community.
>>>  
>>> Thanks,
>>> Acee
>>>  
>>>  For treat as withdraw section 8.1 provides a description. In general when we can not parse the attribute it should undergo procedures as described in RFC7606 section 7.14
>>>  
>>> Many thx,
>>> R.
>>>  
>>> On Mon, Jul 11, 2022 at 2:17 PM Acee Lindem (acee) <acee@cisco.com <mailto:acee@cisco.com>> wrote:
>>>> Hi Robert, Jeff,
>>>>  
>>>> From: Robert Raszuk <robert@raszuk.net <mailto:robert@raszuk.net>>
>>>> Date: Monday, July 11, 2022 at 8:09 AM
>>>> To: Acee Lindem <acee@cisco.com <mailto:acee@cisco.com>>
>>>> Cc: Jeff Haas <jhaas@pfrc.org <mailto:jhaas@pfrc.org>>, "Acee Lindem (acee)" <acee=40cisco.com@dmarc.ietf.org <mailto:40cisco.com@dmarc.ietf.org>>, "draft-ietf-idr-wide-bgp-communities@ietf.org <mailto:draft-ietf-idr-wide-bgp-communities@ietf.org>" <draft-ietf-idr-wide-bgp-communities@ietf.org <mailto:draft-ietf-idr-wide-bgp-communities@ietf.org>>, IDR List <idr@ietf.org <mailto:idr@ietf.org>>, Routing Directorate <rtg-dir@ietf.org <mailto:rtg-dir@ietf.org>>
>>>> Subject: Re: [Idr] Routing Directorate Review for draft-ietf-idr-wide-bgp-communities-07 - BGP Community Container
>>>>  
>>>> Hi Acee,
>>>>  
>>>>>     Otherwise, we can resume comments vs. the published -08 on Monday.
>>>>> 
>>>>> I'm looking at the version just published - I'm missing any changes here in the diff?
>>>>  
>>>>  
>>>> <image001.png>
>>>>  
>>>> Can you be more specific ? The diff shows all of those changes made. 
>>>>  
>>>> This why I hate when people who prune my Emails beyond comprehension…. I mean specifically the changes relative to my comment on undefined atoms vs undefined parameters that immediately preceded my response.
>>>>  
>>>> 
>>>>     >    2. It wasn't clear to me why undefined Atoms are ignored and the BGP Wide Community
>>>>     >       is still used. Similarly, undefined parameters result in the BGP Wide Community
>>>>     >       being ignored. I think the draft should explain impetus for the three error actions –
>>>>     >       ignore Atom only, ignore  BGP Wide Community, and treat as malformed.
>>>>  
>>>>  
>>>> Thanks,
>>>> Acee
>>>>  
>>>> Thx,
>>>> R.
>>>>  
>> 
>>