Re: [lmap] Data type for Option/Value

Ron Stana <Ron.Stana@viavisolutions.com> Fri, 07 October 2016 20:13 UTC

Return-Path: <Ron.Stana@viavisolutions.com>
X-Original-To: lmap@ietfa.amsl.com
Delivered-To: lmap@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 264321296FE for <lmap@ietfa.amsl.com>; Fri, 7 Oct 2016 13:13:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.922
X-Spam-Level:
X-Spam-Status: No, score=-1.922 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=viavisolutions.onmicrosoft.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 222GmpXMmUob for <lmap@ietfa.amsl.com>; Fri, 7 Oct 2016 13:13:11 -0700 (PDT)
Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0108.outbound.protection.outlook.com [104.47.38.108]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3EA7E129587 for <lmap@ietf.org>; Fri, 7 Oct 2016 13:13:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=viavisolutions.onmicrosoft.com; s=selector1-viavisolutions-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Wp4tiMc+1XIWhQVoAK8YCO/iRRmZu9owtpK5hPNglwg=; b=DWN4XVmzkOaPV4smZT2fikJB1HhZFkkzeC6k7cNACkc7aO4JFT2Fu6TWXj9GKcjNqrBHwHjXmbvrYULzt53sxObt7eWKuNfAvCS6GRAnqWnjB6tsrco4GiwTb2LJoEojioGJpXqv1la7NDNopJq7ui+vpAptKbkre4DDmMExZ0Q=
Received: from MWHPR18MB0960.namprd18.prod.outlook.com (10.173.123.14) by MWHPR18MB0958.namprd18.prod.outlook.com (10.173.123.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.11; Fri, 7 Oct 2016 20:13:09 +0000
Received: from MWHPR18MB0960.namprd18.prod.outlook.com ([10.173.123.14]) by MWHPR18MB0960.namprd18.prod.outlook.com ([10.173.123.14]) with mapi id 15.01.0659.015; Fri, 7 Oct 2016 20:13:09 +0000
From: Ron Stana <Ron.Stana@viavisolutions.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Thread-Topic: [lmap] Data type for Option/Value
Thread-Index: AdIZBW2IFf380fCHS4+nER0bBjX6mAHwo66AAAA1ugA=
Date: Fri, 07 Oct 2016 20:13:09 +0000
Message-ID: <MWHPR18MB0960DBA2DFB0EFDAC18BA49D8AC60@MWHPR18MB0960.namprd18.prod.outlook.com>
References: <MWHPR18MB096078AD85087A46F0F7BF258ACC0@MWHPR18MB0960.namprd18.prod.outlook.com> <20161007182405.GA20761@elstar.local>
In-Reply-To: <20161007182405.GA20761@elstar.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Ron.Stana@viavisolutions.com;
x-originating-ip: [104.129.204.50]
x-ms-office365-filtering-correlation-id: 4325f89f-53e9-4fc9-0044-08d3eeee5b89
x-microsoft-exchange-diagnostics: 1; MWHPR18MB0958; 6:J3j16G6eRNivKgI1me0lQMP+VeCzjvsG5ESTuhl94TpqDp5kOsmfgXZJhAb7ScRACE2hTmU+H0EBMJ4UhSMF9xzd6FUu5lUMaultqiOl8DcuwtFIu1nvtXUYp4YEJ5gqb0JgSPMueVdAzj6YTK4O9/57QEa22cxetfXnX2KA0Qt1S7n0czg6o8f+FXBgSMmdTBnnmRiIySaNlAYUlDscarQx5vQm6bLoERVwcu6GsgedgKyR0WCtJZJgQxqfgml2qeJ3vq1iNBvWoFbo0s0zCbklTwjDxKJlxZsihQmqJWrnCZH0MX/hYvObepezOQ4SRwTbauSkI9c8ggjj/+VmPDv4ycyvKqiBtd3Np8n1Myk=; 5:VjOr6//fGyDdoozQbj2ZFibOxb3HA0h/3F11vZVRuffpTyCURt1yuJc3P3hbzAkf+7rhDxKmR0B6aerBC5ZBu7AF9ywHOFmjQkqx12ueucp0WgiiaDkrBC+hEBk2SS8bPd8sVtoNKH80/iT8yTm3dQ==; 24:RoYinlPw3m34cBIoldPl6wpOXIZO40Sef47nToUc2eDZnPMmMxLpQ7ptgxCZ4tuQxSmugDe7ewrRBH3eDkga9ukpuF/qIS712JNsIRiO3J0=; 7:nd1UKwjwNBBLftLpjRGYYIzQ0KefJ4POgc1bqCW2soYeFGFSK7upCWY/wf84fkxJBv8h0CxV5XmR1B+igFJJ8aYyA2t6Nq9GvL6Ik8bnUgu9kMzWK1An5yacakVd9JjdUu6kd2C5ymu1nWhbKrcwfm1KJGJEdMb6e6/o2gbdf48HYfTPKeBqLufXEkHZeOpsJVQx+uShUupqNiU5fjwC/s5Fgf1g6ibDNK7jcnmDDF2whhzi7g9M6LhoV0onSOBZPvxVMGRNBJkpX3CEsUz30JsI07toHgrcXeJiN9OQm+ZuN3n8FzdAgOx+2kD2ek9s
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:MWHPR18MB0958;
x-microsoft-antispam-prvs: <MWHPR18MB09581CFABB8438D8B7354A328AC60@MWHPR18MB0958.namprd18.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(20558992708506);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026); SRVR:MWHPR18MB0958; BCL:0; PCL:0; RULEID:; SRVR:MWHPR18MB0958;
x-forefront-prvs: 0088C92887
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(7916002)(199003)(13464003)(24454002)(189002)(377454003)(11100500001)(5002640100001)(97736004)(110136003)(8936002)(7696004)(189998001)(87936001)(10400500002)(5660300001)(586003)(15975445007)(3846002)(6116002)(102836003)(66066001)(2900100001)(76576001)(77096005)(2906002)(86362001)(8676002)(3660700001)(33656002)(4326007)(122556002)(81166006)(81156014)(3280700002)(19580395003)(19580405001)(54356999)(50986999)(76176999)(101416001)(7846002)(7736002)(305945005)(92566002)(74316002)(68736007)(106356001)(2950100002)(9686002)(99286002)(6916009)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR18MB0958; H:MWHPR18MB0960.namprd18.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: viavisolutions.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: viavisolutions.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2016 20:13:09.2752 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: c44ec86f-d007-4b6c-8795-8ea75e4a6f9b
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR18MB0958
Archived-At: <https://mailarchive.ietf.org/arch/msg/lmap/gtU-_fNDgkcskpS10VBo_LIDGG4>
Cc: "alissa@cooperw.in" <alissa@cooperw.in>, "lmap@ietf.org" <lmap@ietf.org>
Subject: Re: [lmap] Data type for Option/Value
X-BeenThere: lmap@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Large Scale Measurement of Access network Performance <lmap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lmap>, <mailto:lmap-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lmap/>
List-Post: <mailto:lmap@ietf.org>
List-Help: <mailto:lmap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lmap>, <mailto:lmap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 07 Oct 2016 20:13:13 -0000

Juergen,

The reason we want to pass structured data is because we have tests that define hundreds of network paths, and each network path is defined by a group of parameters.  The example in appendix G is good for defining one network path but does not scale to multiple since it only supports the definition of one src/dest pair.

TWAMP is one example of a test that takes multiple network paths.  It has YANG models defined for it: 
https://tools.ietf.org/html/draft-ietf-ippm-twamp-yang-01
https://tools.ietf.org/html/draft-mirsky-ippm-twamp-light-yang-03

Which model is used depends on whether the network path requires special setup steps.  A single test could then consist of one or both of these models.

For these reasons we are using one LMAP id/value option for each of the TWAMP models above.

The example in appendix G requires an extension of the LMAP model.  While I can see that it is a nice way of combining the two models, my understanding is LMAP was trying to prevent the need for customer extensions, especially in this situation where two well-known models are used.

The Appendix F example seems to define the new objects for use both within action/parameter and action/object.  If that understanding is correct, can you explain the difference between using them in the two places?  I didn't see anything in the information model document (version 11) that explained this.

Ron

-----Original Message-----
From: Juergen Schoenwaelder [mailto:j.schoenwaelder@jacobs-university.de] 
Sent: Friday, October 07, 2016 2:24 PM
To: Ron Stana
Cc: lmap@ietf.org; alissa@cooperw.in
Subject: Re: [lmap] Data type for Option/Value

On Tue, Sep 27, 2016 at 09:24:34PM +0000, Ron Stana wrote:
> LMAP Team,
> 
> The data type for the option/value in the LMAP YANG model is currently defined as a string.  Our tests use a structured set of input parameters, sometimes mandated by IETF YANG models such as TWAMP and TWAMP Light (see example below) so we currently have to stringify the data which makes it unnecessarily hard to read and requires an extra step before sending and parsing.
> 
> "action":[
> 
>    {
> 
>       "name":"Test-2016-09-27-16:54-action",
> 
>       "task":"twamp-initiator",
> 
>       "option":[
> 
>                  {
> 
>                     "id":"twamp-light",
> 
>                     "value":"{\"ietf-twamp-light:twamp-light\":{\"twamp-light-session-sender\":{\"sender-light-enable\":true,\"test-session\":[{\"session-id\":1,\"test-session-enable\":true,\"packet-padding-size\":425,\"session-authentication-mode\":\"unauthenticated\",\"interval\":10,\"sender-ip\":\"192.168.2.10\",\"sender-udp-port\":50000,\"reflector-ip\":\"192.168.2.20\",\"reflector-udp-port\":50000,\"dscp\":0},{\"session-id\":2,\"test-session-enable\":true,\"packet-padding-size\":41,\"session-authentication-mode\":\"unauthenticated\",\"interval\":20,\"sender-ip\":\"192.168.2.10\",\"sender-udp-port\":50000,\"reflector-ip\":\"192.168.2.20\",\"reflector-udp-port\":50000,\"dscp\":8}]}}}"
> 
>                 }
> 
>       ],

Why do you encode all twamp-light options in a single lmap task option?

> 
>       "destination":[
> 
>                  "Test-2016-09-27-16:54-results-periodic-pm",
> 
>                 "Test-2016-09-27-16:54-results-periodic-rt"
> 
>       ]
> 
>    }
> 
> ]
> 
> 
> 
> Can the value object be changed in the LMAP YANG model so that it can contain another object (i.e. YANG's anyxml object type)?
>

Please take a look at appendix G of draft-ietf-lmap-yang-05.txt for a possible way to do this if plain name/value pairs are not good enough.
Using anydata makes the data really opaque. But the most important aspect, I think, is that LMAP YANG module provides the proper hooks to enable future extensions (via the parameters container).

/js

PS: Note that options are automatically submitted with result reports;
    we should make sure that added structured parameters are also
    contained in result reports (anydata may work generically here
    since the format is implicitely defined).

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>