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

Kent Watsen <kwatsen@juniper.net> Mon, 30 July 2018 21:14 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 D7640130EE9 for <netconf@ietfa.amsl.com>; Mon, 30 Jul 2018 14:14:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 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, URIBL_BLOCKED=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 t3zgAKEZtrSN for <netconf@ietfa.amsl.com>; Mon, 30 Jul 2018 14:14:18 -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 9816D130E89 for <netconf@ietf.org>; Mon, 30 Jul 2018 14:14:18 -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 w6ULE2Yv004152; Mon, 30 Jul 2018 14:14:18 -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=R6x2vJzfRtIM1yMj4N9u5iqqA8NiD0iVjbAoMIIYzyw=; b=EaPy8Iw9FONbAliV5/le+3PezcY72IeQ86bbb3xxxMuklOs1n8LaYvJ2PB7fKq7ahwKh y74UHV5nqZjhMdhR/w+JLIJH1SGV8+ApArtVOwK/A9lZvsR7y9qcfAfOsOWmQmeTPyqF VVXUV+B/A9yDKNl/8enLeKBn917zSGSwut34U2argryBHEHzT4SORJJ2NREPmKQfrK1z pBMKXtWgaoRMTn6QQQlQa0jjwB9uDI+B9F9Ng7XajtmsDNmci7bVY1iba13iLWq94p81 xAJJ2YvIKOhiW6sgAj7TOdYRRLkGOIyrgE4K0EDBHJc0HuLuTCGXDYaKiRejU9/iVSJr qA==
Received: from nam02-bl2-obe.outbound.protection.outlook.com (mail-bl2nam02lp0082.outbound.protection.outlook.com [207.46.163.82]) by mx0a-00273201.pphosted.com with ESMTP id 2kj6jg0hyq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 30 Jul 2018 14:14:18 -0700
Received: from BYAPR05MB4230.namprd05.prod.outlook.com (52.135.200.153) by BYAPR05MB4501.namprd05.prod.outlook.com (52.135.203.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.10; Mon, 30 Jul 2018 21:14:14 +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 21:14:14 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "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/kCJ9HawSKyfbKSoAO2A
Date: Mon, 30 Jul 2018 21:14:14 +0000
Message-ID: <2A8DE17C-72E8-44C6-8B73-E32CD31549CB@juniper.net>
References: <44B0A74E-CCF0-4E9B-846A-1F46E90AEB5E@juniper.net>
In-Reply-To: <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; BYAPR05MB4501; 6:jO4nCsN95vDZKQh0GsF8PbNICCFntrKlZQCiMZwz3bqaj7wTvqfEOEFZNxoV3Xfs1n0dI30ibwujUOl20FEZM9q+NRLaNwzn168tKN4zTCA6kjXweVuja5dz7h7d3d1hFHMjHYzw4CcvsF+BbdccJz9K0RvwZ/bQ/GvNX71Y1A1GVE8DcxaxkPH4sOS40+ZvBsoeY/XAOzUU3I8PRyS0KJWKeN6/nD1WueUoMg0XeX1v69mAmN9UWo1EII0xxJljvRUjxsxjmdHoVk4pxEvtY9yFBEbMhO5Tfs0Wbaj8DkstGJkVrO4wP1sWe7Z4v6cUzl2x+jCmZ0NoQ+Kw03kodzrObYydkoI/Ury+fc25CpLrQ7v0TINaGqOZ0V6n3Q/daaJx2oTaO6xhCd8oGFmo/eZAMCrywbcfVMHWNhU9EaDilKQdjsr4IbTkESLSI8f4tp3XJtfkNWgx1EpilkGvRg==; 5:ALJbJsRk4uqzOqVj6BJEwOdgVSG/kZwt4xWmxdwFl05x3bvegfJrjxOz316LFnJKX/eQGkhnzXmcO3Q9qlCUs751f90zngF/x1Us8ZVCQylcy7epNb8j431UPMXTx44wNuHNNFcnvKjZa/nJ0BibU1kOJY+IwDXhl/FEYhzUxzI=; 7:V3KRqWskTWY5clRvPPQNFjv8sRw2n+xTd/Yb2rGOggLNxVje9d/N7zy53NZeVMMPK5QFxIAUG6jYv1Y7Jvh2/LgyQXctiIm+SZfAVyvLzGmFLER92RfLOQccj44GMEXCeUy8EPGvdt0lfs4Y920ieJt+JXRQtZ/j/kHE5YpBFvXtZgVz1wPx8bHYs5ZyDBdE1X3TJPK5Xw7TL/0fXBOFXjJmCvw0mpz+pq58lVZmzCedzPBbXj4SBwefV0TfSk1U
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 4c9d871d-6c6e-486d-f4f0-08d5f6616760
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:BYAPR05MB4501;
x-ms-traffictypediagnostic: BYAPR05MB4501:
x-microsoft-antispam-prvs: <BYAPR05MB4501264F37AD56AEC439AEDAA52F0@BYAPR05MB4501.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(10436049006162);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231311)(944501410)(52105095)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:BYAPR05MB4501; BCL:0; PCL:0; RULEID:; SRVR:BYAPR05MB4501;
x-forefront-prvs: 0749DC2CE6
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(346002)(39860400002)(376002)(136003)(366004)(189003)(199004)(51444003)(106356001)(68736007)(99286004)(97736004)(81166006)(81156014)(2900100001)(476003)(14454004)(11346002)(5660300001)(7736002)(966005)(446003)(486006)(8936002)(6506007)(6916009)(76176011)(478600001)(54906003)(256004)(66066001)(305945005)(8676002)(6116002)(25786009)(229853002)(3846002)(58126008)(83716003)(316002)(6306002)(5250100002)(33656002)(36756003)(82746002)(575784001)(86362001)(14444005)(4326008)(102836004)(6486002)(105586002)(26005)(2616005)(6512007)(186003)(2906002)(53936002)(6436002)(6246003); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR05MB4501; 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: /p6TUl0z/teuC/36leFaGSCsywoufd+IgiI2nHMSCqUqA8kku2T1UuMj2OUPu2l1+rPGyYKpqB2dCfQW3qrPjUR8ukfzPG+ha/gtnRsdnHtF5PNh4isqsG8StyCXHtzi7IW+RQ/W+TtEdeiIC5AZg58MRA6FlaYGAZOVii8/NEhCf2mc5NyzoToyAYez0v2Zs1vg3I3+5DwLjGyONa9FTQLAGPL37N1AjBJacsibCGiJNCI/iHJm4EuiA3IdphpfBESw4SO9jbFt9BsynDgdYR+OgbVu3GEwsC/gSypqoJ/McICkCh+wbLxEWqx6yMDWQjzt0J6gw+IbwTYg7ennieHums3OKnUYfrAWz89rBh4=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <8E0A55507A82514DA4FF68DDF08E19EB@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c9d871d-6c6e-486d-f4f0-08d5f6616760
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2018 21:14:14.7890 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR05MB4501
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-1807300223
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/P_wtUkcGqJ9igjpw6ff-_UaqkY8>
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 21:14:22 -0000

Regarding my " the [not mandatory?] 'encoding' leaves comment, I see now 
that the "encoding" leaf has the following "when" statement:

    when 'not(../transport) or derived-from(../transport,
      "sn:configurable-encoding")';

But this doesn't negate the need for the leaf to be mandatory, for those
transports deriving from sn:configurable-encoding.

Additionally, I note that the "encoding" leaf is an identityref to base
type "encoding", from which two identities are derived *in the SN draft*
for (encode-xml and encode-json).  That these identities are defined in
the SN document surprises me, I would've thought that each notif draft
would define its own derived "encoding" identity types, if needed.  Sure,
RESTCONF is special, and other notif drafts can still define their own,
but I'd rather see this done for all transports, including RESTCONF.


Of course, these points are only relevant if we keep the "encoding" leaf...


Kent // contributor

 


===== original message =====

[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


_______________________________________________
Netconf mailing list
Netconf@ietf.org
https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netconf&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=9zkP0xnJUvZGJ9EPoOH7Yhqn2gsBYaGTvjISlaJdcZo&m=bqquEUx-vl7noz7TkXXktSCMP5kLDcq4vNfdjGgi6R8&s=iTOeSctIdaKeqG28BJIl9yub8ktRUTUPRjRqjIXlgHY&e=