This lesson will show you how Operational Data is created and used in YumaPro SDK.


You should have completed the YumaPro Installation Guide and “Building and Installing the SIL”.

 Example operational data instrumentation

Now let’s look at how the instrumentation is created for a leaf using “in-octets” as an example. If you look at the ietf-interfaces.yang module you will see the leaf for in-octets defined as:

        leaf in-octets {
          type yang:counter64;
            "The total number of octets received on the interface,
             including framing characters.

             Discontinuities in the value of this counter can occur
             at re-initialization of the management system, and at
             other times as indicated by the value of
            "RFC 2863: The Interfaces Group MIB - ifHCInOctets";

In u_ietf-interfaces.c you will find the stub for the code:

    status_t u_ietf_interfaces_interfaces_state_interface_statistics_get (

       for (; childobj; childobj =
           getcb_next_requested_child(get2cb, childobj)) {

           /* Retrieve the value of this terminal node and 
            * add with getcb_add_return_val */

           /* leaf discontinuity-time (string) */

           /* leaf in-octets (uint64) */


The stub is the comment “/* leaf in-octets (uint64) */” and this is where you add the code that gets the in-octets data for interfaces. The pre-built example code for in-octets is:

        /* leaf in-octets (uint64) */
        if (!xml_strcmp(objname, (const xmlChar *)"in-octets") &&

            if (retval && res == NO_ERR) {
                getcb_add_return_val(get2cb, retval);

Linux system Operational State data is provided by if_linux_* functions in the library. You will see in the function u_ietf_interfaces_interfaces_state_interface_statistics_get contains the code for the leaf in-octets and sets the interface structure:

    interface_entry_t*entry = if_linux_match_ifentry(curindex);

then entry->stats->inbytes can be retrieved every time a GET request is received for the in-octets leaf.

More details on how the netconfd-pro server works and how the SIL and SIL-SA features provides configuration and operational state data see the section SIL and SIL-SA Overview of the YumaPro Developer Manual.

Also the YumaWorks’ Knowledge Base has a section on Working with SIL or SIL-SA Code