YANG (Yet Another Next Generation) is a modular data modelling language for data used by network management protocols. It is defined in [RFC 7950](https://tools.ietf.org/html/rfc7950).
YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols.
YANG was originally designed to model data for the NETCONF protocol. A YANG module defines hierarchies of data that can be used for NETCONF-based operations, including configuration, state data, RPCs, and notifications. This allows a complete description of all data sent between a NETCONF client and server. YANG may also be used with protocols other than NETCONF.
To the extent possible, YANG maintains compatibility with the Simple Network Management Protocol's (SNMP's) SMIv2. SMIv2-based MIB modules can be automatically translated into YANG modules for read-only access.
Further reading: