YANG daemeon for Linux


Is there a YANG daemeon for Linux ? If yes, can any one please share their
experiences ?


It's not clear what problem you're trying to solve, but http://www.clicon.org/ might do what you want.

Looking for an agent on Linux that will render YANG models, so I can
provision networking on Linux.


YANG is a data modelling language and not a method for configuring Linux,
though it can be used as a part of one.

I am unaware of any open source software that implements a complete
solution for parsing the YANG into a model, allowing the manipulation of
that models data, and configuring the system to match that model.

clixon (www.clicon.org), and it's companion CLI tool cligen, are toolkits
to provide a parts of the solution, but they require a large amount of code
to be complete.

clixon parses the YANG into an XML schema and provides for the manipulation
of the data via RESTCONF/NETCONF. clixon also has hooks to call routines to
configure the system according to the model data, but not the actual calls.
the companion cligen allows you to define a CLI language to manipulate the
data, but a language is not provided.

disclaimer: I am a contributor to clixon/cligen, the maintainer of its
FreeBSD port, and a user of this software in a commercial product.

❦ 27 juillet 2018 12:23 -0700, Karl Jørn <karljorn787@gmail.com> :

Looking for an agent on Linux that will render YANG models, so I can
provision networking on Linux.

Maybe looking at this one:
Yuma netconfd Manual - Yuma123 Wiki

Could you define "render"? If you're looking to take a YANG model (which
one?) and configure Linux kernel networking features with it, I can't
recall having seen something that does this. I have been working on a side
project (which I'm hoping to bring to a hackathon) to take Linux networking
and map it to OpenConfig - but this is maexceptionally embryonic.

If you're looking for ways to manipulate data instances for YANG-modelled
schemas on Linux, here are some options (full disclosure: I lead the
development of two of them):

   - ygot - produces Go structs, or Protobufs that correspond to a YANG
   model - github.com/openconfig/ygot
   - pyangbind - produces Python classes that correspond to a YANG model -
   - ydk (Cisco) - produces Python and C++ APIs, more centred around device
   interaction (https://developer.cisco.com/site/ydk/)


pyangbind (https://github.com/robshakir/pyangbind) can be used to generate
Python classes that you can bind data to.

This isn't Linux-specific, but it is possible to input a YANG model, and
some external data, and produce a usable Python data structure.

napalm-yang (https://github.com/napalm-automation/napalm-yang) is an example
of doing this via NAPALM output via profiles that handle the parsing to/from
device native data structures, with differing levels of support:

Yes Rob, i’d like to do what you described: use netconf and yang to
provision the quagga BGP implementation.

Can you describe work arounds? If any.

Can i convert a bgp yang model to json/yaml and have some other app consume


What you want is probably sysrepo https://github.com/sysrepo/sysrepo