Contents
- What is Yuma?
- Is Yuma free?
- Where is the Download Page?
- Where is the subversion access?
- How do I subscribe to the mailing lists?
- Where is the user documentation?
- What NETCONF capabilities does the netconfd server implement?
- What YANG modules does the netconfd server implement?
- How does Yuma software development work?
- How do I help work on the code?
- How do I report a bug?
- How do I request a new feature?
What is Yuma?
Yuma is a YANG-based Unified Modular Automation toolkit for the NETCONF protocol.
It includes:
- a YANG module compiler called yangdump
- a NETCONF server called netconfd
- a thin client for the OpenSSH server to communicate with the NETCONF server called netconf-subsystem
- a NETCONF client called yangcli
- a YANG module compare utility called yangdiff
Is Yuma Free?
Yes. Yuma is Open Source software, written in C, and available under the BSD license.
Where is the Download Page?
Where is the subversion access?
Yuma Release Subversion Repository
Use this command to retrieve a copy of the entire version 2.2 source tree:
svn co https://yuma.svn.sourceforge.net/svnroot/yuma/branches/v2 yuma
Yuma Development Subversion Repository
Use this command to retrieve a copy of the entire version 3.0
(under development) source tree:
svn co https://yuma.svn.sourceforge.net/svnroot/yuma/trunk yuma
How do I subscribe to the mailing lists?
/Where is the user documentation?
- Yuma Installation Guide (PDF) (HTML)
- Yuma Quickstart Guide (PDF) (HTML)
- Yuma User Manual (PDF) (HTML)
- Yuma netconfd Manual (PDF) (HTML)
- Yuma yangcli Manual (PDF) (HTML)
- Yuma yangdump Manual (PDF) (HTML)
- Yuma yangdiff Manual (PDF) (HTML)
- Yuma Developer Manual (PDF) (HTML)
What NETCONF capabilities does the netconfd server implement?
| Name | Description | Requirements |
| base:1.0 | RFC 4741 protocol version | none |
| candidate:1.0 | Candidate database | --target=candidate [default] |
| confirmed-commit:1.0 | Confirmed commit operations | --target=candidate [default] |
| writable-running:1.0 | Running database is the <edit-config> target | --target=running |
| rollback-on-error:1.0 | Rollback on error for <edit-config> | none |
| validate:1.0 | <validate> operation and 'test-only' <edit-config> test-option are supported; | --with-validate=true [default] |
| startup:1.0 | Distinct startup database; <copy-config> to startup config needed to NV-save the running config | --with-startup=true |
| url:1.0 | URL parameter support; The 'file' scheme is allowed in the <url> parameter to backup and restore named config files | --with-url=true [default] |
| xpath:1.0 | Full XPath 1.0 + YANG extensions for <get> and <get-config> operations | none |
| notification:1.0 | NETCONF notifications; use <create-subscription> operation to start | none |
| interleave:1.0 | Allow <rpc> reuests while notifications are active | none |
| partial-lock:1.0 | <partial-lock> and <partial-unlock> operations | --target=running |
| with-defaults:1.0 | <with-defaults> parameter for 'report-all', 'trim' and 'explicit' modes | --default-style used to pick basic-mode [default=explicit] |
What YANG modules does the netconfd server implement?
- ietf-inet-types@2010-09-24 (RFC 6021)
- ietf-netconf-monitoring@2010-10-04 (RFC 6022)
- ietf-netconf-partial-lock@2009-10-19 (RFC 5717)
- ietf-netconf-with-defaults@2010-06-09 (RFC 6243)
- ietf-yang-types@2010-09-24 (RFC 6021)
- nc-notifications@2008-07-14 (RFC 5277)
- notifications@2008-07-14 (RFC 5277)
- toaster@2009-11-20
- yuma-app-common@2011-10-06
- yuma-arp@2012-01-13
- yuma-interfaces@2012-01-13
- yuma-mysession@2010-05-10
- yuma-nacm@2012-01-13
- yuma-ncx@2012-01-13
- yuma-proc@2010-06-01
- yuma-system@2012-01-15
- yuma-time-filter@2011-08-13
- yuma-types@2011-12-18
How does Yuma software development work?
First, a data model designer creates a YANG module, which is a network management interface for the NETCONF protocol, written with the YANG data modeling language.
Yuma uses YANG modules in their native form. They are compiled directly into the client or server programs at boot-time or run-time.
The basic steps for extending or customizing the NETCONF server:
- Write one or more new YANG modules (e.g., mymod.yang)
- Make sure the modules compile by using the command 'yangdump mymod.yang'
- Set the 'YUMA_HOME' environment variable to your yuma source root, such as /home/joe/yuma/netconf
- Create a server instrumentation library with the command, 'make_sil_dir --split mymod'
- Edit the mymod/src/u_mymod.c file to fill in the instrumentation callbacks.
- Run make and then make install in the mymod to generate the library code for the module.
- Run the netconfd server with the CLI parameter --module=mymod
- Run the yangcli client program. Connect to the server. The new module should be ready to use within netconfd and yangcli.
How do I help work on the code?
- Download the latest code and manuals and get familiar with the layout.
- Join the yuma-users and yuma-develop mailing lists mentioned above.
- Send an email to the project administrator <mailto:andy@netconfcentral.org> requesting to be added to the Source Forge project developers list.
-
You can submit code patches as well, even if you don't join the project mailing lists.
- Check out a subversion tree (branches/v1 or trunk), make and test your changes,
-
Create a patch file, starting in the branches/v1 or trunk directory:
svn diff > ~/mypatch - Send an email with an explanation of the changes and the attached patch file, to the project administrator <mailto:andy@netconfcentral.org>
How do I report a bug?
- Download the latest code and verify the bug has not been fixed already.
- Browse the existing Yuma bugs to make sure the bug has not already been reported.
- It is suggested that you join the yuma-users and yuma-develop mailing lists mentioned above.
- Submit a bug report on the Yuma Bug Tracker. Attach any relevant trace files.
How do I request a new feature?
- Submit a feature request on the Yuma Feature Tracker.