Re: [IPFIX] RFC 6728 IETF IPFIX Yang Discussion

Benoit Claise <bclaise@cisco.com> Wed, 10 January 2018 07:33 UTC

Return-Path: <bclaise@cisco.com>
X-Original-To: ipfix@ietfa.amsl.com
Delivered-To: ipfix@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C7EB21243F3 for <ipfix@ietfa.amsl.com>; Tue, 9 Jan 2018 23:33:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.511
X-Spam-Level:
X-Spam-Status: No, score=-12.511 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 ybp18_eiTPH7 for <ipfix@ietfa.amsl.com>; Tue, 9 Jan 2018 23:33:56 -0800 (PST)
Received: from aer-iport-4.cisco.com (aer-iport-4.cisco.com [173.38.203.54]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0A564124319 for <ipfix@ietf.org>; Tue, 9 Jan 2018 23:33:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=28329; q=dns/txt; s=iport; t=1515569636; x=1516779236; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to; bh=cAihRJH6wta1Oaa9jieN8CSrzNWRkmqNigydtMYwN98=; b=HY5uEECQ1ZtW+Ut9WcRFZoy5eYqxUDN1OoTGMoe86YsTZC0TDZRAeHqv 6FXal4qh3Z+WuVy666T5BiEwuq/2dDwUx8ct7atSNGVLOJ/Lh5aZscWtm aIPCjivjr4Z++AmBW39Qka1aJS14hiC3gRfg7Bs+jaetzzM2l9vBEKED/ g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CiAQBGwVVa/xbLJq1TChkBAQEBAQEBA?= =?us-ascii?q?QEBAQEHAQEBAQGCSoFddCePH49FJ5lFCiKFGQKEfRUBAQEBAQEBAQFrKIUkAQU?= =?us-ascii?q?tQQsQCxggAQ1XBgEMCAEBii8QsUomihUBAQEBAQEBAQEBAQEBAQEBAQEBAQEYB?= =?us-ascii?q?YQgg2yBaSkMgnmBSYFmAQEXgStXhVAFilsVhzeHSolwiAqNOYIXggCIB4dqimG?= =?us-ascii?q?CVYFeiAeBPDUjJYErMhoIGxU9giuCGkWBeEA3AQEBAYtcAQEB?=
X-IronPort-AV: E=Sophos;i="5.46,339,1511827200"; d="scan'208,217";a="1317030"
Received: from aer-iport-nat.cisco.com (HELO aer-core-2.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jan 2018 07:33:53 +0000
Received: from [10.55.221.36] (ams-bclaise-nitro3.cisco.com [10.55.221.36]) by aer-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id w0A7XrET012042; Wed, 10 Jan 2018 07:33:53 GMT
To: "Aitken, Paul" <paul.aitken@intl.att.com>, "'Marta Seda'" <Marta.Seda@calix.com>
Cc: "'ipfix@ietf.org'" <ipfix@ietf.org>
References: <085c30b9-5797-863e-a63d-a027396f224f@gmail.com> <a3fc69e8-5773-5785-09ca-409c6a07db57@gmail.com> <A3625616CA873B4DAA779ABEFA624F1C8BE3CA@gbcdcmbx03.intl.att.com>
From: Benoit Claise <bclaise@cisco.com>
Message-ID: <c20055e4-d9a1-0652-8221-ce54387dedea@cisco.com>
Date: Wed, 10 Jan 2018 08:33:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2
MIME-Version: 1.0
In-Reply-To: <A3625616CA873B4DAA779ABEFA624F1C8BE3CA@gbcdcmbx03.intl.att.com>
Content-Type: multipart/alternative; boundary="------------C8F2BFE7A4363DF54C351EBA"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipfix/nYjW5O65RNStJZTC8z_fMeZcu-8>
Subject: Re: [IPFIX] RFC 6728 IETF IPFIX Yang Discussion
X-BeenThere: ipfix@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: IPFIX WG discussion list <ipfix.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipfix>, <mailto:ipfix-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipfix/>
List-Post: <mailto:ipfix@ietf.org>
List-Help: <mailto:ipfix-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipfix>, <mailto:ipfix-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Jan 2018 07:34:00 -0000

Hi,
>
> Marta, Benoit,
>
>
> 1. Are there efforts to update other RFCs to meet the latest YANG best 
> practices?
>
Yes. Ex: https://datatracker.ietf.org/doc/draft-ietf-netmod-rfc7223bis/
The goal is to specify NMDA-compliant 
(draft-ietf-netmod-revised-datastores-09 
<https://datatracker.ietf.org/doc/draft-ietf-netmod-revised-datastores/>) 
YANG modules
>
>
> 2. Since the IPFIX WG closed, there has been little ongoing IPFIX work 
> in the IETF. Is there a specific need to update RFC 6728 rather than 
> just recognising it as a product of it's time?
>
This type of feedback should come from implementation experience.

Regards, Benoit
>
> Note that it's > 5 years old.
>
>
> Also see @PJ inline:
>
>
> On 09/01/2018 16:01, Benoit Claise wrote:
>
>     Hi Marta,
>
>         Hello,
>
>         I am reaching out to the IETF IPFIX mailing list  on some
>         issues I have run into with respect to RFC 6728 “Configuration
>         Data Model for the IP Flow Information Export (IPFIX)  and
>         Packet Sampling (PSAMP) Protocols”
>
>          1. RFC 6728 doesn’t meet the latest Yang Best Practices
>             (https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#section-4.3.1
>             <https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Dietf-2Dnetmod-2Drfc6087bis-2D15-23section-2D4.3.1&d=DwMD-g&c=LFYZ-o9_HUMeMTSQicvjIg&r=f8F8yzrqBTw6EPtR1rbibO_VFIc-cdnjIJ9he_qu7xs&m=0c5ATjuT0-4IlDzLYM9h_RbPjCBQUv_6aExRL_fl-5M&s=Hhi7V6njCFNBbSsjC6sPgNfVu5DA8iQzdzsnA_iQBzQ&e=>).
>             Leaf identifiers are camel case (e.g., destinationAddress
>             instead of destination-address). Are there any ongoing
>             efforts to update RFC 6728 to meet the latest best practices?
>
>     Not as far as I know.
>
>     Regards, Benoit
>
>         2.
>
>            Identifiers SHOULD follow a consistent naming pattern
>         throughout the
>
>            module.  Only lower-case letters, numbers, and dashes
>         SHOULD be used
>
>            in identifier names. Upper-case characters and the underscore
>
>            character MAY be used if the identifier represents a
>         well-known value
>
>            that uses these characters.
>
>            Identifiers SHOULD include complete words and/or well-known
>         acronyms
>
>            or abbreviations.  Child nodes within a container or list
>         SHOULD NOT
>
>            replicate the parent identifier.  YANG identifiers are
>         hierarchical
>
>            and are only meant to be unique within the the set of
>         sibling nodes
>
>            defined in the same module namespace.
>
>            It is permissible to use common identifiers such as "name"
>         or "id" in
>
>            data definition statements, especially if these data nodes
>         share a
>
>            common data type.
>
>            Identifiers SHOULD NOT carry any special semantics that
>         identify data
>
>            modelling properties. Only YANG statements and YANG extension
>
>            statements are designed to convey machine readable data
>         modelling
>
>            properties.  For example, naming an object "config" or
>         "state" does
>
>            not change whether it is configuration data or state data. 
>         Only
>
>            defined YANG statements or YANG extension statements can be
>         used to
>
>            assign semantics in a machine readable format in YANG.
>
>          3. I generated the RFC 6728 yang tree (see attached).  The
>             tcp and udp exporting processes support a
>             destinationIPAddress (line 400, 455) which is mandatory. 
>             The type is inet:ip-address.
>
>              1. A collector may be doing load balancing.  Rather than
>                 managing ip-addresses, the collector may be using DNS
>                 (an exporter could resolve from the domain name where
>                 the collector is located).
>
>
> @PJ: Load balancing and DNS are independent. Load balancing IPFIX is 
> probably a bad idea since templates need to be available on all 
> collectors, and out of step sequence numbers in the data records would 
> cause spurious reports of lost data. If DNS is used to obtain the 
> collector's address, arguably it should be a one-time lookup rather 
> than incurring a DNS lookup per export packet.
>
>
>         4.
>
>             1.
>              2. The collector address may be learnt via other methods
>                 (e.g., through DHCP options)
>              3. A choice statement to select what method to use seems
>                 more appropriate than what is presently in RFC 6728. 
>                 For example (use some shorthand)
>
>         choice destination-method{
>
>         case destination-address{
>
>         leaf destination-address// rw with type inet:host
>
>         }
>
>         case dhcp-acquired-address{
>
>         container dcp-acquired-address{
>
>         leaf destination-ip-address inet-address //ro
>
>         }
>
>         }
>
>         However I can’t augment to ietf-ipfix because
>         destinationIPAddress is mandatory.  Can the group suggest
>         methods to (a) change the destinationIPAddress type and (b)
>         allow a choice?
>
>
> @PJ: The selection could also be done out of band so the exporter need 
> not know how the address is determined. eg a configuration system 
> could determine the address by any of these methods or otherwise, and 
> impose that address using the current model.
>
>          5. RFC 6728 mandates SCTP transport.  I understand the logic
>             behind this (IETF prefers use of SCTP).  There are
>             situations where sctp is unnecessary and not supported
>             (e.g., point to point connection). During netconf
>             negotiations you can announce your feature set (currently
>             sctptransport is not a feature).  Is there ongoing work in
>             updating RFC 6728 to include sctptransport as a feature
>             (so that the device can announce whether or not it
>             supports sctptransport)?
>
>
> @PJ Same answer as point (2) above, ie is this necessary and useful?
>
> P.
>