Re: [tcpm] [GROW] How to reuse the tcp model in the BMP model - asking for suggestions

Mahesh Jethanandani <mjethanandani@gmail.com> Tue, 23 August 2022 19:03 UTC

Return-Path: <mjethanandani@gmail.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3B693C14CF14; Tue, 23 Aug 2022 12:03:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.104
X-Spam-Level:
X-Spam-Status: No, score=-7.104 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_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kir4J-lXadSI; Tue, 23 Aug 2022 12:03:50 -0700 (PDT)
Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) (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 B8282C14F74B; Tue, 23 Aug 2022 12:03:50 -0700 (PDT)
Received: by mail-pg1-x530.google.com with SMTP id bh13so13065579pgb.4; Tue, 23 Aug 2022 12:03:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc; bh=pKtEFEVccDggrSLErSIm4eY5FYyqUJ1wvMgIsXLAl9c=; b=go3iv/JMJz5JDsm2uTeBBTEWg38fECcHkr6zOBmtZHFtNKqJNVK3PMZAlM0xEy1Xo1 sWlJs0Gd8RAzw4+QT7qzUYdSuYyT2mkklFS892RfbEbSX5O+PUZ9mK4+WUbH4+Y+NFyW BUjyvUU9COO+Knc/6nnT8F3GgM9A/2AfXG2WhOzJUlynZc6/wKvrRSXnGdLp3rzbM4kt otZwPUofH2GMBvGWzJnjN6aPEDLZbyJcpR3sl6xWAQh4StPHf6A5YlgqRk35b8oHx02h kaaEiHuV/mB7WdDFE90fGhRGPZGwkXtmeNUlUijRFnhSd/lu0WIK6OcfZXDjzhoMDQZM S+zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc; bh=pKtEFEVccDggrSLErSIm4eY5FYyqUJ1wvMgIsXLAl9c=; b=b2M9MV2Ce2b7OexPL1GNrnIFgHk6yctTolXdebc8FDb3horhi355AQ7VBHe/JpJfAp 0jn3G58qFvAT97qUPKWbA+HwiuvSymH1l1zZDTHBH3zgTaY+kOjySFarmo94F0eKl0Qb Wvfo3ghP+GGwCBSFaQdPHn/0sCIpOn3UynGmAgDpO0rY30AyK/7qWcEEiaZySEzKr8Qh Kwm3wUa/SdOfgHhfYELh0rjSYp5KMG3t5f/X5UUdF0cltqmoRrO9LCxEb5A9hmp2s72e v4iVGxHwIgqvMTbDbIaqVmVQc7zRQqk/azul4DelsBQcP8j56V6nrlzMneBikp4+k2X4 QAwg==
X-Gm-Message-State: ACgBeo0qqYwNXa9LqJ6hDgggXcZ1lyftopcT/ZA1zRHpQHkGS64IAF25 Qx8rQlfGJxUiypz2XyfQpkw3vYW4KHg=
X-Google-Smtp-Source: AA6agR6/ao1cFF+AD6QWX0MYh2V6F1ZvJxB380/c77v6wWrIeqiypGohAwnHJgGktrE5HdjjPrajJw==
X-Received: by 2002:aa7:88c6:0:b0:537:9d6:2c76 with SMTP id k6-20020aa788c6000000b0053709d62c76mr3079789pff.41.1661281429976; Tue, 23 Aug 2022 12:03:49 -0700 (PDT)
Received: from smtpclient.apple ([70.234.233.187]) by smtp.gmail.com with ESMTPSA id t14-20020a170902e84e00b001714c36a6d9sm4730899plg.229.2022.08.23.12.03.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Aug 2022 12:03:49 -0700 (PDT)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <C20B8AFF-9C51-4102-8D55-3FD900DE8938@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_AA6849A2-3FEF-4246-89A0-1BBBB1CE3930"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
Date: Tue, 23 Aug 2022 12:03:46 -0700
In-Reply-To: <20220822160754.GA14484@pfrc.org>
Cc: Michael SCHARF <Michael.Scharf@hs-esslingen.de>, Camilo Cardona <camilo@gin.ntt.net>, "draft-ietf-tcpm-yang-tcp.authors@ietf.org" <draft-ietf-tcpm-yang-tcp.authors@ietf.org>, "draft-ietf-tcpm-yang-tcp@ietf.org" <draft-ietf-tcpm-yang-tcp@ietf.org>, "tcpm@ietf.org" <tcpm@ietf.org>, "grow@ietf.org" <grow@ietf.org>
To: Jeffrey Haas <jhaas@pfrc.org>
References: <39BBD72C-808D-45CF-B832-9EF786F45F06@gin.ntt.net> <a8e7d4449ded44cd805f2a20f75b14e8@hs-esslingen.de> <7F96BC15-66B6-4F6B-9B68-AC59FAA0FF39@gin.ntt.net> <3577f12509e949a49ba9494c4f9bb1d7@hs-esslingen.de> <20220725181224.GC14067@pfrc.org> <73CA533F-0911-4A4A-9FF2-21377E3185F4@gin.ntt.net> <47bee885617e4694a6735b80aea9d352@hs-esslingen.de> <20220809145355.GA26219@pfrc.org> <3d87ff887dc74f26b011acc31ac967be@hs-esslingen.de> <20220822160754.GA14484@pfrc.org>
X-Mailer: Apple Mail (2.3654.120.0.1.13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/_qcdD3zH9jyAKZ9-abrxVHG4LUU>
Subject: Re: [tcpm] [GROW] How to reuse the tcp model in the BMP model - asking for suggestions
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 Aug 2022 19:03:55 -0000

Hi Jeff,

Just one comment. See below.

> On Aug 22, 2022, at 9:07 AM, Jeffrey Haas <jhaas@pfrc.org> wrote:
> 
> Michael,
> 
> On Fri, Aug 19, 2022 at 08:39:14AM +0000, Scharf, Michael wrote:
>>> From: Jeffrey Haas <jhaas@pfrc.org>
>>> 
>>> The underlying issue that Camilo is trying to raise isn't so much
>>> interface-specific as it is session specific.  Consider the following
>>> examples:
>>> 
>>> https://www.juniper.net/documentation/us/en/software/junos/bgp/topics
>>> /ref/statement/tcp-mss-edit-protocols-bgp.html
>>> https://www.cisco.com/c/en/us/td/docs/iosxr/cisco8000/bgp/73x/b-bgp-cg-
>>> 8k-73x/implementing-bgp.html#task_sq1_xdk_4jb
>> 
>> Thanks for the pointers. Actually, I have looked at several router operating systems (including also Nokia SROS) when preparing the first individual versions of this draft.
>> 
>> For what it is worth, an old summary shown during IETF 105 (see https://datatracker.ietf.org/meeting/105/materials/slides-105-tcpm-yang-groupings-for-transmission-control-protocol-tcp-configuration-01) includes both router and host operating systems as examples.
>> 
>> In addition, I have now also checked the OpenConfig YANG models, and they also have ways to set the MSS, for instance:
>> 
>>    leaf tcp-mss {
>>      type uint16;
>>      description
>>        "Sets the max segment size for BGP TCP sessions.";
>>    }
> 
> An example above, where a typedef for the uint16 might be helpful.

Not clear on why you would like to see a typedef rather than a definition for MSS node as suggested by Michael. Or did you mean to put a range for the MSS value?

Thanks

> 
>>    leaf mtu-discovery {
>>      type boolean;
>>      default false;
>>      description
>>        "Turns path mtu discovery for BGP TCP sessions on (true)
>>        or off (false)";
>>    }
>> 
>> The details, i.e., whether to configure a maximum value for the MSS as system default, per network interface, or per (BGP) neighbor may be specific to the system, but in general most router and host operating systems have ways to influence the MSS.
> 
> And thus a motivation to discuss this in the context of the broader IETF
> YANG work.  The IETF BGP module similarly covers MSS.  GROW is looking to
> copy similar patterns.
> 
>> So, this clearly shows that the MSS might be relevant. But the reality is a bit more complex:
>> 
>> 1/ The MSS value is per direction of a TCP connection, and the effective send MSS (called Eff.snd.MSS in RFC 9293) can be different from the receive MSS (called RMSS in RFC 9293)
>> 
>> 2/ It is relatively common to also enable/disable PMTU discovery as alternative to an explicit MSS configuration (not only in OpenConfig, see again e.g. my old survey in https://datatracker.ietf.org/meeting/105/materials/slides-105-tcpm-yang-groupings-for-transmission-control-protocol-tcp-configuration-01)
>> 
>> 3/ If a TCP stack allows setting a maximum, the effective MSS may be smaller than this configured parameter (config vs. operational state)
>> 
>> None of this is a fundamental problem for a YANG model, and we could figure out how to model this specific detail. Both MSS and PMTU discovery was in the list of features that were originally discussed in TCPM as potentially in scope of this document. But there was no strong interest in this inside TCPM without a clear use case.
>> 
>> If the feedback from BGP implementers is that MSS and MTU discovery is a MUST-HAVE, that situation could change.
> 
> What you're seeing is that interest from the parties working on the modeling
> for BGP with similar parties who are realizing similar issues must be dealt
> with for other protocols.  (In this case, BMP.)
> 
> You're also seeing this interest late for the usual reason in IETF modeling
> work: YANG module "interwork" efforts have come late in the process.
> 
>>> For the first point, it might make sense to expose the effective MSS in the
>>> tcp/connections container.  Doing so in a typedef defined in this module may
>>> be helpful for the second point.
>> 
>> As already pointed out, we would have to understand whether it should be the MSS, or also PMTU discovery, or even more.
> 
> MSS and PMTUD are certainly reasonable items.
> 
>> As the upcoming revision of the draft will have other changes, the authors could make a proposal in this space, too. But I'd really be more comfortable with this if there was some further list support from the community before going down that road.
> 
> I think your largest problem is going to be the list of SME on this are few
> and thus interest will appear to be low.
> 
> Speaking as someone who works at a larger vendor, I'd prefer to see this
> work addressed in the main effort.  If it isn't, vendors will end up
> implementing their own operational state for this as augmentations which
> might lead to inconsistencies.
> 
>> Thanks for this good discussion!
> 
> Thanks for entertaining these late discussions for this work.
> 
> -- Jeff
> 


Mahesh Jethanandani
mjethanandani@gmail.com