RFC 9130: YANG Data Model for the IS-IS Protocol
- S. Litkowski, Ed.,
- D. Yeung,
- A. Lindem,
- J. Zhang,
- L. Lhotka
Abstract
This document defines a YANG data model that can be used to configure and manage the IS-IS protocol on network elements.¶
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
This document defines a YANG data model [RFC7950] for the IS-IS routing protocol.¶
The data model covers the configuration of an IS-IS routing protocol instance, as well as the retrieval of IS-IS operational states.¶
A simplified tree representation of the data model is presented in Section 2. Tree diagrams used in this document follow the notation defined in [RFC8340].¶
The module defined in this document is designed as per the Network Management Datastore Architecture (NMDA) [RFC8342].¶
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
2. Design of the Data Model
The IS-IS YANG module augments the
"control
The diagram below shows the overall structure of the "ietf-isis" YANG module defined in this document. NOTE: '\' line wrapping is per [RFC8792].¶
2.1. IS-IS Configuration
The IS-IS configuration is divided into two areas:¶
Additional modules may be created to support additional parameters. These additional modules MUST augment the "ietf-isis" module.¶
The model includes optional features for which the corresponding
configuration data nodes are also optional. As an example, the ability
to control the administrative state of a particular IS-IS instance is
optional. By advertising the feature "admin
The global configuration contains the usual IS-IS parameters, e.g.,
"lsp-mtu", "lsp-lifetime", "lsp-refresh", "default
2.2. Multi-Topology Parameters
The model supports Multi-Topology (MT) IS-IS as defined in [RFC5120].¶
The "topologies" container is used to enable support of the MT extensions.¶
The "name" used in the topology list should refer to an existing Routing Information Base (RIB) defined for the device [RFC8349].¶
Some specific parameters can be defined on a per-topology basis, at both the global level and the interface level: for example, an interface metric can be defined per topology.¶
Multiple address families (such as IPv4 or IPv6) can also be
enabled within the default topology. This can be achieved using the
"address
2.3. Per-Level Parameters
Some parameters allow per-level configuration. For such parameters, the parameter is modeled as a container with three configuration locations:¶
- A top-level container:
- Corresponds to "level-all", so the configuration applies to both levels.¶
- A level-1 container:
- Corresponds to parameters specific to level 1.¶
- A level-2 container:
- Corresponds to parameters specific to level 2.¶
Example:¶
An implementation MUST prefer a level-specific parameter over a top-level parameter. For example, if the priority is 100 for the level-1 configuration and 250 for the top-level configuration, the implementation must use 100 for the level-1 priority and 250 for the level-2 priority.¶
Some parameters, such as "overload bit" and "route preference", are not modeled to support per-level configuration. If an implementation supports per-level configuration for such parameters, this implementation MUST augment the current model by adding both level-1 and level-2 containers and MUST reuse existing configuration groupings.¶
Example of augmentation:¶
If an implementation does not support per-level configuration for a parameter modeled with per-level configuration, the implementation should advertise a deviation to announce that it does not support the configuration of level-1 and level-2 containers.¶
Finally, if an implementation supports per-level configuration but does not support the "level-all" configuration, it should also advertise a deviation.¶
2.4. Per-Interface Parameters
The per-interface section of the IS-IS instance describes
the interface
The interface is modeled as a reference to an existing interface
as defined in the "ietf
Each interface has some interface
Some parameters, such as "hello
2.5. Authentication Parameters
The module defined in this document enables authentication configuration through the
"ietf
2.6. IGP/LDP Synchronization
[RFC5443] defines a mechanism where
IGP (the Interior Gateway Protocol) needs to be synchronized with LDP
(the Label Distribution Protocol).
An "ldp-igp-sync" feature has been defined in the model to support
this functionality.
The "mpls
2.7. ISO Parameters
As the IS-IS protocol is based on the ISO protocol suite, some ISO parameters may be required.¶
This module augments the "ietf
The "clns-mtu" parameter can be configured for an interface.¶
2.8. IP FRR
The YANG module defined in this document supports LFAs (Loop-Free Alternates) [RFC5286] and remote LFAs [RFC7490] as IP Fast Reroute (FRR) techniques. The "fast-reroute" container may be augmented by other models to support other IP FRR flavors (Maximally Redundant Trees (MRTs) as defined in [RFC7812], Topology Independent LFA (TI-LFA) FRR as defined in [SR-TI-LFA], etc.).¶
The current version of the model supports activation of LFAs and remote LFAs at the interface level only. The global "lfa" container is present but kept empty to allow augmentation with vendor-specific properties, e.g., policies.¶
Remote LFAs are considered an extension of LFAs. Remote LFAs cannot be enabled if LFAs are not enabled.¶
The "candidate
2.9. Operational States
Operational states are defined in the "ietf-isis" module in various containers at various levels:¶
- system-counters:
- Provides statistical information about the global system.¶
- interface:
- Provides configuration state information for each interface.¶
- adjacencies:
- Provides state information about current IS-IS adjacencies.¶
- spf-log:
- Provides information about Shortest Path First (SPF) events for an IS-IS instance. This SHOULD be implemented as a wrapping buffer.¶
- lsp-log:
- Provides information about LSP events for an IS-IS instance (reception of an LSP or modification of a local LSP). This SHOULD be implemented as a wrapping buffer. The implementation MAY optionally log LSP refreshes.¶
- local-rib:
- Provides the IS-IS internal routing table.¶
- database:
- Provides the contents of the current Link State Database (LSDB).¶
- hostnames:
- Provides the system
-ID -to -hostname mappings [RFC5301].¶ - fast-reroute:
- Provides IP FRR state information.¶
3. RPC Operations
The "ietf-isis" module defines two RPC operations:¶
4. Notifications
The "ietf-isis" module defines the following notifications:¶
- database
-overload : - This notification is sent when the IS-IS node's overload condition changes.¶
- lsp-too-large:
- This notification is sent when the system tries to propagate a PDU that is too large.¶
- if-state-change:
- This notification is sent when an interface's state changes.¶
- corrupted
-lsp -detected : - This notification is sent when the IS-IS node discovers that an LSP that was previously stored in the LSDB, i.e., local memory, has become corrupted.¶
- attempt
-to -exceed -max -sequence : - This notification is sent when the system wraps the 32-bit sequence counter of an LSP.¶
- id-len-mismatch:
- This notification is sent when a PDU with a different value for the system ID length is received.¶
- max
-area -addresses -mismatch : - This notification is sent when a PDU with a different value for the Maximum Area Addresses is received.¶
- own-lsp-purge:
- This notification is sent when the system receives a PDU with its own system ID and zero age.¶
- sequence
-number -skipped : - This notification is sent when the system receives a PDU with its own system ID and different contents. The system has to reissue the LSP with a higher sequence number.¶
- authentication
-type -failure : - This notification is sent when the system receives a PDU with the wrong authentication type field.¶
- authentication
-failure : - This notification is sent when the system receives a PDU with the wrong authentication information.¶
- version-skew:
- This notification is sent when the system receives a PDU with a different protocol version number.¶
- area-mismatch:
- This notification is sent when the system receives a Hello PDU from an IS that does not share any area address.¶
- rejected
-adjacency : - This notification is sent when the system receives a Hello PDU from an IS but does not establish an adjacency for some reason.¶
- protocols
-supported -mismatch : - This notification is sent when the system receives a non-pseudonode LSP that has no matching protocol supported.¶
- lsp
-error -detected : - This notification is sent when the system receives an LSP with a parse error.¶
- adjacency
-state -change : - This notification is sent when an IS-IS adjacency moves to the "up" state or the "down" state.¶
- lsp-received:
- This notification is sent when an LSP is received.¶
- lsp-generation:
- This notification is sent when an LSP is regenerated.¶
5. Interactions with Other YANG Modules
The "isis" container augments the
"
The "ietf-isis" module augments
"
Some IS-IS-specific route attributes are added to route
objects in the "ietf-routing" module by augmenting
"
The module defined in this document uses some groupings from "ietf-keychain" [RFC8177].¶
The module reuses types from [RFC6991] and [RFC8294].¶
To support Bidirectional Forwarding Detection (BFD) for fast detection, the module relies on [RFC9314].¶
6. IS-IS YANG Module
The following specifications are referenced in this module: [ISO-10589], [RFC1195], [RFC4090], [RFC5029], [RFC5120], [RFC5130], [RFC5286], [RFC5301], [RFC5302], [RFC5305], [RFC5307], [RFC5308], [RFC5443], [RFC5880], [RFC5881], [RFC6119], [RFC6232], [RFC6241], [RFC6991], [RFC7490], [RFC7794], [RFC7917], [RFC7981], [RFC8177], [RFC8294], [RFC8342], [RFC8343], [RFC8349], [RFC8405], [RFC8570], [RFC8706], and [RFC9314].¶
7. Security Considerations
The YANG module specified in this document defines a schema for data
that is designed to be accessed via network management protocols such
as NETCONF [RFC6241] or RESTCONF [RFC8040].
The lowest NETCONF layer is the secure transport layer, and the
mandatory
The Network Configuration Access Control Model (NACM) [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.¶
There are a number of data nodes defined in this YANG module that are
writable
/isis¶
/isis
For IS-IS, the ability to modify IS-IS configuration will allow the entire IS-IS domain to be compromised, including forming adjacencies with unauthorized routers to misroute traffic or mount a massive Denial
Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments. It is thus important to
control read access (e.g., via get, get-config, or notification) to these data
nodes. These are the subtrees and data nodes and their
sensitivity
/isis/database¶
/isis/local-rib¶
Exposure of the Link State Database (LSDB) will reveal the detailed
topology of the network. Similarly, the IS-IS local RIB exposes the reachable
prefixes in the IS-IS routing domain. Exposure of the LSDB and local RIB may
also reveal information beyond the scope of the IS-IS router; this may be
undesirable, since such exposure may facilitate other attacks. Additionally,
the complete IP network topology -- and, if deployed, the TE topology of the
IS-IS domain -- can be reconstructed from the LSDB. Though not as
straightforward
For IS-IS authentication, configuration is supported via the
specification of a key chain [RFC8177]
or the direct specification of a key and authentication algorithm.
Hence, authentication configuration using the "key-chain" case in the
"authentication
Some of the RPC operations in this YANG module may be considered sensitive or
vulnerable in some network environments. It is thus important to control
access to these operations. These are the operations and their
sensitivity
The IS-IS YANG
module supports the "clear
The actual authentication key data (whether locally specified or part of a key chain) is sensitive and needs to be kept secret from unauthorized parties; compromise of the key data would allow an attacker to forge IS-IS traffic that would be accepted as authentic, potentially compromising the entire IS-IS domain.¶
The model describes several notifications. Implementations must rate-limit the generation of these notifications to avoid creating significant notification load. Otherwise, this notification load may negatively affect system stability and may be exploited as an attack vector.¶
8. IANA Considerations
The IANA has assigned the following URI in the "IETF XML Registry" [RFC3688].¶
- URI:
- urn
:ietf :params :xml :ns :yang :ietf -isis¶ - Registrant Contact:
- The IESG¶
- XML:
- N/A; the requested URI is an XML namespace.¶
This document also adds the following YANG module name in the "YANG Module Names" registry [RFC6020]:¶
9. References
9.1. Normative References
- [ISO-10589]
-
ISO, "Intermediate System to Intermediate System intra- domain routeing information exchange protocol for use in conjunction with the protocol for providing the connectionless
-mode network service (ISO 8473)" , International Standard 10589: 2002, Second Edition, , <https://www >..iso .org /standard /30932 .html - [RFC1195]
-
Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, DOI 10
.17487 , , <https:///RFC1195 www >..rfc -editor .org /info /rfc1195 - [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC3688]
-
Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10
.17487 , , <https:///RFC3688 www >..rfc -editor .org /info /rfc3688 - [RFC4090]
-
Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, DOI 10
.17487 , , <https:///RFC4090 www >..rfc -editor .org /info /rfc4090 - [RFC5029]
-
Vasseur, JP. and S. Previdi, "Definition of an IS-IS Link Attribute Sub-TLV", RFC 5029, DOI 10
.17487 , , <https:///RFC5029 www >..rfc -editor .org /info /rfc5029 - [RFC5120]
-
Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)", RFC 5120, DOI 10
.17487 , , <https:///RFC5120 www >..rfc -editor .org /info /rfc5120 - [RFC5130]
-
Previdi, S., Shand, M., Ed., and C. Martin, "A Policy Control Mechanism in IS-IS Using Administrative Tags", RFC 5130, DOI 10
.17487 , , <https:///RFC5130 www >..rfc -editor .org /info /rfc5130 - [RFC5286]
-
Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for IP Fast Reroute: Loop-Free Alternates", RFC 5286, DOI 10
.17487 , , <https:///RFC5286 www >..rfc -editor .org /info /rfc5286 - [RFC5301]
-
McPherson, D. and N. Shen, "Dynamic Hostname Exchange Mechanism for IS-IS", RFC 5301, DOI 10
.17487 , , <https:///RFC5301 www >..rfc -editor .org /info /rfc5301 - [RFC5302]
-
Li, T., Smit, H., and T. Przygienda, "Domain-Wide Prefix Distribution with Two-Level IS-IS", RFC 5302, DOI 10
.17487 , , <https:///RFC5302 www >..rfc -editor .org /info /rfc5302 - [RFC5305]
-
Li, T. and H. Smit, "IS-IS Extensions for Traffic Engineering", RFC 5305, DOI 10
.17487 , , <https:///RFC5305 www >..rfc -editor .org /info /rfc5305 - [RFC5307]
-
Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)", RFC 5307, DOI 10
.17487 , , <https:///RFC5307 www >..rfc -editor .org /info /rfc5307 - [RFC5308]
-
Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, DOI 10
.17487 , , <https:///RFC5308 www >..rfc -editor .org /info /rfc5308 - [RFC5443]
-
Jork, M., Atlas, A., and L. Fang, "LDP IGP Synchronization
" , RFC 5443, DOI 10.17487 , , <https:///RFC5443 www >..rfc -editor .org /info /rfc5443 - [RFC5880]
-
Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10
.17487 , , <https:///RFC5880 www >..rfc -editor .org /info /rfc5880 - [RFC5881]
-
Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, DOI 10
.17487 , , <https:///RFC5881 www >..rfc -editor .org /info /rfc5881 - [RFC6020]
-
Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10
.17487 , , <https:///RFC6020 www >..rfc -editor .org /info /rfc6020 - [RFC6119]
-
Harrison, J., Berger, J., and M. Bartlett, "IPv6 Traffic Engineering in IS-IS", RFC 6119, DOI 10
.17487 , , <https:///RFC6119 www >..rfc -editor .org /info /rfc6119 - [RFC6232]
-
Wei, F., Qin, Y., Li, Z., Li, T., and J. Dong, "Purge Originator Identification TLV for IS-IS", RFC 6232, DOI 10
.17487 , , <https:///RFC6232 www >..rfc -editor .org /info /rfc6232 - [RFC6241]
-
Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10
.17487 , , <https:///RFC6241 www >..rfc -editor .org /info /rfc6241 - [RFC6242]
-
Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10
.17487 , , <https:///RFC6242 www >..rfc -editor .org /info /rfc6242 - [RFC6991]
-
Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10
.17487 , , <https:///RFC6991 www >..rfc -editor .org /info /rfc6991 - [RFC7490]
-
Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", RFC 7490, DOI 10
.17487 , , <https:///RFC7490 www >..rfc -editor .org /info /rfc7490 - [RFC7794]
-
Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability", RFC 7794, DOI 10
.17487 , , <https:///RFC7794 www >..rfc -editor .org /info /rfc7794 - [RFC7917]
-
Sarkar, P., Ed., Gredler, H., Hegde, S., Litkowski, S., and B. Decraene, "Advertising Node Administrative Tags in IS-IS", RFC 7917, DOI 10
.17487 , , <https:///RFC7917 www >..rfc -editor .org /info /rfc7917 - [RFC7950]
-
Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10
.17487 , , <https:///RFC7950 www >..rfc -editor .org /info /rfc7950 - [RFC7981]
-
Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions for Advertising Router Information", RFC 7981, DOI 10
.17487 , , <https:///RFC7981 www >..rfc -editor .org /info /rfc7981 - [RFC8040]
-
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10
.17487 , , <https:///RFC8040 www >..rfc -editor .org /info /rfc8040 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC8177]
-
Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. Zhang, "YANG Data Model for Key Chains", RFC 8177, DOI 10
.17487 , , <https:///RFC8177 www >..rfc -editor .org /info /rfc8177 - [RFC8294]
-
Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, "Common YANG Data Types for the Routing Area", RFC 8294, DOI 10
.17487 , , <https:///RFC8294 www >..rfc -editor .org /info /rfc8294 - [RFC8341]
-
Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10
.17487 , , <https:///RFC8341 www >..rfc -editor .org /info /rfc8341 - [RFC8342]
-
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10
.17487 , , <https:///RFC8342 www >..rfc -editor .org /info /rfc8342 - [RFC8343]
-
Bjorklund, M., "A YANG Data Model for Interface Management", RFC 8343, DOI 10
.17487 , , <https:///RFC8343 www >..rfc -editor .org /info /rfc8343 - [RFC8349]
-
Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for Routing Management (NMDA Version)", RFC 8349, DOI 10
.17487 , , <https:///RFC8349 www >..rfc -editor .org /info /rfc8349 - [RFC8405]
-
Decraene, B., Litkowski, S., Gredler, H., Lindem, A., Francois, P., and C. Bowers, "Shortest Path First (SPF) Back-Off Delay Algorithm for Link-State IGPs", RFC 8405, DOI 10
.17487 , , <https:///RFC8405 www >..rfc -editor .org /info /rfc8405 - [RFC8446]
-
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10
.17487 , , <https:///RFC8446 www >..rfc -editor .org /info /rfc8446 - [RFC8570]
-
Ginsberg, L., Ed., Previdi, S., Ed., Giacalone, S., Ward, D., Drake, J., and Q. Wu, "IS-IS Traffic Engineering (TE) Metric Extensions", RFC 8570, DOI 10
.17487 , , <https:///RFC8570 www >..rfc -editor .org /info /rfc8570 - [RFC8706]
-
Ginsberg, L. and P. Wells, "Restart Signaling for IS-IS", RFC 8706, DOI 10
.17487 , , <https:///RFC8706 www >..rfc -editor .org /info /rfc8706 - [RFC9314]
-
Jethanandani, M., Ed., Rahman, R., Ed., Zheng, L., Ed., Pallagatti, S., and G. Mirsky, "YANG Data Model for Bidirectional Forwarding Detection (BFD)", RFC 9314, DOI 10
.17487 , , <https:///RFC9314 www >..rfc -editor .org /info /rfc9314 - [W3C
.REC -xml -20081126] -
Bray, T., Paoli, J., Sperberg
-Mc , Maler, E., and F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth Edition)", World Wide Web Consortium Recommendation RECQueen, M. -xml , , <https://-20081126 www >..w3 .org /TR /2008 /REC -xml -20081126
9.2. Informative References
- [RFC7812]
-
Atlas, A., Bowers, C., and G. Enyedi, "An Architecture for IP/LDP Fast Reroute Using Maximally Redundant Trees (MRT-FRR)", RFC 7812, DOI 10
.17487 , , <https:///RFC7812 www >..rfc -editor .org /info /rfc7812 - [RFC8340]
-
Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10
.17487 , , <https:///RFC8340 www >..rfc -editor .org /info /rfc8340 - [RFC8792]
-
Watsen, K., Auerswald, E., Farrel, A., and Q. Wu, "Handling Long Lines in Content of Internet-Drafts and RFCs", RFC 8792, DOI 10
.17487 , , <https:///RFC8792 www >..rfc -editor .org /info /rfc8792 - [SR-TI-LFA]
-
Litkowski, S., Bashandy, A., Filsfils, C., Francois, P., Decraene, B., and D. Voyer, "Topology Independent Fast Reroute using Segment Routing", Work in Progress, Internet-Draft, draft
-ietf , , <https://-rtgwg -segment -routing -ti -lfa -08 datatracker >..ietf .org /doc /html /draft -ietf -rtgwg -segment -routing -ti -lfa -08
Appendix A. Example of IS-IS Configuration in XML
This appendix gives an example of the configuration of an IS-IS instance on a device.
The example is written in XML [W3C
Acknowledgments
The authors would like to thank Tom Petch, Alvaro Retana, Stewart Bryant, Barry Leiba, Benjamin Kaduk, Adam Roach, and Roman Danyliw for their review and comments.¶
Contributors
The authors would like to thank Kiran Agrahara Sreenivasa, Dean Bogdanovic, Yingzhen Qu, Yi Yang, and Jeff Tantsura for their major contributions to this document.¶