5 ms·
The YANG 1.1 Data Modeling Language
- algesten 10y agoWhy would I want this rather than say WebServices/SOAP?
- ahoka 10y agoApples and oranges. Yang is for describing O&M interfaces, AFAIK you can even use it to generate CLI commands for you appliance.
- bewo001 10y agoSome historical background might be helpful: to configure network devices, the IETF specified SNMP in the 1990s. Cisco only did a read-only implementation of it, as their configuration concept did not align with SNMP very well (a change of a single SNMP variable gets effective immediately, which is cumbersome in cases where several variables need to be changed in unison). So network operators resorted to 'expect' scripting of the routers' CLI, which was a brittle and ugly solution. Netconf/YANG was done to replace that.
- algesten 10y agoGreat thanks! Got it.
- ZenoArrow 10y agoOn first glance this seems to be JSON with stronger typing. Is that a fair assessment?
- geezerjay 10y agoI haven't read it thoroughly but it appears that YANG is way more than that. It also supports schemas, declares data in a modular way, impose data constraints, and of course strong typing. It is, however, absurdly complex compared with JSON.
- sametmax 10y agoSo a less supported/powerful/tested XML.
- camoberg 10y agoIt's a schema language, not a general data encoding language. Widely used for NETCONF[1] and RESTCONF[2]. 1. https://tools.ietf.org/html/rfc6241 https://tools.ietf.org/html/rfc6241 2. https://tools.ietf.org/html/draft-ietf-netconf-restconf-18 https://tools.ietf.org/html/draft-ietf-netconf-restconf-18)
- keithb- 10y agoTo be fair, I think that previous comment was implying the constellation of XML technologies e.g. XSD, XPath. XML encoding is rarely used in isolation because, honestly, what's the point? Sure, your document is well-formed, but you could achieve the same thing with tab+carriage return. So if I can continue to clarify the previous comment: given that YANG is an data modeling language, what benefit does it offer when compared with XSD which as been used/tested for many projects?
- camoberg 10y agoYANG has a distinctly different purpose. XSD, RelaxNG, and some other alternatives were considered during the development of what eventually became YANG back in 2007. We spent quite a bit of time with XML grey beards on this topic in the IETF, and eventually realized that YANG had too many domain specific requirements that it wasn't worth trying to bend existing languages for it. In my mind, there were two major things that influenced the final decision. First; we wanted it to be easily readable by humans first and foremost, as schemas are written once but read many times. Second; it needed to be able to separate between configuration and state data, and describe Remote Procedure Calls (RPCs) and notifications.
- sametmax 10y ago
- madgar 10y agoYour first glance may have missed that the first sentence of the RFC says it includes modeling for "Remote Procedure Calls" and "notifications for network management protocols." Your first glance may have also missed that the RFC is nearly 200 pages. Given those details, would you re-evaluate your guess?
- pella 10y agohttps://en.wikipedia.org/wiki/YANG https://en.wikipedia.org/wiki/YANG
- gioele 10y agoThe hyperlinked RFC from IETF.org: https://tools.ietf.org/html/rfc7950 https://tools.ietf.org/html/rfc7950