Re: [yang-doctors] Yangdoctors last call review of draft-ietf-i2nsf-nsf-monitoring-data-model-06

Andy Bierman <andy@yumaworks.com> Thu, 08 April 2021 17:08 UTC

Return-Path: <andy@yumaworks.com>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6AFA23A128B for <yang-doctors@ietfa.amsl.com>; Thu, 8 Apr 2021 10:08:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.887
X-Spam-Level:
X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xL6be6cbwZ_q for <yang-doctors@ietfa.amsl.com>; Thu, 8 Apr 2021 10:08:10 -0700 (PDT)
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1114B3A1289 for <yang-doctors@ietf.org>; Thu, 8 Apr 2021 10:08:09 -0700 (PDT)
Received: by mail-lf1-x12c.google.com with SMTP id r8so5183643lfp.10 for <yang-doctors@ietf.org>; Thu, 08 Apr 2021 10:08:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=DerqE2Q/+FV9A403la+GfFfuZL/PyzluaXWsFst5ubM=; b=FJef0B2ybNVw2lTCbJVlrswXEjSyAeOOTP0THSk3Ll/yMnUTdjfvCdOM6weD/LaCcl mqk52TZr+R3rjHbzj2FhcKlDH746ca7x/9txeFvcGHYM7pI3AcmqTaGCWNJXoOuq0q/e PxBuJIrvjwyH3ceF0XZLn3cBQnaFxYlfzZ7y5hnrp/8EZ1Fx9s7EszRpbp0vW3TgBAaX lkjVA6CvKe0nnXBfbP0NHtHl6SpgtUWniX0uo98KeectU63E0t0GvjU4RKaqqy/BSbFn iDWEdTWRV8OnP5v2/vF2WeOl2xfwXoKfdLhqX9g3YWrGLb0eI8MGKEAIsf8MYX9h83gu O0HQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DerqE2Q/+FV9A403la+GfFfuZL/PyzluaXWsFst5ubM=; b=pj4ZcvY5kllkd+gY/UQNdBDQpFIeqnxicnpxiFfbHuJ9wEheMMvN8xqFN5e2rGd/uF d2TGyk9nCNw4SMhDL33IVguiLV2+aeXMHBCEd6Ie5t0iDlakrTdouFWXk9u0w9wPJQVV nWhzeEL1zgHvxwixn+FgvUoi6m40kYqOdD3Oi/vocuBot/ZDN5RZKn7CQ2vRpXoSwucz F3hw18KLQk7d3vvW5Eppj2uXUlnG1T5/gZBCTBxmvLo8mDv5iDZxW/9J9YhJCCfo5R7A sxcoiGTCiOGERYeQ/smshLmblpnfkqVy7AiiHhF2Zfrwce2tdieaeziixZUYfKXj05d4 nuqA==
X-Gm-Message-State: AOAM532TOlA/8b3lceiM8AYBxXPeKNWeRVM1h8ceTNkTE6RAAWZ5Yka8 PfHp6ZU4aAN2D9sPDr6PHOCRgZwPjL83lPsoMdzA4A==
X-Google-Smtp-Source: ABdhPJyvgMx9nqH6u3stMZIl9s4J6zVmgrzHWo2JK7s/apqOCcT8ECfuhlAywVL11XQZwzQS9fiIo1pUe3WBE/PSnks=
X-Received: by 2002:a19:6518:: with SMTP id z24mr7184368lfb.512.1617901686526; Thu, 08 Apr 2021 10:08:06 -0700 (PDT)
MIME-Version: 1.0
References: <161652444666.30886.1452719047245335791@ietfa.amsl.com> <CAPK2Dezp8EZ9S4oCVz2YmAzXKxbne6qGoc5vfz=4MQvr3sWhGA@mail.gmail.com>
In-Reply-To: <CAPK2Dezp8EZ9S4oCVz2YmAzXKxbne6qGoc5vfz=4MQvr3sWhGA@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 08 Apr 2021 10:07:55 -0700
Message-ID: <CABCOCHQ2EpS2BqTkGcnuNpSXfacn4MMT=XDJvo4SSETQEiwmxQ@mail.gmail.com>
To: "Mr. Jaehoon Paul Jeong" <jaehoon.paul@gmail.com>
Cc: Linda Dunbar <linda.dunbar@futurewei.com>, Yoav Nir <ynir.ietf@gmail.com>, YANG Doctors <yang-doctors@ietf.org>, "i2nsf@ietf.org" <i2nsf@ietf.org>, draft-ietf-i2nsf-nsf-monitoring-data-model.all@ietf.org, Last Call <last-call@ietf.org>, skku-iotlab-members <skku-iotlab-members@googlegroups.com>
Content-Type: multipart/alternative; boundary="0000000000004ead4105bf7917f9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/QHg0LHzrLpxjq_9xCXIpjnYjz4A>
Subject: Re: [yang-doctors] Yangdoctors last call review of draft-ietf-i2nsf-nsf-monitoring-data-model-06
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Apr 2021 17:08:13 -0000

Hi,

I reviewed your note, the diffs and the YANG module.
I think draft-07 is ready (no issues or nits)

There are probably some clarifications needed to adapt YANG Push dampening
to I2NSF. YP refers to the data nodes changing within the dampening period.
In this case, the notes to implementers should be clear about any events
sent at the end
of the dampening period because events were suppressed (if any). There
might be a different
procedure for each event or sub-event.


Andy


On Wed, Mar 31, 2021 at 7:09 PM Mr. Jaehoon Paul Jeong <
jaehoon.paul@gmail.com> wrote:

> Hi Andy, Linda, and Yoav,
> Patrick and I have addressed all the comments from Andy.
> Here is the revised draft -07:
> https://tools.ietf.org/html/draft-ietf-i2nsf-nsf-monitoring-data-model-07
>
> I attach a revision letter to explain how we addressed the comments.
>
> There are the major updates in this revision as follows:
> ---
>    o  This version is revised according to the comments of Andy Bierman
>       who is a YANG doctor.
>
>    o  This version updates its title as "I2NSF NSF Monitoring Interface
>       YANG Data Model".  It clarifies the NSF Monitoring Interface to
>       deliver NSF monitoring data to an NSF data collector (e.g.,
>       Security Controller and NSF data analyzer).
>
>    o  This version adds an attack destination IP address for DDoS-attack
>       event to provide an NSF data collector with more information about
> the
>       destination of DDoS-attack packets.
>
>    o  This version supports a notification for monitoring traffic flows
>      to detect the source and destination (as a victim) of security attacks
>      such as DDoS attack.
> ---
> If you have questions and comments, please let me know.
>
> Thanks.
>
> Best Regards,
> Paul
>
>
> On Wed, Mar 24, 2021 at 3:34 AM Andy Bierman via Datatracker <
> noreply@ietf.org> wrote:
>
>> Reviewer: Andy Bierman
>> Review result: Ready with Issues
>>
>>
>> Status: Ready with Issues
>>
>> Most of the issues raised in the review of draft-04 have been
>> addressed.
>>
>> Major Issues:
>>
>>  - None
>>
>> Moderate Issues:
>>
>> 1) too many YANG features
>>
>> There are 13 YANG features, one for each of the 13 notification-stmts
>> defined.  There should be as few YANG features defined as possible.
>> They should only be used if it is an unreasonable burden (compared
>> to the feature value) for all servers to support the functionality.
>>
>> 2) list /i2nsf-monitoring-configuration/system-alarm
>>
>> This is yet another alarm management system created in the IETF.
>> I guess the WG decided that RFC 8632 was not suitable.
>>
>> It is not clear how this system prevents excessive notifications
>> sent to a client.
>>
>> What happens when the CPU, memory, or disk usage crosses back and
>> forth over the threshold? Seems like an alarm is generated for each
>> upward crossing of the threshold leaf.
>>
>> The precise behavior for triggering and then re-arming an alarm
>> needs to be specified in the YANG module.
>>
>> RMON Alarms (RFC 2819) defines one way to prevent bursts of
>> SNMP notifications, using an alarm reset threshold.
>>
>> YANG Push (RFC 8641) uses a dampening-period approach to prevent
>> flooding the receiver with notifications.
>>
>> Also, it is not clear what use-case is served by "threshold = 0".
>> The range is 0..100 instead of 1..100.
>>
>>
>> Minor Issues:
>>
>> 3) too many notifications
>>
>> This module creates a lot of notifications to manage, and they are
>> all optional to implement. This increases complexity in both
>> the client implementation and operations.
>>
>> If you really need all 13 notifications then OK, but
>> 13 notification events is a lot for one YANG module,
>> especially if this set will get even larger over time.
>>
>> Here is one way to reduce the number of event definitions.
>> The example below has 1 event and 13 sub-event types, but it could
>> also apply to N event types each with some sub-event types.
>>
>> This design template adds one more layer in the notification message,
>> but it is probably easier for the client and operator to manage.
>> The deployment may require filters and access control rules that become
>> more complex for a large number of notifications.
>>
>>
>>     notification i2nsf-event {
>>       description
>>         "Wrapper for all I2NSF events";
>>
>>       choice sub-event-type {
>>         description
>>           "This choice must be augmented with cases for each allowed
>>            sub-event.  Only 1 sub-event will be instantiated in each
>>            i2nsf-event message. Each case is expected to define one
>>            container with all the sub-event fields.";
>>
>>          // could put sub-events inline
>>          case i2nsf-system-detection-alarm {
>>            if-feature "i2nsf-system-detection-alarm";
>>            container i2nsf-system-detection-alarm {
>>              // contents of i2nsf-system-detection-alarm data
>>            }
>>          }
>>
>>        }
>>      }
>>
>>
>>      // could add sub-events via augments at any time
>>      augment "/i2nsf-event/sub-event-type" {
>>        case i2nsf-system-detection-event {
>>          if-feature "i2nsf-system-detection-event";
>>          container i2nsf-system-detection-event {
>>            // contents of i2nsf-system-detection-event data
>>          }
>>        }
>>      }
>>
>>
>> Nits:
>>
>> 4) underscore vs. hyphen
>>
>> There are many field names in sec. 7 that are incorrect
>> because they use an underscore instead of a hyphen char
>> (e.g. req_cookies but leaf name is req-cookies)
>>
>> 5) verbose SNMP-style names
>>
>> The term -configuration in the object names is unusual.
>> Repeating the parent name (like SMIv2) is not usually done in YANG.
>> (e.g., i2nsf-system-detection-event-configuration)
>>
>> 6) identifiers should use well-known abbreviations or spell
>> out the word if not too long.  E.g "ave" -> "average"
>>
>> 7) Is there a reason some identities are ALL-CAPS and others
>> are all-lower-case? This should be explained in the YANG module.
>>
>>
>>
>>
>>
>>
>>