Skip to content

Generating data definitions from YANG

MTS decision: (for MWT, highest priority for milestone B) 

YANG Constructs:

  • Core
    • leaf
    • leaf-list
    • container
    • list
    • typedef
    • enumeration
    • grouping
    • uses
    • leafref? + path? (as annotation?)
    • default-ref?
    • refine?
    • reference?
    • choice + case (similar to ASN.1)
    • union
    • augment?
    • rpc?
    • notification?
  • Modules and reuse
    • import
    • include?
    • submodule?
    • belongs-to?
    • tail-f
    • if-feature
  • Constraints
    • range
    • pattern
    • must
    • when
  • Meta-data
    • key
    • unique
    • mandatory
    • max-elements + min-elements
    • ordered-by?
    • revision
    • namespace
    • prefix
    • description
    • default
    • status
    • units?
    • status?
    • organisation?
    • contact?
    • config?
  • Built-in types (library)
  • Data element mappings
  • Example specs for testing
    • manual (proof-of concept, feature test)
      • sports
      • links
      • acme
      • example
    • mWT (target, need to obtain needed dependencies)
    • NFV (compatibility)

Built-in types (from http://66.218.245.39/doc/html/ch03.html#d5e153)

Name Type Description
binary Text Any binary data
bits Text/Number A set of bits or flags
boolean Text "true" or "false"
decimal64 Number 64-bit fixed point real number
empty Empty A leaf that does not have any value
enumeration Text/Number Enumerated strings with associated numeric values
identityref Text A reference to an abstract identity
instance-identifier Text References a data tree node
int8 Number 8-bit signed integer
int16 Number 16-bit signed integer
int32 Number 32-bit signed integer
int64 Number 64-bit signed integer
leafref Text/Number A reference to a leaf instance
string Text Human readable string
uint8 Number 8-bit unsigned integer
uint16 Number 16-bit unsigned integer
uint32 Number 32-bit unsigned integer
uint64 Number 64-bit unsigned integer
union Text/Number Choice of member types
Edited by Philip Makedonski
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information