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

Kent Watsen <kwatsen@juniper.net> Mon, 30 July 2018 20:44 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 4D8DF130ED8 for <netconf@ietfa.amsl.com>; Mon, 30 Jul 2018 13:44:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=unavailable 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 tnkbfhgxPt2N for <netconf@ietfa.amsl.com>; Mon, 30 Jul 2018 13:44:19 -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 2738A130EB9 for <netconf@ietf.org>; Mon, 30 Jul 2018 13:44:19 -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 w6UKiIZC013684; Mon, 30 Jul 2018 13:44:18 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : content-type : content-id : content-transfer-encoding : mime-version; s=PPS1017; bh=WMSHk5DomJSVDCaywih4ajnlZWmMqmCGNmZvUqmDH0Y=; b=xbiRjB3X4VLYoaOdAFsoNjS67suAR6121KUkCXnPc1duZZqNQCu3eFRM0unFWf9azKAQ X/E2Eue/But6rB2+aQrCMSSqUpJnpN/qdKNu6WnPtbnyPlS8m2PWd2JqL3VSteEAXq1V 6O8Gc+HyFc7CgXvNvgXdJgq1hvhln6Ly5lGx3Qne2RKnN6yAJKgilvcE/J7DoJczD0wM hOTC4EnNGYNkHsldIyRi/wuJREQL0Gj+38wMNixOpm7bljKye+zASe3mqdkxqbDNPv+B C+DqUrK0NTZE6i+Pd7RS1J5nZeWwLiRxkfmaWLoE330R6Kg7la+6z+QHqplSdCYOUr52 sQ==
Received: from nam01-sn1-obe.outbound.protection.outlook.com (mail-sn1nam01lp0116.outbound.protection.outlook.com [207.46.163.116]) by mx0a-00273201.pphosted.com with ESMTP id 2kj6jg0g62-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 30 Jul 2018 13:44:18 -0700
Received: from BYAPR05MB4230.namprd05.prod.outlook.com (52.135.200.153) by BYAPR05MB4903.namprd05.prod.outlook.com (52.135.235.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.5; Mon, 30 Jul 2018 20:44:16 +0000
Received: from BYAPR05MB4230.namprd05.prod.outlook.com ([fe80::84c5:999c:9159:d416]) by BYAPR05MB4230.namprd05.prod.outlook.com ([fe80::84c5:999c:9159:d416%2]) with mapi id 15.20.1017.010; Mon, 30 Jul 2018 20:44:15 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "j.schoenwaelder@jacobs-university.de" <j.schoenwaelder@jacobs-university.de>, "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/kCJ9HawSKyfbA==
Date: Mon, 30 Jul 2018 20:44:15 +0000
Message-ID: <44B0A74E-CCF0-4E9B-846A-1F46E90AEB5E@juniper.net>
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; BYAPR05MB4903; 6:kK+jGWdF09Ck/U4VvGC4vdhgRAcEMqFeMpK6ESO3v22THEas6I/J/mfEwsLRuq+Y0Rl51SrbwQYTCxvoHMIx1HQhYlRMjZz4a1GBAkIU49SB64c4hI6z5AMqD727zKSi91ITCooEsn7McCmvayuk0QcQlElmnSjXNDaULKWCfti59UmYVyk7OliKdW5OWZ8UMHNSbKA2TE/0pFw4tnopsfiCfUC64JV6I2azkqr8Rjz2lR+2q0+UuHLedNVgB9ej1Nvs7Y70DACEZ07S8p8GHGqplnC3gFeP6G0RRm/jCV9yfrI/CKQMoIQM6cM0qVwEpgyzf+lj7XVtaBnjvj34dlA6lB7cvtwuD9so53K7sfVXp5jijN1pgx8Thf8XuMv8dboQm0eX+C+xRaTclG6vIISiWX++5QD4o0b6vT7SQ3aJvI2HZm9eY59F78t3iFEV5K1OJAaS14SgrHd1vzkkoQ==; 5:y1ycCXkfvPH5dXgkAWuB0BS5sCsoF8wpgsbZ50/5euq10qyhFt4ibLRCUmh86lv0h2T6623EcJqvRQoEwumhPQzBtjflZG2sm7vAQkTlfsGWMqIf4C2KTQhMfAV/ojMdQL5wJNZVkkJ/ordHbrJgcVP1ZMltK/VQqZQ+BGgIbrk=; 7:Op3HJnrBAcqy6Vkm9p6FBMYydGlxqhL70pGnIHKjPnhI4tk8155XePkpmOrctkOmdbpNxbipivOyvY3dFa36UZQOVtbxVHoLfA7Dpcw/0ryx0IuD0b4INJpJeaVq/2vognX7YteENZxY1nuCF1+d9jgV2gJE5ekn59I+E1qOIz7IloMRDH04B9yaLjHlYYcMHVSvKVpLs4P5EXwImNhTygtJJU00GIe/uu/hdpIiPd0QUE/63kBBjy3eHoD2OlLC
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: f774d07e-5902-459f-7e2c-08d5f65d3718
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600074)(711020)(4618075)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:BYAPR05MB4903;
x-ms-traffictypediagnostic: BYAPR05MB4903:
x-microsoft-antispam-prvs: <BYAPR05MB4903D09F8E5067C5D57B7D9EA52F0@BYAPR05MB4903.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)(3002001)(3231311)(944501410)(52105095)(10201501046)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:BYAPR05MB4903; BCL:0; PCL:0; RULEID:; SRVR:BYAPR05MB4903;
x-forefront-prvs: 0749DC2CE6
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(396003)(346002)(39860400002)(136003)(366004)(189003)(199004)(51444003)(26005)(14444005)(256004)(68736007)(105586002)(58126008)(54906003)(86362001)(5250100002)(316002)(478600001)(53936002)(6246003)(3846002)(6116002)(83716003)(2906002)(97736004)(2616005)(476003)(36756003)(8936002)(186003)(6486002)(82746002)(229853002)(99286004)(7736002)(305945005)(33656002)(4326008)(5660300001)(2900100001)(6916009)(102836004)(66066001)(25786009)(8676002)(6506007)(81156014)(81166006)(6512007)(106356001)(486006)(14454004)(6436002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR05MB4903; H:BYAPR05MB4230.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
x-microsoft-antispam-message-info: ltXDKYWYnQCyaiuP1qtgYJM//1V0hLmTuR07+EYDtjYIqCCSmqoNWnNRF3Xe+C9Frjyzt4bOIkyFG8TazvNXlnp2tadC8HrCJrSdT5tCQQ0YmqCWwmwnJbcPhkzMrRpydevIWJRHTcIleak3y+mg/MVBJXt8EoqQA1PPQ/fI186UjC5L7aDhDKvQiQbWa9j2hCU5ea+XSrWJx+wKoaUdjen0ESr5qrOmbQEU+DxAneZCb9oirPknyeVlkzr/2o/r6bBKKw2jeTIB5DG75jKR3vpolULv2fZAZR2HDCvAhaF7vff8Z6bmjhG4z+C748fVjt7VArV/5edthXZw7p2NkXZRtUHtOkpw32OUO9MwPNM=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <F51225E0385F3E45B5F4B8F09FC5640E@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: f774d07e-5902-459f-7e2c-08d5f65d3718
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2018 20:44:15.7895 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR05MB4903
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-07-30_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=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1806210000 definitions=main-1807300218
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/O83R-3DGrNEKPo46MpChQOQyCdU>
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: Mon, 30 Jul 2018 20:44:22 -0000

[removing yang-doctors list, and updating subject line accordingly]


>> > Why do all receivers of a subscription have to use the same transport?
>> 
>> This was something that Martin and Eric worked out before we did the first
>> Last Call.  Eric doesn't seem to know the particular reason, other than 
>> Martin seems to think it’s easier.
>
> No; I personally also prefer a design where each receiver has its own
> transport + encoding.  

+1


> The original model had a common "encoding" for
> all receivers, and then a receiver-specific transport - I think this
> is even worse,

Agreed.


> and suggested to have transport + encoding defined
> together preferrably receiver-specifc or else common for all
> receivers.
>
> If the WG now believes that the transport + encoding should be done 
> per receiver, this should be fairly easy to change.

I also prefer per receiver, and I think that doing so will simplify the
model, as neither the mandatory "transport" nor the [not mandatory?]
"encoding" leaves have to be specified.

In particular, my thoughts are that the "notif" model should provide
for the encoding selection, if needed (it's not needed for NETCONF, 
or COAP I imagine).  

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.  We
likely need to do something similar to configure which HTTP versions
should be supported.  Now, in a general RC server, the server could 
support both but, if the restconf-notif draft has its own list of 
restconf-servers (i.e., it uses the "restconf-server-grouping" itself,
see my July 19 email for a YANG example), then a constraint could be
added limiting the number "supported" to just one.  Thus, when the RC
server reboots, and connects to the receiver and *automatically* 
(no client RPC) starts pushing notifications, it can know what 
encoding to use.

I'm still unsure if its legal for an RC server to automatically push 
notifications without a client-initiated RPC of any sort, and I'm 
also uncertain if supporting *configured* subscriptions for NC or RC
is needed (see my message July 20 email).  So, some of this may work
itself out as we progress.

I know that we're not defining the *configured* notif drafts in this
first effort, the we are publishing the SN draft with a configuration
model, my only concern now is configuration model presented in the 
SN draft.


Kent // contributor