Re: [ippm] Comments on draft-ietf-ippm-stamp-yang-11

Greg Mirsky <gregimirsky@gmail.com> Thu, 19 October 2023 22:09 UTC

Return-Path: <gregimirsky@gmail.com>
X-Original-To: ippm@ietfa.amsl.com
Delivered-To: ippm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C5723C151077; Thu, 19 Oct 2023 15:09:20 -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=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 cwT4ycljw5bf; Thu, 19 Oct 2023 15:09:17 -0700 (PDT)
Received: from mail-yb1-xb2e.google.com (mail-yb1-xb2e.google.com [IPv6:2607:f8b0:4864:20::b2e]) (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 C21E2C15153F; Thu, 19 Oct 2023 15:09:16 -0700 (PDT)
Received: by mail-yb1-xb2e.google.com with SMTP id 3f1490d57ef6-d9a398f411fso193862276.3; Thu, 19 Oct 2023 15:09:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697753356; x=1698358156; 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=mgHE5ICPttkISsdQidRhtFP4n+51BLJMLXZTzuTSAZQ=; b=fpXY/m0kd9sDwqdtDaV7ptyu/FhhFQA0LgMMx/IU3kkyE5MWpQe/xx3DQVzcaEsY1/ OxdhnZEB0Wq6VT55hVtVYoZ74FcKCXLpQm97SGJLM1n99fVvnr1JEg8QGlOaWvdmEQPS tX+bCdTMeAFUIrAijdm3yxsdxXUY3SOhMF0pBYO9nOLPywpTExGxHPkDewDZWgBaTcOw yFxP0wyV+LQ8jkVmPGIHLRQqYACvGGEQm6VbWxdtii/siubLb7Xz7nXxIDtEkQqjhbJn o7ybK4xZOw1FEZiaYArd3scJhS4mUPtpv0IHODqdE/ja9XmpaA88GaveJZd3zSC+Y1cZ +hHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697753356; x=1698358156; 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=mgHE5ICPttkISsdQidRhtFP4n+51BLJMLXZTzuTSAZQ=; b=L9X2XZmO8v5WvYP5K4n5oSzobOBglHwHSgCSO3G/oXsQ9MWj7pXVK066XyMIikVsZV F8T/Xn+2PP1HcSLEo8XoiJseU8VBK8l4R3cxoB6zaFtkKHqi0Y405rVaud0y0uXXLFiS etYcyZVYTKr/NR3JdaJpKisiwU8mWq4pexjQG85puE7RTNJuxRZwiJAyHek6gSleLbhL pyoN6HXOOif0hRPGl0tx1jmW4YsT1H00LW4T47eC0nTtKOA7NYaiHbD2zB+f37mekWJy MMeD3K7gjC0JDqtTK/D5RDTTRxP5/Uy741AXJj/obYB3sQZsotZ2gTZf9ADndPnMgphA 62Iw==
X-Gm-Message-State: AOJu0YwfPPOeXS8rDmrneflz41MCMm/9knKUOiBOeXBXjj7phDiuAEAy wue8JdD7zKW13U7UzXUOineVapWyKxM5K6OdcXsW640Bkpo=
X-Google-Smtp-Source: AGHT+IGEoYP5xHekXhpQf0hOBLJgE/sfRDwCjqVT3B56ky6lC0kUaxBcootwUaUamDUz9rLaZdOTcgqH76Aw4BVO6tg=
X-Received: by 2002:a25:f621:0:b0:d91:1296:947 with SMTP id t33-20020a25f621000000b00d9112960947mr56204ybd.40.1697753355490; Thu, 19 Oct 2023 15:09:15 -0700 (PDT)
MIME-Version: 1.0
References: <CAMZsk6c802i-yvLArbXViZ5DGbgwoy_Tp+0r6StukGfud6n0aw@mail.gmail.com>
In-Reply-To: <CAMZsk6c802i-yvLArbXViZ5DGbgwoy_Tp+0r6StukGfud6n0aw@mail.gmail.com>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Thu, 19 Oct 2023 15:09:03 -0700
Message-ID: <CA+RyBmVJ5mT7S=Kj3rTHtUQrXoJg=cTEBfK8aLNVngDmk0gnRg@mail.gmail.com>
To: Rakesh Gandhi <rgandhi.ietf@gmail.com>
Cc: draft-ietf-ippm-stamp-yang@ietf.org, IETF IPPM WG <ippm@ietf.org>
Content-Type: multipart/mixed; boundary="000000000000abb3ca06081901a0"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ippm/JBMdmjTWy5XGvsgqdj7GfqtTIdY>
Subject: Re: [ippm] Comments on draft-ietf-ippm-stamp-yang-11
X-BeenThere: ippm@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: IETF IP Performance Metrics Working Group <ippm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ippm>, <mailto:ippm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ippm/>
List-Post: <mailto:ippm@ietf.org>
List-Help: <mailto:ippm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ippm>, <mailto:ippm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Oct 2023 22:09:20 -0000

Hi Rakesh,
thank you for your thorough review and thoughtful comments. Please find my
notes below under the GIM>> tag. Attached, please find the new working
version (Google firmly believes that the diff I generated includes a virus
;)

Regards,
Greg

On Fri, Oct 13, 2023 at 8:55 AM Rakesh Gandhi <rgandhi.ietf@gmail.com>
wrote:

> Hello authors,
>
> I hope you find the following comments on this draft useful.
>
> https://www.ietf.org/archive/id/draft-ietf-ippm-stamp-yang-11.html
>
> thanks,
> Rakesh
>
>
> --------------------------------------------------------------------------
>
>    - Session id union or unit16?
>
>  Sender
>
>     |  |     +--rw stamp-session-id                union
>
>
>
> Reflector
>
>   +--rw stamp-session-id                    uint16
>
GIM>> Thank you for catching it. Poor creativity in naming. Fixed to
    |  |     +--rw send-stamp-session-id       uint16

    |        +--rw refl-stamp-session-id             union

> --------------------------------------------------------------------------
>
>    - STAMP test packets may be used in a VRF.
>    - vrf-id field in the config and state model
>
> --------------------------------------------------------------------------
>
> More so, to test processing of Class-of-Service along the same route in
> Equal Cost Multi-Path environment Session-Sender may perform STAMP test
> sessions concurrently using the same source IP address, source UDP port
> number, destination IP address, and destination UDP port number. Thus the
> only parameter that can be used to differentiate these test sessions would
> be DSCP value.
>
>
>
>    - IPv6 Flow-label is used for ECMP hash.
>    - FL field in config and state model
>
>
>
>     |  |  +--rw sender-test-session* [session-sender-ip
>
>     |  |        session-sender-udp-port session-reflector-ip
>
>     |  |        session-reflector-udp-port dscp-value]
>
>
>
>    - >> Add IPv6 Flow-label in above?
>    - >> Add VRF-ID in above?
>
> GIM>> Great questions, thank you! As I understand, the applicability of
the FL is for IPv6. Other data planes we usually consider at IETF, e.g.,
MPLS, use other sources of the entropy information. Should the entropy
information be part of the data plane-specific configuration? Will bring
them up to the WG in the presentation at the IETF-118 and on the list.

>
>    -
>
> --------------------------------------------------------------------------
>
>    - Anomaly threshold for delay (micro-sec value) and loss (percentage
>    loss). -> For example, it can be used to trigger telemetry events.
>    - config model for threshold
>    - Anomaly flag in state
>
> GIM>> An interesting idea, thanks! Recently, we've started the work on the Precision
Availability Metric
<https://datatracker.ietf.org/doc/draft-ietf-ippm-pam/> (PAM).
The model of PAM that I imagine includes thresholds. A service monitored by
STAMP could have PAM-based thresholds defined that would trigger a variety
of actions. Would you be interested in joining in the work on the PAM YANG
data model?

--------------------------------------------------------------------------
>
>    - Reflector state model - packet counts –> incoming interface
>    identifier might be useful
>    - interface identifier in state model
>
> GIM>>  Interesting idea, thank you. Could the incoming interface change in
the course of the test session, e.g., if it is tied to a circuitless
address associated with the node that hosts the Session-Reflector?

> --------------------------------------------------------------------------
>
>    - Session name in text. Could be internal name or user configured
>    name. I see the TWAMP Yang model has this and I think it is useful.
>
>
>    - session name in config and state model
>
> GIM>> Thank you for the reference to RFC 8913. As I understood, the 'name'
is tying the Control-Client session with TWAMP-Test session and is used as
the key for both lists, e.g.,
         list test-session {
           key "name";
           description
             "List of TWAMP Session-Sender test sessions.";
           leaf name {
             type string;
             description
               "A unique name for this TWAMP-Test session to be used
                for identifying this test session by the
                Session-Sender logical entity.";
           }
Would you propose using 'name' as the key in the STAMP Session-Sender list?

> --------------------------------------------------------------------------
>
> Could we have the same range for UDP port for sender port (except 862)?
>
GIM>> range "49152..65535" for session-sender-udp-port defines range for
Source UDP port number for a STAMP test packet transmitted by a
Session-Sender.
range "862 | 1024..49151 | 49152..65535" for session-reflector-udp-port
defines the range for the Destination UDP port number  for a STAMP test
packet transmitted by a Session-Sender. The use of 1024..49151 is from the
experience of working on TR-390 Performance measurement from IP Edge to
Customer Equipment using TWAMP Lite. We've learned that some
implementations use this range on a Session-Reflector. As one of the
objectives of STAMP is its interworking with TWAMP Lite, it seems useful to
allow that range also in STAMP. WDYT?

>
>
> FYI, there was some discussions for TWAMP yang:
>
> https://mailarchive.ietf.org/arch/msg/ippm/FdaEPf4Z4nczS4swJxPO0YhK6iE/
>
>
>
>   leaf session-sender-udp-port {
>
>     type inet:port-number {
>
>       range "49152..65535";
>
>
>
>
>
>       leaf reflector-udp-port {
>
>         type inet:port-number{
>
>           range "862 | 1024..49151 | 49152..65535";
>
GIM>> Thank you for pointing out the discussion. Adding 1024..49151 range
was, as I recall, based on our experience with TR-390.

>
>
> --------------------------------------------------------------------------
>
> Could current stats and history stats be available on “stateful” reflector?
>
>        |     +--ro current-stats
>
> GIM>> What could be the benefit?

> --------------------------------------------------------------------------
>
> RPC: Typo?
>
>           +---w stamp-stamp-session-id    uint16
>
>
>
> Could be stamp-session-id uint16
>
GIM>> Thank you for a good catch, Fixed

> --------------------------------------------------------------------------
>
> Does failed or error state make sense, for example, to indicate that
> packets are sent but not received back?
>
>
>
>       leaf sender-session-state {
>
>         type enumeration {
>
>           enum active {
>
>             description "Test session is active";
>
>           }
>
>           enum ready {
>
>             description "Test session is idle";
>
>           }
>
>         }
>
>         description
>
>           "State of the particular STAMP test
>
>           session at the sender";
>
>       }
>
>
>
> --------------------------------------------------------------------------
>
> It is not clear how the wait timer would be used in the STAMP protocol,
> stop reflecting packets after timeout?
>
>     leaf ref-wait {
>
>       type uint32 {
>
>         range 1..604800;
>
>       }
>
>       units seconds;
>
>       default 900;
>
>       description
>
>         "REFWAIT(STAMP test session timeout in seconds),
>
>         the default value is 900";
>
>     }
>
> --------------------------------------------------------------------------
>
> I think security considerations from RFC8762 would apply to this document.
>
GIM>> Thank you for the suggestion. I've looked at the Security
Considerations section in RFC 8913 TWAMP YANG data model. It references RFC
5357 TWAMP specification only in connection with usual use of TWAMP in a
single administrative domain. I couldn't find that YANG model inherits
security issues of the protocol. WDYT?

> --------------------------------------------------------------------------
>
> I do not see feature definitions for any tlv used in the model. E.g.,
>
> feature hmac-tlv
>
GIM>> Hmmm, p.p. 14 and 15 in TXT format
feature hmac-tlv {
  description
    "A TLV to provide the authentication protection
    for STAMP extensions.";
  reference
    "RFC 8972 STAMP
    Optional Extensions Section 4.8.";
}


>
>
> Section 1 seems to indicate TLVs for the future. Is this in the scope of
> this draft?
>
>                     The defined STAMP data model can be augmented to
> include STAMP extensions, for example, described in [RFC8972
> <https://www.rfc-editor.org/info/rfc8972>].
>
GIM>> Good catch, thank you. Would you agree to changing the reference
to draft-ietf-ippm-stamp-srpm?

> --------------------------------------------------------------------------
>
>
>
>
>
>
>
>
>
>
>