Re: [Netconf] YANG Doctor question: empty mandatory choice?

Kent Watsen <kwatsen@juniper.net> Wed, 01 August 2018 00:01 UTC

Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2CB65130E96 for <netconf@ietfa.amsl.com>; Tue, 31 Jul 2018 17:01:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.801
X-Spam-Level:
X-Spam-Status: No, score=-0.801 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=juniper.net
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 0SasuNWxPTLy for <netconf@ietfa.amsl.com>; Tue, 31 Jul 2018 17:01:32 -0700 (PDT)
Received: from mx0b-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B7AC3130E93 for <netconf@ietf.org>; Tue, 31 Jul 2018 17:01:32 -0700 (PDT)
Received: from pps.filterd (m0108157.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w7100Moq006125; Tue, 31 Jul 2018 17:01:32 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=PPS1017; bh=ls9o9FNJerUwMphiJyYUPMA+ulXAtKq+FlsaH2z1ygQ=; b=QVd7JQh5oakr6k4GG3ZTYmvFMwJG1daWk40n4zTMnwsImJNy26T8y48cWfum9hemcim3 z+s6SVtSXUOzA81Q2FUE1YJ+b1KA57ccFR3NVUmzKencnF+RHIYd3tfx8GxXz2YiHm+7 T4RLizBH8c4C9ymMEAFNGLAXyKkJBQMj10u70wzuAPaJEZdUtYbWspL458i66LbGMsXu dCWUewxRka8sdMBLql79fEaLosms+Uis+s186aco9OxWPH1/38Q31HwHFMivrHLcYd0h e6zSuN1Q4sgvlIXjDwyrNUu3B3zgYQNbg31Ss0zwKQ9R/Z3scKCH8JupSFxym62G0zLZ PQ==
Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp0018.outbound.protection.outlook.com [216.32.180.18]) by mx0a-00273201.pphosted.com with ESMTP id 2kjrp412p9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 31 Jul 2018 17:01:32 -0700
Received: from DM6PR05MB4665.namprd05.prod.outlook.com (20.176.109.202) by DM6PR05MB4907.namprd05.prod.outlook.com (20.176.112.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.8; Wed, 1 Aug 2018 00:01:29 +0000
Received: from DM6PR05MB4665.namprd05.prod.outlook.com ([fe80::e0bc:6a82:571d:258]) by DM6PR05MB4665.namprd05.prod.outlook.com ([fe80::e0bc:6a82:571d:258%2]) with mapi id 15.20.1017.010; Wed, 1 Aug 2018 00:01:29 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
CC: Martin Bjorklund <mbj@tail-f.com>, "evoit=40cisco.com@dmarc.ietf.org" <evoit=40cisco.com@dmarc.ietf.org>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] YANG Doctor question: empty mandatory choice?
Thread-Index: AQHUKEYUmUSBX283/kCJ9HawSKyfbKSpntQAgAAjKAA=
Date: Wed, 1 Aug 2018 00:01:29 +0000
Message-ID: <0291FEFB-B0BE-4CA2-8EAB-B1736549B763@juniper.net>
References: <44B0A74E-CCF0-4E9B-846A-1F46E90AEB5E@juniper.net> <20180731175538.tsdcuea4lbdl7fui@anna.jacobs.jacobs-university.de>
In-Reply-To: <20180731175538.tsdcuea4lbdl7fui@anna.jacobs.jacobs-university.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.20.0.170309
x-originating-ip: [66.129.241.12]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DM6PR05MB4907; 6:suASXMmvChwA6VL1IgNSdDSMU+i/eUf4sUoDs/ak2L+WnRaTFht0NmFV2kPuh0dt8u9XLyK9hf30swt0Jpblwc9J75KE8RGhWu+i122KSVX1HlNOXX459NQTzTj2HlGffJ23s3mD81AqrfM4t77Hz9qq1re/zvrlcfouqNuLXIlHKI+U28BPgPlTzhi6hKvZHh72pHppFPxjlamT+phJwwIbhcArcl3f72ayyzc1ngYepvyaGbmgC0bDVVNnyvDXiIPA8sY9PF2/xRdO5QRwe0zUSusA9Bn+GFvt6R4oTKiU9SYEu8bEpVonygWXURJd5o0IFB71pGl7eM14T+trHtEKfRt22ZxpND9T1ziphdzN/4IZFW8OpdlHAudKztprk21YWfTz1/N+MPy3OMu4on4MbOUgV8NEPDSAhMfwYwnSC6aT3moZEHpyvqlN3TK04E/bvHguCWkP3dYujeGSlQ==; 5:VUAYRXoys0/CG/riCPDh+CaEf3dr478sNFsQ5mKew7N2BnVZKhd13S+SQu5i8e9BqFhP4japsi2NGlTZeUMIoM/CRHvq6ZbiugIGD2Pk4CIY4NWfZv+TFG61LqQ3EFqE29wdeUZUSf4u4GpOELyInVDeBDfk0Uo4B6sEkdEQFWg=; 7:LNn8Lx3Y799MEUfeLlqM4ckkGznG1zhO5hlSdiPxI9txjcaaRwSrTStNjTIrATYFYGskFH/hFzunKh04jcmicmIYELiFPZDUrHrVxuWcWH/Wk9IxPV+/eAyVmISIX/nR6IhZGEVfCBILl5h2NlIIzWcWIUQHwbTk9aQ3bp8yJxnj81N92yUrQO8JXuVQtqkIAzqvBMKb2BPUnemb5lkk6cWGZlPm4RCv2Ibgx1OQChyReUlWllVrnypcMH370Q00
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 20e5e9ff-670a-4d70-4e73-08d5f741ef1e
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:DM6PR05MB4907;
x-ms-traffictypediagnostic: DM6PR05MB4907:
x-microsoft-antispam-prvs: <DM6PR05MB4907C15EDFAD33EF0E4084CDA52D0@DM6PR05MB4907.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231311)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:DM6PR05MB4907; BCL:0; PCL:0; RULEID:; SRVR:DM6PR05MB4907;
x-forefront-prvs: 0751474A44
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(136003)(376002)(346002)(366004)(396003)(199004)(189003)(14454004)(106356001)(36756003)(82746002)(86362001)(446003)(54906003)(2906002)(58126008)(11346002)(5250100002)(68736007)(6916009)(6506007)(97736004)(5660300001)(76176011)(81166006)(229853002)(81156014)(53936002)(256004)(486006)(26005)(8936002)(6486002)(4326008)(33656002)(6512007)(7736002)(6246003)(102836004)(316002)(2900100001)(99286004)(25786009)(186003)(478600001)(476003)(6116002)(66066001)(3846002)(6436002)(2616005)(83716003)(105586002)(8676002)(14444005)(305945005); DIR:OUT; SFP:1102; SCL:1; SRVR:DM6PR05MB4907; H:DM6PR05MB4665.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
x-microsoft-antispam-message-info: S26dEvmXUlDHGruoO7W01AiGo6Hbo6HqVSOxldaY2rx1ptcgpj1hwzrbr3bhqn0YCx+fnEZo3L8wbWjUhsHtcydQYpA778HSGqzE3FNdFZt0iogBPcpnd3Qd8pbQl4IP5aEco+4SP9zLqJpWm2ODmvqi5jYk94fg3Nz2pGA9nSpFhIyMJ8iXPt6PhW6LVzgHZrXzeKc+yqvsPMdxEQN12kWdULMHghn393ttqEf6k5zHLuLsq29EKamreh+Hi9zL+viTsBZOo6U2TAO8O6TbYpOv0iSNEFq3+m7wtiM1ffL6JaDHARAmK1jnw/VYHaJY4Vqfd/hk4EEyvVxbWtNM52XbeE7YmthhRh+YeuuQFNY=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <3727C1E0A504BC4A918CF1257E41CD38@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: 20e5e9ff-670a-4d70-4e73-08d5f741ef1e
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2018 00:01:29.7547 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR05MB4907
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-07-31_09:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=889 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1806210000 definitions=main-1807310223
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/SS0AQzp-yoCbYiv6fANljt0aBsI>
Subject: Re: [Netconf] YANG Doctor question: empty mandatory choice?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Aug 2018 00:01:35 -0000


>> In the case of RESTCONF, we could update the ietf-restconf-client and
>> ietf-restconf-server models to include an "encodings" leaf-list, to 
>> configure the RESTCONF server which encodings it should support.
>
> RESTCONF uses SSE for notification delivery. What you have in mind is
> likely the HTTP/2 push transport defined in
> draft-ietf-netconf-restconf-notif

Not really.  The thought extends beyond the notifications work.  In 
general, servers are able to be tuned as to which protocols, algorithms,
etc. are supported.  For instance, NGINX has a parameter for if HTTP2
is enabled.  Similarly, it seems that a server may be configured, for
local policy reasons, to support just xml or just json.  The idea is 
that, if we add these tuning params to the ietf-restconf-[client|server]
models, then those tuning params might be used to enable the encoding
selection for *configured* restconf-notif subscriptions. Just an idea.
Really, this is an open restconf-client-server draft issue, and only a
restconf-notif draft issue when we do the bis on that draft.



> which I think should not be called
> RESTCONF just because it uses some version of HTTP.

Agreed.  The "restconf-notif" draft should really only speak about 
the RESTCONF protocol.  That the YANG module in the draft is called
"ietf-http-subscribed-notifications" surprises me.

Actually, the names of the YANG "notif" modules in general seem 
less than ideal.  I appreciate that RFC 6470 took the name
"ietf-netconf-notifications", and these drafts are trying to
follow that naming convention, but maybe we should choose a
more concise pattern like ietf-notifications-<transport>:

  ietf-notifications-netconf
  ietf-notifications-restconf
  ietf-notifications-coap
  ietf-notifications-http2

or maybe ietf-notifications-<transport>[-<encoding>]:

  ietf-notifications-netconf
  ietf-notifications-restconf-xml
  ietf-notifications-restconf-json
  ietf-notifications-coap
  ietf-notifications-http2-xml
  ietf-notifications-http2-json


> /js

Kent // contributor