Re: [IPFIX] basicList clarification

Gerald Naveen A <ageraldnaveen@gmail.com> Tue, 15 December 2015 15:04 UTC

Return-Path: <ageraldnaveen@gmail.com>
X-Original-To: ipfix@ietfa.amsl.com
Delivered-To: ipfix@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F39B11A8AB9 for <ipfix@ietfa.amsl.com>; Tue, 15 Dec 2015 07:04:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham
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 qXi4CTsfb2Lq for <ipfix@ietfa.amsl.com>; Tue, 15 Dec 2015 07:04:18 -0800 (PST)
Received: from mail-oi0-x22f.google.com (mail-oi0-x22f.google.com [IPv6:2607:f8b0:4003:c06::22f]) (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 D1BF91A8AAD for <ipfix@ietf.org>; Tue, 15 Dec 2015 07:04:17 -0800 (PST)
Received: by mail-oi0-x22f.google.com with SMTP id o62so1589638oif.3 for <ipfix@ietf.org>; Tue, 15 Dec 2015 07:04:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=dljP3/P7Hxixl4SA0EppY124k6DjimLIjAevCVSUiv0=; b=qxxdT7Pb0DYVbkCiQM/R0tef4VaWAy1ux+BAVW8pdi+R/f2L02lqfFY+Y5ydO596iN fQsd8nav26xJLJrI/ZLhyqu1FsU+k0Z7xFA+4H3UIUEPsRPMJfILyw7MiEzQ6/ht9K7M x2+4fWhqh07rHmeMO72Jdh0zqAXmGEaWBF+6gKZuBrPGUZw+AhWLvIyxmojeQQj6fXd2 KK8w+mY4USL0ROq1XZB8nq+g1QjxNFc9zk7fMXsJiZxaZlrIwAadCNkfe6AacRebzsLc iDo0DbSTtFdlNthcwhnz9nGg0hmNlMpkNaQdNnuBUvxRTZWrBcK39B3ub4Yh2LPzE3zr 8RXQ==
MIME-Version: 1.0
X-Received: by 10.202.87.201 with SMTP id l192mr5494806oib.81.1450191857130; Tue, 15 Dec 2015 07:04:17 -0800 (PST)
Received: by 10.182.130.81 with HTTP; Tue, 15 Dec 2015 07:04:17 -0800 (PST)
In-Reply-To: <5670122C.9090806@gmail.com>
References: <CAJR=o+GSJah4cvjroN0raeAXj+7h2W2Vah4pi4V6u0BM7Sc1DA@mail.gmail.com> <5670122C.9090806@gmail.com>
Date: Tue, 15 Dec 2015 20:34:17 +0530
Message-ID: <CAJR=o+HycZ6nwgs_bB0pcJ1cwdHZXAem7EVYh2KBZWpOYx-ygw@mail.gmail.com>
From: Gerald Naveen A <ageraldnaveen@gmail.com>
To: Paul Aitken <pjaitken@gmail.com>
Content-Type: multipart/alternative; boundary=001a113de314804b510526f11a87
Archived-At: <http://mailarchive.ietf.org/arch/msg/ipfix/f7WllW3eLFaPUt-X8lsjJh7rT_U>
Cc: ipfix@ietf.org
Subject: Re: [IPFIX] basicList clarification
X-BeenThere: ipfix@ietf.org
X-Mailman-Version: 2.1.15
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: Tue, 15 Dec 2015 15:04:21 -0000

Hi Paul,

Thanks for the responses. It clarifies for most part; while I would also
like to clarify few things on my question. (tagged [Gerald] inline)

So it appears we would need to define Y as IE and mark X as basicList of Y.

Thanks again

On Tue, Dec 15, 2015 at 6:44 PM, Paul Aitken <pjaitken@gmail.com> wrote:

> Gerald,
>
> Hi all,
>
> It is my understanding from the RFCs that basicList type is an encoding
> for list of IPFIX Information Elements.
>
>
> Yes, where the list contains zero or more instances of a single IE.
>
>
> To create the template much more strongly typed, we have defined a custom
> (enterprise) Information Element with a new ID (say X), which is defined as
> a basicList of specific items (eg., InterfaceName).
>
> My question to you all is: Is it mandatory that we have a separate
> information element called InterfaceName (say ID Y) and define X as a
> basicList of Y ?
>
>
> Yes, that's how the protocol is defined.
>
>
> For our need, it is enough for us, that we define X as a basicList of
> string (as X is already strongly defined). But string is a type, not info
> element.
>
> We would like to retain X (instead of defining a template directly with a
> standard basicList). And we don't have any other need to define a new
> Information Element Y.
>
>
> Y defines the list elements which tells the Collector that the list
> contains strings, and it defines the semantics of those strings - eg
> whether they contain interface names, user names, a list of selectorNames,
> or a list of Application names. Then a basicList of Y tells the Collector
> that you're exporting zero or more of them.
>
[Gerald] This is definitely a choice. However, as I mentioned, this makes
the template weakly typed (ie., the element is just #291 basicList). We
would like to enforce stronger types at the template itself (this was the
motive behind defining X)

>
> Perhaps you should define Y as a single instance of X (so Y is well
> defined), then redefine X as a basicList of Y. Or if you don't want/need to
> define both X and Y, then use the basicList IE #291 to export a basicList
> of (strongly defined) Y.
>
[Gerald] Yes, this is also a choice; but we don't need Y for any other
reason except to fit into the basicList detail. So wanted to know if that
can be avoided. I got my answer: No (if strongly typed templates).

>
> I realize that the basicList encoding has a information-element ID of the
> item in payload -- is this mandatory?
>
>
> Yes. The encoding would not be interoperable without it.
>
>
> Or for a strongly typed item X, we could expect the IPFIX parser to be
> aware of contents (interface name) by contract?
>
>
> No. Every collector which implements RFC 6313 (IPFIX Structured Data)
> should be able to decode a basicList of Y. However, the mechanism which you
> propose requires the collector to have special knowledge of the internals
> of X, which is not scalable. In short, such an Exporter would not be
> interoperable with all Collectors.
>
[Gerald] X is not a different encoding. X is a basicList (sort of more
strongly typed. ie., X is a basicList of Y). So the encoding is just the
same as #291 standard basicList. But when the template declares a element
as X, it is clearly typed even without having to look into the data (or it
also doesn't let the exporter send X of Z on the same template).


> P.
>
>
> Pls let me know if my question is unclear.
>
> Thanks in advance.
> - Gerald Naveen
>
>
>
> The custom IE which you've defined must contain meta-data about the list
> such as an element count, element lengths, delimiters or separators. It
> creates a new way of encoding list information which the collector must
> also understand in addtion to the basicList encoding, which is not useful.
> In short, you should not create list type elements; instead, use the
> basicList mechanism.
>
[Gerald] Agree. We aren't trying to redefine basicList encoding for sure.

>
>
>
> _______________________________________________
> IPFIX mailing listIPFIX@ietf.orghttps://www.ietf.org/mailman/listinfo/ipfix
>
>
>