YANG Schema Mount is a new server standard defined in IETF RFC 8528. It allows a server to support multiple instances of the same YANG model and mount them in various places in the server’s schema tree.
A YANG module is designed to define API features for a single server.
- RPC operations
- Notification Events
- Top-Level Schema Nodes
YANG Schema Mount allows the definitions from one module to be rooted somewhere in the schema tree of another module, instead of the top-level.
- This allows multiple instances of the mounted YANG module to be supported in the server, which is very useful for supporting the mount point as a logical server
- The top-level remains the traditional server containing all top-level and all mounted YANG models
- It is possible to treat each mount-point as a separate Virtual Server, although this is not part of the YANG Schema Mount standard
- The definitions within the mounted YANG module do not change:
- The “functional” semantics of the YANG definitions stay the same within the mount-point
- The “per-instance” semantics for the mounted modules is defined by the top-level YANG module containing the mount point
- The YANG Library (RFC 8525) is used to identify the YANG modules that are used within a mount point
- This module is used within the main server and all mount points
- There are 3 usage scenarios for any given YANG module, it may:
- Appear in top-level schema tree only
- Appear in mounted-schema tree only
- Appear in both top-level and mounted schema trees