Re: [Detnet] Yangdoctors early review of draft-ietf-detnet-yang-12

Don Fedyk <dfedyk@labn.net> Tue, 29 June 2021 23:44 UTC

Return-Path: <dfedyk@labn.net>
X-Original-To: detnet@ietfa.amsl.com
Delivered-To: detnet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3F33B3A3FB1; Tue, 29 Jun 2021 16:44:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=labn.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 b50ZUf1NHQqm; Tue, 29 Jun 2021 16:44:40 -0700 (PDT)
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2097.outbound.protection.outlook.com [40.107.93.97]) (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 27A753A3FB0; Tue, 29 Jun 2021 16:44:39 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vz8MfCxDLUdDk4oX8bV4iEqIk7CwO8AHUpM+QhBYComDlaraoGDMmN6UobZFpIbYnMhrEYVv9GcVH7mGyBAFrBmu0Lf9nlDBRhrSUgxCmjgP9vjxTSo1pNQdO/gZ9xi4vVIp4MoRg1fxuD2sidbVIXvbDv6sc/grpEB+yTo/DrHCRaaI4KA1ahvdn53FkOHfLeyllelfyI6curQY6YNe2Fl6oPBcRBZwDvxwU5UjmQFgHY/8SP7wvkU+7NFUCtUzZjUxhzYAgCydauEJR53cEXQth7wK8C5IQDHNLTmZ7ybyNReaKYMyEMW22CTSeqwOu97/nZCIFZPrDEbgpWh1tw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nlDpRwUCoiKEqiDtZ407SijHtuSoSIFnbZVX6xol5co=; b=a+etNk/RH4FhQdrP/NXI0E4tk9J18ZMCQhDYqKzz5fSKhZt1KoRUbhjNskJajT0EOaD66UCf6ktHzsOgsfy103f5nBYbf5jwNGRcsC/3JyMSI8CGDnUMFzjmofX2cc2Yt5bxlgnXMb0h9Zph1As7Nve81/HBOJuFsuz29aIMlh7QaqPxE9FysZ6M8PWkqUU56j8WQStHwW/3NEmzrdaLKd7ili5G5ocCGz/dBIcCsmJ25/oZUMG3yqN5TA76u8msML8pte9WJLiO5ZDDqS4oaiIfU3s9uYRJpFvZGHWxhwpPTjOMU9kmqXJ2/A0Xl6BvmQMUXVZLvoxYI7AHCOqGyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=labn.net; dmarc=pass action=none header.from=labn.net; dkim=pass header.d=labn.net; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=labn.onmicrosoft.com; s=selector2-labn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nlDpRwUCoiKEqiDtZ407SijHtuSoSIFnbZVX6xol5co=; b=jw7sq3zJ0Gm6L+iUE+SqsGFQ5E2wo5bGJ7IdsWPj5eZRTrVNisQNRD2pNsVmoZ0kufV7Ar+Dybuj/vjq13MhdRFL+PbOByN8vtuPeBmRagjqckdBZWOJJ9CTy+wiKypdOdRQiyCAJoUrKj3mEsF4dEkxvO2PzUcP0WP41N0hq1Y=
Received: from MN2PR14MB4030.namprd14.prod.outlook.com (2603:10b6:208:1dc::14) by MN2PR14MB3375.namprd14.prod.outlook.com (2603:10b6:208:1a3::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.20; Tue, 29 Jun 2021 23:44:36 +0000
Received: from MN2PR14MB4030.namprd14.prod.outlook.com ([fe80::4c5e:8db3:e6b5:256f]) by MN2PR14MB4030.namprd14.prod.outlook.com ([fe80::4c5e:8db3:e6b5:256f%5]) with mapi id 15.20.4264.026; Tue, 29 Jun 2021 23:44:36 +0000
From: Don Fedyk <dfedyk@labn.net>
To: Xufeng Liu <xufeng.liu.ietf@gmail.com>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
CC: "detnet@ietf.org" <detnet@ietf.org>, "draft-ietf-detnet-yang.all@ietf.org" <draft-ietf-detnet-yang.all@ietf.org>
Thread-Topic: Yangdoctors early review of draft-ietf-detnet-yang-12
Thread-Index: AQHXa6FR+jTUdZ7hXkirvrAWreK31Ksrmiag
Date: Tue, 29 Jun 2021 23:44:36 +0000
Message-ID: <MN2PR14MB40304BBE8F9D17405F4031DFBB029@MN2PR14MB4030.namprd14.prod.outlook.com>
References: <162483184905.11951.18366537346797539633@ietfa.amsl.com>
In-Reply-To: <162483184905.11951.18366537346797539633@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=labn.net;
x-originating-ip: [173.48.105.206]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 26460e7a-43e0-4922-6ae6-08d93b57da8e
x-ms-traffictypediagnostic: MN2PR14MB3375:
x-microsoft-antispam-prvs: <MN2PR14MB33759078A1530F79F0D433B3BB029@MN2PR14MB3375.namprd14.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:3826;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: DUU4ApIBVGZF4dPM4dC78OuOqWg9uv1W4lgbsMiG+UEFtUIbE6nsodJ62dk6EZEmZHdw0pRDlLDkGNh/zU0Pn8emohIp1QmxFmTdD3LAWUFci/erkEBJl4JkNBHJcxvkIXdoqAjdu8/0xojt31Zp8pCCj7N+Jzwp4Hq8juzaXPOug5x40gVil9TIdhv7G/e5r7jEBDDYj2hgR1nvteQL5Fy9Gvex/UzkMLe+IlDproyjEuSWRnBRdxa4TsFkDRFMZdJU13dTjvw6cASMIhVXxXyTp41firrI/jgcgPHvbm3inrAmC65/nIzETk/wS2VQooZH5ECRyFM5q5yVPBQJlmwuMDytfH/b9Dq8uw9eJMoaOR/oWfgz5oTFgbJ8mi3OjbRWE3nvdA/tgwM45clrTH+CkIXAQ9iQMJfBmFLysQcH+PdMAbOGz76iOERg+Nwax+wqGTNuDD8y2de6+RUj2LBweG9TTvISEzz/SPEToXcN+efNbjvhP4vsA9Qb1pojep1bqa/c/vXuNWMObO/Xyv368Y5b8lwasEtKyy4wlQMyITopt86NO8vMN9CvaN9fv67HtrnC1ROE+ZF5tIXWXks2drfQMYKfCjFXTXzIuPJZjlqWIXMyZBSkBF02dsc7gIyySyu3Oe6pxmBf7FrlTn/Nm4n7Lx9szI4YL+rRk6nuWy2b3c9ortuUsu4IKkFng2ILByfkvUXxfFW92fLRZszQfc0ULMSsO8WVLZ7cohEUOhgDV758cfpHYaPYQPabgstrHTsEuMIB/Rdf25PbHA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR14MB4030.namprd14.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(366004)(396003)(376002)(346002)(39830400003)(966005)(66446008)(66556008)(64756008)(71200400001)(66476007)(33656002)(7696005)(5660300002)(53546011)(6506007)(8676002)(2906002)(186003)(38100700002)(66946007)(54906003)(30864003)(316002)(76116006)(122000001)(86362001)(26005)(83380400001)(110136005)(478600001)(8936002)(55016002)(52536014)(9686003)(4326008); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 5GemMuLG5Fl2gQ3kMR+BunCZguTXa5QOEUxkiH9jv1ddY2r20Ej05vQJeGIPWVVKd0tQC2RTODP+99P+lhoSQnm42QDMs8fNiKBlH4H1q8IsZv3d4OxfXklLDwQhcoy24BtgsaeKkhgUzxOaMPJKA4BQoryEyzUJ6V5h3XvDm1EeW40Qe9RXbSDOZ3gnjwMKS/zYegvfHAX+flfVPCZg4i5FWbUvr+Ja5UoSi0yOwVQfXV9aJdgQP3vklhnJwnykgLs1PVZY3CyyxAftbzBA4SeHIjFs82wbYCbb0oCRzcT7J5feIdpWdVqVzS3qIo7ZS9WwAQkcsmRZVRwlcOXyTPhc8/6KDwWVFsZLfHLCluuR23zysLZ6/qAKYxNhR16TZtW45OXjRwryllOuXHWyzc81EmBVtNnAoBsnX32CPr/cFkKZO0ccUcpWZddCZbtALb0WJnSYxL+Lqv/vxyZAtF4iSJ0veIhmBwRwBFppvDbAY3wEO89FTPxfOk5HniCtzC9eZE7KxRwhMi2bwiuOzC6thJsurAMWYe+al554NHEjBxsQHhfpsKXP/scVdAvbU7MJIlg8QzqPXLJQxjR+INJCgTZcT4a05soBhfbfHDi4mra5JoKQdKYWvEROXQoPZyMK6HhbVgeTTGVFpzkEzfOy0bdeoM4UbQNjDB3gL/cdNkb5Ma3I9Use0ouesbY++L7RREsiZksWClEIa2UxYYc7DYR5TmAvg0k9LkY7i3NkLmi/7imXeEbE7+t/YtsMSrT6beQDcee+8IszZaSm9ufDBEJJfz47s+1RgdsDXEEb0SW3rrn+xVU8dCRRas1qXfzZcVG5dP7AYRg5dwnBh+Lcfv2caqX8uz1E/nOp/DF+DvyzaU+FFBlZPYmanswJZDbVVGp66Utk7Ly+bZxK6H9/ymTA/8hYj+fNLBjtdUkpRH0K2vKEeYxN7EV7Aoc/aRjwQs8awz4Y9GzZFTxOa0iV8h5VnkZP7CTDL2r8zIFN2u8w4cAVNQHPgIx3pjVbO8Cbs7/uULE08rEJON1xP7B1r4ea8KKzHInEq0aV8+voP3kkDoGGiwHIwxA+Xd9Dky7JiDm7m0SzG+W9w0Qt6CIUjqJx04Df8E8/HTdrn25QPEXoK1sCQocEZmcAesPNzbz8qCLPajCWU+x+hkFoFcbDBfMOWCUvb8OqmLVuWeERwUuGs5Lf7F4DSzKhYP/LWUa2uhGvIzhs1hRWCOTztaiXedrkGacgaYGy4FKqnTI5R6GKnlAxj5yVjxfKBxShIVKzOoyg1CwUW2dVkYIK+QQzGL++AVnyYE/B52EpT5AlRl63ZN1wOc7wnWrbk8vK
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: labn.net
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MN2PR14MB4030.namprd14.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 26460e7a-43e0-4922-6ae6-08d93b57da8e
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jun 2021 23:44:36.3231 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: eb60ac54-2184-4344-9b60-40c8b2b72561
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5xGowvLK1l6re6dt77Hl6g7OBIQehomMXqMfmZ5Ny98kFBia73KjHhvD1As7MFJsBt5s3udlCjVXieS0FAhhWA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR14MB3375
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/9SMG9cwanZO6mL8DoxOlYjY1zXc>
Subject: Re: [Detnet] Yangdoctors early review of draft-ietf-detnet-yang-12
X-BeenThere: detnet@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussions on Deterministic Networking BoF and Proposed WG <detnet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/detnet>, <mailto:detnet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/detnet/>
List-Post: <mailto:detnet@ietf.org>
List-Help: <mailto:detnet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/detnet>, <mailto:detnet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 29 Jun 2021 23:44:43 -0000

Hi Xufeng


Thanks for your detailed comments. 

Comments inline [Don]

-----Original Message-----
From: Xufeng Liu via Datatracker <noreply@ietf.org> 
Sent: Sunday, June 27, 2021 6:11 PM
To: yang-doctors@ietf.org
Cc: detnet@ietf.org; draft-ietf-detnet-yang.all@ietf.org
Subject: Yangdoctors early review of draft-ietf-detnet-yang-12

Reviewer: Xufeng Liu
Review result: On the Right Track

This is a review of the YANG module in draft-ietf-detnet-yang-12.

1) Missing diagrams in the PDF and HTML versions of the document.
Sec A.1. says “Please consult the PDF or HTML versions for the Case A-1 Diagram”, but the this diagram and other diagrams are not present. Because of the missing diagrams, it is unclear how these examples work, so the following comments are based on some assumptions that may or may not be what the authors intend to hold.
[Don] raised as a Tools issue to the editor. 

2) Implementation locations and the users of the model.
    Is this a network model implemented on a controller or a device model
    implemented on a network element? The abstract section states “The model
    allows for provisioning of end-to-end DetNet service”, but the YANG module
    and all examples use “ietf-interfaces”, which is a device model. The
    interface name such as “eth0” is unique within the scope of a device. There
    is no explanation in the YANG module and any of these examples.
   If the model is intended to be used on a network-wide controller, any device
   module should not be imported. A network-wide module may be used on a
   device, and a device module may then be imported.

[Don] Will Clarify.  The model is per device. Either an operator or a Controller aligns the configuration of the devices. 

3) In Sec 5., in the diagram, “TR” is used, but not defined. Amusing that “Ref”
means “referencing”, the abbreviation also needs to be defined, especially if this is using the YANG leafref mechanism.
[Don] TR should be Traffic Profile. I have expanded this acronym. 

4) In Sec 5., the last paragraph states “four parts of DetNet functions defined in section 3”, but “section 3” does not define the “four” parts.
[Don] Wil fix this. This is referring to App-flow, Service Sub-layer, Forwarding Sub-layer and traffic Profile (as 4 but this this confusing.) The Modle has 4 main section but supports 3 layers (not instances) 

5) In Sec 5., the last paragraph describes “three instances in DetNet YANG Model”. The term “instance” is not clear here. A YANG data model does not usually consist of “instances”. RFC7950 uses “instance” to indicate the configuration data or operational data, so “instance” means “data instance”, which is not part of a YANG data model that “describes how data is represented and accessed”.

In Sec A.1, Example A-1 provides one data instance that contains all three “parts” (or components) of the DetNet system, so there is no such a concept of “App-flow instance”, “service sub-layer instance”, or “forwarding sub-layer instance”, because one single “data instance” may contain all three parts.
[Don] App-flow is a layer.  A node for example an edge node is a data instance that has the 3 layers. 

6) In Sec 6. in the sub-tree app-flows,
    6.1) Does this sub-tree model App-flow or NetNet flow, or both?
    draft-ietf-detnet-flow-information-model-14 defines both terms and
    describes the distinctions between them.
[Don] App-Flow is a DetNet flow it all depends on the granularity and where you are. At an edge a flow or set of flows come from an application. It could be a single applications i.e. a voice call or a bunch of flows - another DetTet network (with voice and video flows). 
Note it is all unidirectional.  

    6.2) Except the leaf "name", all other leaves are optional. When a user
    creates an instance of app-flow with only the name specified, what does the
    system do?
[Don] Will check but in essence if the Application is an ingress interface there is not much there. I think we can make interface mandatory (Multiple apps can aggregate multiple interfaces.)   Traffic flow qualifiers can be refine to less than an interface. 

    6.3) Containers “ingress” and “egress” are specified. However, based on Sec
    2.1 of draft-ietf-detnet-flow-information-model-14, An app-flow consists of
    source and destination, not ingress and egress. “DN Ingress” and “DN
    Egress” are parts of a “DetNet flow”, not app-flow.
[Don] DetNet flow equals App-Flow.  Source and destination are used as traffic qualifiers for IP flows.  

    6.4) Container “ingress” should not contain both source and destination.
    Sec 2.1. of draft-ietf-detnet-flow-information-model-14 defines the
    “ingress” as the location where DetNet flow starts, so the ingress is
    related only to the source, not the destination.
[Don] Ingress is for aggregation / filtering of traffic in a unidirectional.  It is like an Access control list for the traffic.  Will add a note. But source and destination is correct. 

    6.5) Based on Sec 5.4. of draft-ietf-detnet-flow-information-model-14, the
    choice data-flow-type under the container “ingress” is how a DN flow is
    identified, so this choice is not just related to the ingress of the flow,
    and should be outside of the container “ingress”.
[Don] This is Unidirectional. Ingress is the correct placement. The other direction is Ingress on the remote end. 

    6.6) Based on Sec 5.6. of draft-ietf-detnet-flow-information-model-14, the
    ingress section of the model should identify the ingress node(s) and/or
    starting reference points. It would be good to have some description on how
    the ingress node(s) is (are) identified, especially in the case of
    mpls-app-flow. The description on the leaf name currently is "Ingress
    DetNet application", which is not consistent with the definition in
    draft-ietf-detnet-flow-information-model-14.
[Don] These are identified by interfaces and next-hops (interfaces). 

    6.7) Why is app-flow-status under the container ingress? app-flow-status is
    related to an instance of app-flow, not only the “ingress” part of the
    app-flow, right?
[Don] The status is unidirectional. The remote side has the other direction status.  

    6.8) The leaf interface in the container ingress would only work when this
    model is implemented on a device (but not on a controller) because
    ietf-interfaces is a device model. Based on my previous assumption that
    this model may be used as a network-wide model on a controller, the
    referencing to ietf-interfaces would not be appropriate.
[Don] This is a device model. The controller configures multiple devices. If the configuration does not align the flow will not work. 

    6.9) The relationship between app-flow and service-sub-layer needs better
    described. When an app-flow is served by a DN service, the packets of this
    app-flow are processed by this particular ND service, so there is only one
    supporting service. Why are there the “incoming-service” and
    “outgoing-service”? Are the terms “incoming-service” and “outgoing-service”
    defined and/or described in any document?
[Don] We support point to point and point to multipoint. (Replication is an example.) 

7) In Sec 6. in the  sub-tree traffic-profile:
   The container flow-spec is not consistent with
   draft-ietf-detnet-flow-information-model-14, which defines the leaves under
   this container as TrafficSpecification in Sec 4.1.
[Don] It is up the to WG if they want to change the name. I will ask the work Group. The flow specification is a functional model. The DetNet model does not map 1:1. 

8) Before Sec 6, the document does not have an informative reference to the YANG tree diagrams specification RFC8340. Refer to Section 2.2 of [RFC8349] for an example of such a reference.
[Don] Added. Tom Petch Commented. 

9) In Sec 7, the document text does not have the references to the RFCs cited in the YANG module. These references also need to be listed in the document.
Sec 5 of RFC7317 provides a good example.
[Don] Added. Tom Petch Commented.

10) In Sec 9, the Security section is missing.
[Don] Added. Tom Petch Commented.

11) In Sec 8, the IANA Considerations section is incorrect, with missing IANA requests.
[Don] Added. Tom Petch Commented.

12) For the IP address or prefix examples in the Appendix,  a mix of either
IPv4 and IPv6 addresses or IPv6 addresses exclusively SHOULD be used.
[Don] The model supports it but it is a royal pain to align the sample config and the SVG diagrams. I would much rather say IPv4 is shown and IPv6 is supported. I already did some conversion of the from Tom Petch's comments apparently there is a Ipv4 IETF space we have to use. You can see the updates here:  https://github.com/detnet-wg/draft-ietf-detnet-yang/blob/master/draft-ietf-detnet-yang-13.pdf
The issue is IPv6 examples do not clarify anything as far as I'm concerned. They just burn more text and diagram real estate (and editorial time). 

13) The module prefix ietf-detnet is better to be changed to detnet.
IETF-defined YANG modules usually do not use “ietf-” as part of the prefix name.
[Don] Changed to dnet per Tom Petch Comment. 

14) As described in Sec 4.3.1. of RFC8407, child nodes within a container or list SHOULD NOT replicate the parent identifier. There are several occasions in the YANG module, for example, profile-name, app-flow-bidir-congruent, service-protection, and service-operation-type.
[Don] Perhaps the YANG tools should prevent this! We evolved the naming several times. Personally. I prefer to make the container profile and the child name for example which works when reading the tree diagram and in the config examples. 

15) The node name in the list or leaf-list statements should not contain the suffix “-list”, or in the plural format. For example, service-sub-layer-list is better to be changed to service-sub-layer; member-services should be member-service. The structure of app-flows/app-flow* is the common convention used in IETF. It would be good to be consistent within this module, so it will be a good idea to add a container "traffic-profiles" to the list "traffic-profile".
[Don] Already removed -type.  Will remove -list. 

16) Most of the leaves in this module are defined as optional, but only one leaf has a default statement in the entire module. It is generally needed to either provide a default value or an explanation in the description for such an optional leaf.
[Don] Correct the leaves are optional - the model support various levels of traffic refinement (6-tuple) aggregation etc. 

17) There is no configuration node and operational state node to indicate whether DetNet is enabled on the system. Please confirm that this is the intention. The fact that this module is supported on a system may not mean that DetNet is enabled.
[Don] I don't know I don't see a system enable/disable being useful. Perhaps a feature statement? Then if a system does not support the feature it is disabled. 

Thanks again. 
Don  

Thanks,
- Xufeng