Giter VIP home page Giter VIP logo

yuma123's Introduction

Yuma123 README
-----------

==What is Yuma123==
The purpose of the Yuma123 project is to provide an opensource YANG API in C and cli (yangcli) and server (netconfd) YANG automation enabled appications.
Branching from the last BSD licensed branch of the Yuma project the code has evolved in the following direction:
- a more mainstream build system based on autoconf/automake was added
- a number of critical bugs have been fixed
- new IETF standards support was added (ietf-nacm, ietf-system, etc.)
- support was added for new YANG extensions
- added to debian.org repositories

==Compilation==
 #Build dependencies resolution for Debian Bullseye. Replace with appropriate command line if you are not using Debian.
 sudo apt-get install git autoconf automake pkg-config gcc libtool libxml2-dev libssh2-1-dev make libncurses5-dev zlib1g-dev libreadline-dev libssl-dev
 git clone git://git.code.sf.net/p/yuma123/git yuma123-git
 cd yuma123-git
 autoreconf -i -f
 ./configure CFLAGS='-g -O0' CXXFLAGS='-g -O0' --prefix=/usr
 make
 sudo make install

==Configure and start==
 #Runtime dependencies resolution for Debian Bullseye. Replace with appropriate command line if you are not using Debian.
 sudo apt-get install openssh-server

 echo '<config/>' > /tmp/startup-cfg.xml
 /usr/sbin/netconfd --module=helloworld --startup=/tmp/startup-cfg.xml --log-level="debug4" --superuser="$USER"

The server is now started with the example helloworld module.

Tell sshd to listen on port 830. Add the following 2 lines to /etc/ssh/sshd_config:

 Port 830
 Subsystem netconf "/usr/sbin/netconf-subsystem --ncxserver-sockname=830@/tmp/ncxserver.sock"

Start sshd (on Debian):
 sudo /etc/init.d/ssh restart
 
You can verify everything is OK:

 root@lmf:~# yangcli --user="$USER" --server=localhost --password='mysecretpass'
 ...
 yangcli root@localhost> xget /helloworld-state 
 
 RPC Data Reply 2 for session 3:
 
 rpc-reply {
   data {
     helloworld-state {
       message 'Hello World!'
     }
   }
 }
 
 yangcli root@localhost>

or

 yangcli root@localhost> xget /
 ...

yuma123's People

Contributors

bkmgit avatar eklabn avatar hughmcmaster avatar vincentbernat avatar vtiurin avatar xorrkaz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yuma123's Issues

How to get one attribute's value from another attribute-SIL function

Hi,
Please consider the following L2VPN schema tree.

container l2vpn
container instances
list instance
leaf name
. . . . . . . .
case redundancy-grp
list primary-pw
leaf name
list backup-pw ---------> How to access Primary-pw here ?
leaf name

leaf protection-mode
leaf revert
leaf revert-delay
leaf split-horizon-group

In this schema tree, I would like to get primary-pw name in backup-pw SIL. I could access the primary-pw name from OpenYuma-DB after "commit" phase. But, I need to access primary-pw name in validation phase itself. So, i can't get it from OpenYuma-DB. Could you please let me know if there is any other way ?
Thanks,
kals

How to access all elements in a list without using index in Yuma123 ?

Hi Vladimir,

This is regarding accessing all elements in a list in yuma123 without using index.

I knew, a particular element can be accessed using index/key in a list in yuma123.
There is a situation where i dont know the index but want to access all elements from the list.
So, how can i access all elements from the list. Is it possible ? If so, can you please let me know.

Basically, how to access all elements in the list.

Thanks in advance.

Accessing data from one container to another

Hi,

I want to access data from one container to another in OpenYuma code. How can I do ?
Container Peer-1
|
|
list of sub-containers (Say A, B, C, D)
|
|
leaf state;

Question 1: From SIL of A.leaf , can we access B.leaf ? If so, how can access ?
Question 2: Can I achieve the above using XML config? Or XML config used only for SET functions ? Can't be used for GET ?
Question 3: If I create another container say, Peer-2, can it access data of Container-1 say, we want to access Peer1.A.leaf ? If so, how can we access ?

Thanks,
Kaliyaperumal K

How to launch our own yuma yang module ?

Hello vladimir, I hope you are doing well,
We are begginers in all what concern yuma and yang module creation, we followed your wiki to create a client with yangcli and agent with netconfd and loaded the toaster module . The tutorial was sucessful in a sens that we had RPC OK in each of the tutorial steps .
Then we created our own module based on the toaster one, but we didn't know in which folder should we put our new created file.
We did a little bit of searching and we find that the modules were in a folder "/usr/share/yuma/modules/netconfcentral" we dropped our new module in this folder, and executed the netconfd command : "/usr/sbin/netconfd --module=rhode-and-schwarz --superuser = minanas" and then we get the following error :

Starting netconfd...
Copyright (c) 2008-2012, Andy Bierman, All Rights Reserved.
Copyright (c) 2013-2018, Vladimir Vassilev, All Rights Reserved.

Warning: SIL code for module 'rhode-and-schwarz' not found
Error: 'description' token not allowed here
Error: Got 'description', Expected: anyxml, anydata, container, leaf, leaf-list, list, choice, uses,or augment keyword
rhode-and-schwarz.yang:23.11: error(246): wrong token value

Error: Got 'leaf', Expected: keyword
rhode-and-schwarz.yang:27.9: error(246): wrong token value

Error: Got 'TestModel', Expected: keyword
rhode-and-schwarz.yang:27.14: error(246): wrong token value

Error: Got 'left brace, skipping to closing right brace', Expected: keyword
rhode-and-schwarz.yang:27.24: error(245): wrong token type

Error: Got 'default', Expected: keyword
rhode-and-schwarz.yang:45.11: error(246): wrong token value

Error: Got '3.2', Expected: keyword
rhode-and-schwarz.yang:45.19: error(245): wrong token type

Error: Got 'semicolon', Expected: keyword
rhode-and-schwarz.yang:45.24: error(245): wrong token type

rhode-and-schwarz.yang:46.11: error(223): entry exists

Error: Extra input after end of module starting on line 50
rhode-and-schwarz.yang:50.5: error(281): extra node

Load module 'rhode-and-schwarz' failed (extra node)
Error: one or more modules could not be loaded
netconfd: init returned (operation failed)
Shutting down the netconfd server

E0:
../../../netconf/src/ncx/val.c:5830
Error 2: NULL pointer

*** Total Internal Errors: 1 ***

Attached is the yang file that we created .

Thanks in advance for your help.

rhode-and-schwarz.txt

malloc-failed issue after opration-failed

Hi,

I am using candidate and running database.

When I do commit for my config in yangcli, due to some error config I am getting operation failed.
After that, I am configuring with correct values and committing again. At this time I am facing malloc-failed issue continuously for all commits.
due to that, I am not able to proceed with commits. Could please help me on this issue.

we are using openyuma 2.2 version. we are planning to upgrade. before that, we want to fix this issue.

Regards,
Santhosh

After doing edit-config on candidate target, the commit operation failed with segmentation fault

After doing update on candidate target, performed commit to apply all changes to running target, but the segmentation fault seen:

GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from bin/safplus_mgt...done.
[New LWP 21830]
[New LWP 21818]
[New LWP 21819]
[New LWP 21821]
[New LWP 21824]
[New LWP 21825]
[New LWP 21832]
[New LWP 21828]
[New LWP 21822]
[New LWP 21831]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/home/clovis/s7/target/x86_64-linux-gnu/bin/safplus_mgt --modpath=/home/clovis/'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 dlq_insertAfter (newP=0x7fa1f0002ce0, nodeP=0x7fa1f00101f0) at dlq.c:496
496 ((dlq_hdrT *) newP)->next->prev = newP;
(gdb) f 0
#0 dlq_insertAfter (newP=0x7fa1f0002ce0, nodeP=0x7fa1f00101f0) at dlq.c:496
496 ((dlq_hdrT *) newP)->next->prev = newP;
(gdb) p ((dlq_hdrT *) newP)->next
$1 = (struct TAGdlq_hdrT *) 0x0
(gdb) p ((dlq_hdrT *) newP)
$2 = (dlq_hdrT ) 0x7fa1f0002ce0
(gdb) p ((dlq_hdrT
)nodeP)->next
$3 = (struct TAGdlq_hdrT *) 0x0
(gdb) bt
#0 dlq_insertAfter (newP=0x7fa1f0002ce0, nodeP=0x7fa1f00101f0) at dlq.c:496
#1 0x00007fa2058ec7f5 in apply_write_val (editop=OP_EDITOP_COMMIT, scb=scb@entry=0x7fa1f0000970,
msg=msg@entry=0x7fa1f0003410, target=target@entry=0xb9dae0, parent=parent@entry=0xb372d0,
newval=newval@entry=0x7fa1f0002ce0, curval=curval@entry=0x7fa1f00101f0,
done=done@entry=0x7fa1f48ee7a7) at agt_val.c:1754
#2 0x00007fa2058ece6d in invoke_cpxval_cb (done=true, curparent=0xb372d0, curval=0x7fa1f00101f0,
newval=0x7fa1f0002ce0, target=0xb9dae0, msg=0x7fa1f0003410, scb=0x7fa1f0000970,
editop=OP_EDITOP_COMMIT, cbtyp=AGT_CB_APPLY) at agt_val.c:2361
#3 invoke_btype_cb (cbtyp=cbtyp@entry=AGT_CB_APPLY, editop=,
scb=scb@entry=0x7fa1f0000970, msg=msg@entry=0x7fa1f0003410, target=target@entry=0xb9dae0,
newval=newval@entry=0x7fa1f0002ce0, curval=0x7fa1e4002190, curparent=curparent@entry=0xb372d0)
at agt_val.c:2540
#4 0x00007fa2058ecf0a in invoke_cpxval_cb (done=false, curparent=0xbbb660, curval=0xb372d0,
newval=0x6, target=0xb9dae0, msg=0x7fa1f0003410, scb=0x7fa1f0000970, editop=,
cbtyp=12302464) at agt_val.c:2405
#5 invoke_btype_cb (cbtyp=cbtyp@entry=AGT_CB_APPLY, editop=editop@entry=OP_EDITOP_COMMIT,
scb=scb@entry=0x7fa1f0000970, msg=msg@entry=0x7fa1f0003410, target=target@entry=0xb9dae0,
newval=newval@entry=0xbbb660, curval=curval@entry=0xb372d0, curparent=0xbbb660,
curparent@entry=0xb372d0) at agt_val.c:2540
#6 0x00007fa2058edc46 in handle_callback (cbtyp=cbtyp@entry=AGT_CB_APPLY,
editop=editop@entry=OP_EDITOP_COMMIT, scb=scb@entry=0x7fa1f0000970, msg=msg@entry=0x7fa1f0003410,
target=target@entry=0xb9dae0, newval=0xbbb660, curval=0xb372d0, curparent=0xb372d0)
at agt_val.c:3192
#7 0x00007fa2058efaf8 in agt_val_apply_commit (scb=scb@entry=0x7fa1f0000970,
msg=msg@entry=0x7fa1f0003410, source=source@entry=0xb68f90, target=target@entry=0xb9dae0,
save_nvstore=save_nvstore@entry=true) at agt_val.c:5870
#8 0x00007fa2058d6ee9 in commit_invoke (scb=0x7fa1f0000970, msg=0x7fa1f0003410,
methnode=0x7fa1f48eeb50) at agt_ncx.c:2459
#9 0x00007fa2058dd786 in agt_rpc_dispatch (scb=0x7fa1f0000970, top=) at agt_rpc.c:1627
#10 0x00007fa2058e47b4 in agt_top_dispatch_msg (ppscb=ppscb@entry=0x7fa1f48eed18) at agt_top.c:154
#11 0x00007fa2058e08d6 in agt_ses_process_first_ready () at agt_ses.c:884

Vladimir Vassilev and everyone, could you take a look at the issue? Thanks.

Issue with includes at building

Hi,

I'm trying to build yuma123, however I get this error message when I run the instruction $make:

ietf-network-bridge-openflow.c:31:10: fatal error: openvswitch/vconn.h: No such file or directory
#include <openvswitch/vconn.h>

I cloned this project which includes the required file and directory: https://github.com/openvswitch/ovs

But I still get the same error even though I explicitly included it in CLI ($make -I/ROUTE_TO_OPENVSWITCH/). I've also tried including this route in the Makefile but I'm not sure if I'm doing it okay.

Could someone help me?

Compilation Error for 2.11 release checkout

Hi,

I facing below compilation error for 2.11 release code. could you please check and let me know the problem.

../../../netconf/src/mgr/.libs/libyumamgr.so: undefined reference to libssh2_agent_disconnect' ../../../netconf/src/mgr/.libs/libyumamgr.so: undefined reference to libssh2_agent_free'
../../../netconf/src/mgr/.libs/libyumamgr.so: undefined reference to libssh2_agent_get_identity' ../../../netconf/src/mgr/.libs/libyumamgr.so: undefined reference to libssh2_version'
../../../netconf/src/mgr/.libs/libyumamgr.so: undefined reference to libssh2_agent_userauth' ../../../netconf/src/mgr/.libs/libyumamgr.so: undefined reference to libssh2_agent_init'
../../../netconf/src/mgr/.libs/libyumamgr.so: undefined reference to libssh2_agent_connect' ../../../netconf/src/mgr/.libs/libyumamgr.so: undefined reference to libssh2_agent_list_identities'
collect2: ld returned 1 exit status
make[1]: *** [yangcli] Error 1
make[1]: Leaving directory `/home/sathish/yuma123-2_11/netconf/src/yangcli'
make: *** [all-recursive] Error 1

Regards,
Santhosh

Integration user applications with yuma123 NETCONF server

Hi,
I am new to yuma123 from the user perspective.
I have 2 questions:

1/
I would like to integrate the yuma123 NETCONF server implementation into my application module, such that it runs from the integrated application threads/process.

Essentially, I am exploring options to NOT run as a daemon process, but as a library of the application.
For example, integrate integrate the "IO server loop for the ncxserver socket" (agt_ncxserver_run) of the yuma123 NETCONF into the application.

Is this approach reasonable?

2/
I would the user applications to know which attribute(s) have changed when the running configuration has changed, or the candidate configuration has been committed.

At present, my understanding is that that NETCONF server shall write the latest configuration into a 'xml' file. And, a mechanism needs to exist to inform the user application (eg. SIGHUP or alternate mechanisms). The user application needs to "diff" the running version from the new version of configuration and apply it.

The above works good for user application which can afford to restart. However, for applications with dynamic updates, the precise attribute(s) which have changed needs to be known.

Would u help how this would be possible?

Thanx.
Shashank

Asynchronous validation / commit callbacks

Hello,
In our system we need to do some extra validation and pre-commit processing that requires asynchronous communication with the target components. Is it possible to use the async validation callbacks and what would be the best way to achieve this?

Regards,
Elena

malloc_cnt and free_cnt mismatch

There is a pretty small issue for malloc_cnt and free_cnt.
Please, see below.

diff --git a/netconf/src/agt/agt_cb.c b/netconf/src/agt/agt_cb.c
index 87f6ddd..18e9582 100644
--- a/netconf/src/agt/agt_cb.c
+++ b/netconf/src/agt/agt_cb.c
@@ -733,10 +733,9 @@ void
         for (cbset_node = (agt_cb_fnset_node_t*)dlq_firstEntry(&obj->cbsetQ);
              cbset_node!=NULL;
              cbset_node = (agt_cb_fnset_node_t*)dlq_nextEntry(cbset_node)) {
-
             if(cbset_node->fnset_ptr == &callback->cbset) {
                 dlq_remove(cbset_node);
-                free(cbset_node);
+                m__free(cbset_node);
                 break;
             }
         }
diff --git a/netconf/src/ncx/cap.c b/netconf/src/ncx/cap.c
index 18bd85d..18acb61 100644
--- a/netconf/src/ncx/cap.c
+++ b/netconf/src/ncx/cap.c
@@ -1506,7 +1506,7 @@ status_t
     assert(caplist && revision && module_set_id);

     /* setup the string */
-    buf = (char*)malloc(strlen(format)+strlen(revision)+strlen(module_set_id)+1);
+    buf = (char*)m__getMem(strlen(format)+strlen(revision)+strlen(module_set_id)+1);
     assert(buf);
     sprintf(buf,format,revision,module_set_id);

Missing example-modules/**/*.yang files in Debian packages

When installing the netconfd package from http://yuma123.org/repos/apt/debian then netconfd --module=helloworld ... results in:

Load module 'helloworld' failed (module not found)
Error: SIL init function failed for module helloworld (module not found)
Error: one or more modules could not be loaded
netconfd: init returned (operation failed)
Shutting down the netconfd server

Searching through the package contents reveals that no *.yang file from https://github.com/vlvassilev/yuma123/tree/master/example-modules is included in any of the packages:

> dpkg -S .yang
libyuma-base: /usr/share/yuma/modules/ietf-draft/ietf-alarms.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf-draft/ietf-alarms-x733.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf-draft/ietf-network-bridge.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf-derived/nc-notifications.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/netconfcentral/toaster.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/yuma123/yuma123-netconf.yang
libyuma-base: /usr/share/yuma/modules/netconfcentral/yuma-ncx.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/netconfcentral/yuma-types.yang
libyuma-base: /usr/share/yuma/modules/yuma123/yangcli.yang
libyuma-base: /usr/share/yuma/modules/netconfcentral/yuma-proc.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/yuma123/yangcli-ex.yang
libyuma-base: /usr/share/yuma/nmda-modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/nmda-modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/netconfcentral/yuma-xsd.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/netconfcentral/yuma-app-common.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf-draft/ietf-netconf-nmda.yang
libyuma-base: /usr/share/yuma/modules/yuma123/netconfd.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/nmda-modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/yuma123/netconfd-ex.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf-draft/ietf-network-bridge-flows.yang
libyuma-base: /usr/share/yuma/modules/yuma123/yuma123-system.yang
libyuma-base: /usr/share/yuma/modules/ietf-draft/ietf-network-bridge-scheduler.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/nmda-modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/yuma123/yangdump.yang
libyuma-base: /usr/share/yuma/modules/netconfcentral/yuma-mysession.yang
libyuma-base: /usr/share/yuma/modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/netconfcentral/yuma-time-filter.yang
libyuma-base: /usr/share/yuma/nmda-modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/yuma123/yuma123-netconf-types.yang
libyuma-base: /usr/share/yuma/nmda-modules/ietf/[email protected]
libyuma-base: /usr/share/yuma/modules/ietf-derived/notifications.yang

But e.g. the accompanying libhelloworld.so for https://github.com/vlvassilev/yuma123/blob/master/example-modules/helloworld/helloworld.yang is included:

> dpkg -S helloworld
netconfd: /usr/lib/x86_64-linux-gnu/yuma/libhelloworld.so.0.0.0
netconfd: /usr/lib/x86_64-linux-gnu/yuma/libhelloworld.so.0
netconfd: /usr/lib/x86_64-linux-gnu/yuma/libhelloworld.so

So helloworld.yang and other example modules should also be packaged accordingly

How to merge different yang modules libraries and load into the netconf server?

Hi,

I want to merge multiple modules libraries into the single library. let say, interface.so, pw.so, l2vpn.so. PHB.so etc.. all these modules I want to load using the single ".so" file.

I am calling other module function from one module, since both the modules having different ".so" files, while loading the module I am getting undefined reference to .

could you please share your valuable suggestion.

Regards,
Santhosh

Redundancy support for OpenYuma config DBs

Hi Vladimir,

Could you please let me know how redundancy could be supported for OpenYuma DBs such as startup-config.DB, Candidate-config.DB and Running-config.DB ?

Thanks,
Kals

"when" statement in augment does not work

I am testing a very simple construct to verify behavior of "when" in augment.
In the toaster.yang model I added these 2 leaves on the top level:

	leaf toasterWeight {
	    type int32 {
            	range "1 .. 10"; 
	    }
 	    config true;
	    default 5;
	}
        leaf aug-test-leaf {
          when "../toasterWeight = '10'";
             config true;
             type string;
	     default "fooo";
          }

aug-test-leaf behaves as expected: set in DB if toasterWeight =10. Otherwise it's not set in DB, even so yangcli reported success (I guess this is a separate issue).

I created another module with augment as following:
```
module augment-test3-when {
       yang-version 1.1;
       namespace "http://netconfcentral.org/ns/augment-test3-when";
       prefix mymod3;

       import toaster {
         prefix toast;
       }
     augment "/toast:toaster" {	  
          leaf mandatory-leaf {
          when "../toast:toasterWeight = '5'";
             config true;
             type string;
	     default "bla";
          }
       }
``` 
I've loaded this module. It looks like the when statement does not have any affect.
I can create mandatory-leaf when toasterWeight = 10

```
rpc-reply {
  data {
    toaster {
      toasterWeight 10
      mandatory-leaf bla
    }
  }
}
```
I also experimented to put when statement at the augment level: ( when "toast:toasterWeight = '5'";) - it does not work either. 

Please advise.

Regards,
Elena

yangdiff and yangdump compilation issue

Making all in netconf/src/yangdiff
make[1]: Entering directory /root/yuma123/netconf/src/yangdiff' gcc -DPACKAGE_NAME=\"yuma123\" -DPACKAGE_TARNAME=\"yuma123\" -DPACKAGE_VERSION=\"2.10\" -DPACKAGE_STRING=\"yuma123\ 2.10\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DPACKAGE_URL=\"\" -DPACKAGE=\"yuma123\" -DVERSION=\"2.10\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I ../../../libtecla -I ../../../netconf/src/yangcli/ -I../../../netconf/src/agt -I../../../netconf/src/mgr -I../../../netconf/src/ncx -I../../../netconf/src/platform -I../../../netconf/src/ydump -I/usr/include/libxml2 -I/usr/include/libxml2/libxml -I../../../netconf/src/yangrpc -I../../../netconf/src/ydump -g -O0 -g -fPIC -DDEBUG=1 -DLINUX=1 -DGCC=1 -DRELEASE=0 -DENABLE_DIRECT_MUST_AUGMENT_EX=1 -MT yangdiff-yangdiff.o -MD -MP -MF .deps/yangdiff-yangdiff.Tpo -c -o yangdiff-yangdiff.o test -f '../../../netconf/src/yangdiff/yangdiff.c' || echo './'`../../../netconf/src/yangdiff/yangdiff.c
../../../netconf/src/yangdiff/yangdiff.c: In function ‘output_one_identity_diff’:
../../../netconf/src/yangdiff/yangdiff.c:645:44: error: ‘ncx_identity_t’ has no member named ‘baseprefix’
oldident->baseprefix,
^
../../../netconf/src/yangdiff/yangdiff.c:646:44: error: ‘ncx_identity_t’ has no member named ‘baseprefix’
newident->baseprefix,
^
../../../netconf/src/yangdiff/yangdiff.c:651:44: error: ‘ncx_identity_t’ has no member named ‘basename’
oldident->basename,
^
../../../netconf/src/yangdiff/yangdiff.c:652:44: error: ‘ncx_identity_t’ has no member named ‘basename’
newident->basename,
^

I got above error when i added yangdiff and yangdump compilation in Makefile.am. it seems fields are not there. But when i commented where ever it is used, it started compiling. and i got binaries. But i want to make sure is it ok or not, since i haven't gone through whole code so i am raising a issue.

How to program an attribute which is depending on other attribute ?

Hi vlvassilev,

Would like to know how dependency among attributes are handled in yuma123 ?

I see, each attribute has its own SIL function to be programmed into hardware. Assume the following scenario. A object has to be created with 3 attributes such as A1, A2 and A3.
A1 is an optional attribute where as A2 and A3 are mandatory. Now, object creation SIL function has been called with A1. It can't be programmed without A2 and A3. But, A2 and A3 edit SIL functions (for creating them) are not called hence they are not programmed in the hardware so those values are not available. How to handle this situation on yuma123 ?
Assume, A2 and A3 can't use default values as once the values are written on the hardware can't be reprogrammed.

Could you please let me know your thoughts on this ?

Thanks,
Kals

Cannot connect yangcli to netconfd

Upon trying to connect from yangcli to netconfd, the messages I get:

From yangcli:

Connect attempt with following parameters:
input {
user attila
server localhost
password ****
ncport 22
timeout 30
public-key $HOME/.ssh/id_rsa.pub
private-key $HOME/.ssh/id_rsa
use-agent false
transport ssh
tcp-direct-enable false
}
val->res is NO_ERR.

yangcli: Starting NETCONF session for attila on localhost
yangcli: Start session 1 OK for server 'default'
ses got send request on session 1
mgr_top: get node failed (xml reader EOF); session dropped

From netconfd:

New session 1 created OK
agt_connect got node
agt_connect msg ok
agt_sys: generating notification
Session 1 for [email protected] now active (base:1.1)
ses: session 1 shut by remote peer
agt_sys: generating notification

What might be going wrong?

yang-library capability appending issue

Hi. all
I saw an issue upon netconf get operation in your yuma123 package.
Another yang-library capability is being appended to netconf-state capabilities after get operation.
Please, check cap_update_yang_library_val() function.
It seems to work well after the following fixing.

status_t
    cap_update_yang_library_val (val_value_t *caplist,
                        const xmlChar *revision,
                        const xmlChar *module_set_id)
{
    char* prefix = "urn:ietf:params:netconf:capability:yang-library:1.0";
    int prefixlen = strlen(prefix);
    val_value_t* childval = NULL;
    for (childval = val_get_first_child(caplist);
        childval != NULL;
        childval = val_get_next_child(childval)) {
        if(strlen(VAL_STRING(childval))<prefixlen) {
            continue;
        }    
        if(0==memcmp(prefix,VAL_STRING(childval),strlen(prefix))) {
            break;
        }    
    }    
    if(childval)
    {    
        val_remove_child(childval);
        val_free_value(childval);
    }    
    return cap_add_yang_library_val (caplist, revision, module_set_id);
}  /* cap_update_yang_library_val */

How do I access datastore from a SIL callback?

Hello,

  1. I am having troubles to find a function (API) to get value from DB by XPATH from my callback function.
    I believe I saw API that looked something like this:
    const val_value_t *
    agt_val_get_data (ncx_cfg_t cfgid,
    const xmlChar *defpath,
    status_t *retres);
    But I could not find it in the latest code.

  2. I will also need an API to access value of parameter in the incoming message for validation reason. Can I use the following function for this purpose?
    /********************************************************************

  • FUNCTION agt_get_parmval
  • Get the identified val_value_t for a given parameter
  • Used for error purposes!
  • INPUTS:
  • parmname == parameter to get
  • msg == incoming rpc_msg_t in progress
  • RETURNS:
  • status
    *********************************************************************/
    extern const val_value_t *
    agt_get_parmval (const xmlChar *parmname,
    rpc_msg_t *msg);

Regards,
Elena

README: Improve apt-get install instructions for Option 1

Hi @vlvassilev

While creating https://github.com/userzimmermann/yuma123-docker-images/blob/master/yangcli/Dockerfile - which also uses http://yuma123.org/repos/apt/debian to install yangcli - I figured out two things:

  • By adding --no-install-recommends to apt-get -y install software-properties-common you can save up to 100MB of installed package data
  • Minimal Debian installations don't necessarily have wget and gnupg (needed for apt-key) installed. You could add those two packages to the first apt-get install command

How to build yuma123?

There is no ./yuma123-git/autoreconf script.
There is no ./yuma123-git/configure script.
Here comes the question - how the heck to build this package???

Is there any problem if startup-config DB and running-config.DB are always same

Hi Vladimir,

What would be the problem, in case if startup-config-db and running-config-db are same always i.e whenever there is a change on running-db would be saved in startup-db also. So, will there be any problem due to this approach ?

Actually, i am seeing one problem here... in case if the node is crashed due to mis-configuration, it might go for continuous crash as startup-db and running-db is same. Assume, the mis-configuration has already been saved in running-db and would have been saved in startup-db.

Please let me know if you see any other problem apart from the above ?

Thanks,
Kals

getting unknown namespace error for some leafs, module loaded successfully and able to create some other leaf in same module, what is the reason for unknown-namespace error?

Hi,

Configuring object is leafref, the reference object is configured already in same module.

rpc-reply {
rpc-error {
error-type application
error-tag unknown-namespace
error-severity error
error-app-tag data-invalid
error-path /bridge-mib:BRIDGE-MIB/bridge-mib:fsQBridgeMIBObjects/bridge-mib:fsDot1qTp/bridge-mib:fsDot1qFdbTable/bridge-mib:fsDot1qFdbEntry[bridge-mib:fsDot1qVlanContextId='0'][bridge-mib:fsDot1qFdbId='12']/bridge-mib:fsDot1qVlanContextId
error-message 'unknown namespace'
error-info {
error-number 266
}
}
}

reference object leaf contains " smiv2:max-access "not-accessible" "will it affect?

Thanks,
Santhosh

SIL code not generating for augmented leafs

Hi,

Below l2vpn augment is doing from "qos.yang", SIL code is not generating for "ingress-qos-template" grouping in both l2vpn and qos modules using make_sil_dir.

augment "/l2vpn:l2vpn/l2vpn:instances/l2vpn:instance/l2vpn:endpoint/l2vpn:ac-or-pw-or-redundancy-grp/l2vpn:ac"
{
uses ingress-qos-template;
}

Could you please let us know, SIL code will not be generated for augments?

Regards,
Santhosh

yangcli session getting closed while minimize and maximizing putty

Hi.

Please find below Queries,
Query 1:
yangcli session getting closed while minimize and maximizing putty.

yangcli root@localhost> Terminating: Interrupted system call

Query 2:
Can I start multiple netconfd servers and corresponding client sessions? in the same machine.
Eg:
server 1 ----- yangcli
server 2 ------- yangcli
etc..

Regards.
Santhosh

How can I apply configuration changes to Mininet devices?

Hi

I am working on a project for my university where I basically have to create a Mininet network and manage it through the NETCONF protocol.
I have chosen to run the yuma server (netconfd) in the nodes and I have not yet decided whether I will use OpenDayLight or ONOS as the controller.

My question is as follows:

After editting the running configuration and committing it... Does it really change the device configuration? i.e. let's say I configure a new route. Would this route be added to the device or is there any other action required after committing?

I ask this since I've read about SIL functions in the documentation and I'm not sure whether the commit operation is enough or if there is needed any other further action in order to truly affect the device's configuration.

Regards, Victor.

Multithreading support in Yuma123

Hi vlvassilev,

Could you please let me know how many threads are supported in OpenYuma123 and how to check it out ?

As per my understanding, I could see that only one thread is supported by yuma123 frameworks.
But, am just wondering how a single thread manages all such as configuration, notification, polling and etc. Could you please elaborate a bit on how all these are managed ? In case if a thread is busy on configuration then it cant send notification. Isn't it ?

Thanks,
Kals

Use of transaction id of startup-db

Hi,

Am seeing transaction-id is also stored as storing startup-db.

  1. I would like to know what is the use of storing it ?
  2. Is it possible to replay the config based on the transaction id when system comes up ?

Does running-db also would store the transaction-id ?

Thanks,
Kals

Query regarding Multithreading the yuma123

Hi vlvassilev,

I have below query.

Is yuma123 supported with multithreading(lock,unlock) ?
Is it possible to create multiple threads of yuma123? are the shared memory handled properly ?

Thanks in advance.

Regards,
Sivaraman G

identityref typedef defined in external module is not resolved correctly

The problem is reproduced with the following testcase: https://github.com/vlvassilev/yuma123/tree/6daf58f1ba08207e67be0762a1f59f50e40d9c86/netconf/test/netconfd/identityref-typedef

v@lmf:~/yuma123-git/netconf/test/netconfd/identityref-typedef$ ./run.sh
...
Error: identityref '--' has invalid base value (my-base-identity)
b.yang:23.13: error(250): definition not found

Load module './b.yang' failed (definition not found)
Error: one or more modules could not be loaded
netconfd: init returned (operation failed)
...

In SIL code generation for union types not type casting, what is the reason ?

Hi,

I am generating SIL code for my code, it is having Union leaf as key. But in SIL code generation for all other types typecasting happening except UNION types. Please find below piece of code.

const xmlChar *k_mplstp_oam_meg_meg_name = VAL_STRING(agt_get_key_value(errorval, &lastkey));
uint32 k_mplstp_oam_meg_lsp_spme_tunnel_id = VAL_UINT(agt_get_key_value(errorval, &lastkey));
xmlChar *k_mplstp_oam_meg_lsp_spme_local_lsr_id = agt_get_key_value(errorval, &lastkey); ->UNION
xmlChar *k_mplstp_oam_meg_lsp_spme_remote_lsr_id = agt_get_key_value(errorval, &lastkey); ->UNION

I have checked in netconf/src/ydump code, found below check,
boolean notunion = (obj_get_basetype(obj) != NCX_BT_UNION);
........
if (notunion) {
write_c_val_macro_type(parms->scb, obj);
ses_putchar(parms->scb, '(');
}

May I know the reason why typecasting not doing for Union.

Can I remove "notunion" check, if I remove, wil I get any error?

Regards,
Santhosh

Installing different versions of both yuma123(2.10 version) and openyuma-master(2.3 version) will it create any problem with duplicate files to start yuma123 server ?

Hi,

I have installed a different version of both yuma123_2_10 and openyuma-master_2.3in one linux machine. after installing both, I have observed few yang files are duplicated. Same yang files are present in /usr/share/yuma/modules/netconfcentral/ and /usr/share/yuma/modules/yuma123/ folder. Due to this, the netconf server is not starting.
As per my understanding, the openyuma-master_2.3 package installing some dependent yangs in netconfcentral folder but the same yangs are installed by yuma123_2_10 package in /usr/share/yuma/modules/yuma123/
is this understanding correct?

How to build netconf test

Hello Vladimir,

I am trying to build the netconf test, following the instructions in README.txt file from netconf/test directory. I am having troubles to build the test suite:

  1. netconf/test - does not have a Makefile. I can run "make" and "make install" from netconf/test/netconfd directory instead.
  2. cd ../integ-tests does not have any Makefile.
  3. "make check" from netconf/test/netconfd resulted in :
make[3]: Entering directory 'yuma123-git/netconf/test/netconfd'
make[3]: *** No rule to make target 'test-anyxml', needed by 'test-anyxml.log'.  Stop.
make[3]: Leaving directory 'yuma123-git/netconf/test/netconfd'
Makefile:859: recipe for target 'check-TESTS' failed
make[2]: *** [check-TESTS] Error 2
make[2]: Leaving directory 'yuma123-git/netconf/test/netconfd'
Makefile:1328: recipe for target 'check-am' failed
make[1]: *** [check-am] Error 2
make[1]: Leaving directory 'yuma123-git/netconf/test/netconfd'
Makefile:639: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
Please advise, (pulled today)

Regards,
Elena

make_sil_dir not installed in yuma123 ,

Yuma123 not creating make_sil_dir . I followed below steps . Yangcli ,Yangdump , netconfd get installed but make_sil_dir not created. To get install make_sil_dir what is the steps ?

===Option 2: Build from source===
sudo apt-get install git autoconf gcc libtool libxml2-dev libssh2-1-dev make libncurses5-dev zlib1g-dev libreadline-dev

git clone git://git.code.sf.net/p/yuma123/git yuma123-git
cd yuma123-git
autoreconf -i -f
./configure CFLAGS='-g -O0' CXXFLAGS='-g -O0' --prefix=/usr
make
sudo make install

Copy-config would do reprogramming ?

Hi vlvassilev,

  1. Will copy-config from any source (startup-config-db or candidate-config-db) to running-config-db would lead to reprogramming the hardware ?

running-config-db would be updated once config is programmed into the hardware through calling SIL functions. If configs are copied from startup-config-db to running-config-db then all the configs on running-db would be erased i.e would it call SIL functions to delete all the config ? then, as part of copy-config, would program the config into hardware through SIL functions ? This might lead to reprogramming some of the config into the hardware. is nt it ?

  1. Assume a situation where I have some config on candidate-db without commit i.e. the configuration changes are not yet committed into running-db. If i do copy-db from candidate to running-db, will those uncommitted configs also would be copied to running-db ?

Thanks in advance,
kals

Segment fault occurred upon the initialization of deviation modules.

When I run netconfd with a deviation module into netconfd.conf,
Segment fault occurred as below...

Attempting to load module 'hfr-deviation'
Loading YANG module from file:
  hfr-deviation.yang
Loading YIN module from file:
  hfr-deviation.yin
Loading YANG module from file:
  /usr/share/yuma/modules/hfr/hfr-deviation.yang
yang_parse: Start module 'hfr-deviation' OK
yang_parse: resolve deviations
Saving 1 deviations from deviation module 'hfr-deviation'
Load deviation module 'hfr-deviation' OK
Ncxmod: Finding SIL file (libiana-if-type.so)
Warning: SIL code for module 'iana-if-type' not found
Attempting to load module 'iana-if-type'
Loading YANG module from file:
  iana-if-type.yang
Loading YIN module from file:
  iana-if-type.yin
Loading YANG module from file:
  /usr/share/yuma/modules/ietf/iana-if-type.yang
yang_parse: Start module 'iana-if-type' OK
xmlns_reg: id:33 mod:iana-if-type	uri: urn:ietf:params:xml:ns:yang:iana-if-type
Attempting to load module 'ietf-interfaces'
Loading YANG module from file:
  ietf-interfaces.yang
Loading YIN module from file:
  ietf-interfaces.yin
Loading YANG module from file:
  /usr/share/yuma/modules/ietf/ietf-interfaces.yang
yang_parse: Start module 'ietf-interfaces' OK
xmlns_reg: id:34 mod:ietf-interfaces	uri: urn:ietf:params:xml:ns:yang:ietf-interfaces
yang_parse: resolve appinfoQ
yang_parse: resolve features
yang_parse: resolve identities
yang_parse: resolve typedefs
yang_typ: postponing default check for type 'interface-ref'
yang_typ: postponing default check for type 'interface-state-ref'
yang_parse: resolve groupings
yang_parse: resolve datadefs
yang_obj_resolve: interfaces
yang_obj_resolve: interface
yang_obj_resolve: name
yang_obj_resolve: description
yang_obj_resolve: type
yang_obj_resolve: enabled
yang_obj_resolve: link-up-down-trap-enable
yang_obj_resolve: interfaces-state
yang_obj_resolve: interface
yang_obj_resolve: name
yang_obj_resolve: type
yang_obj_resolve: admin-status
yang_obj_resolve: oper-status
yang_obj_resolve: last-change
yang_obj_resolve: if-index
yang_obj_resolve: phys-address
yang_obj_resolve: higher-layer-if
yang_obj_resolve: lower-layer-if
yang_obj_resolve: speed
yang_obj_resolve: statistics
yang_obj_resolve: discontinuity-time
yang_obj_resolve: in-octets
yang_obj_resolve: in-unicast-pkts
yang_obj_resolve: in-broadcast-pkts
yang_obj_resolve: in-multicast-pkts
yang_obj_resolve: in-discards
yang_obj_resolve: in-errors
yang_obj_resolve: in-unknown-protos
yang_obj_resolve: out-octets
yang_obj_resolve: out-unicast-pkts
yang_obj_resolve: out-broadcast-pkts
yang_obj_resolve: out-multicast-pkts
yang_obj_resolve: out-discards
yang_obj_resolve: out-errors
yang_parse: resolve groupings complete
yang_parse: resolve uses
resolve_uses: mod ietf-interfaces, object interfaces, on line 111
resolve_uses: mod ietf-interfaces, object interface, on line 115
resolve_uses: mod ietf-interfaces, object name, on line 132
resolve_uses: mod ietf-interfaces, object description, on line 165
resolve_uses: mod ietf-interfaces, object type, on line 198
resolve_uses: mod ietf-interfaces, object enabled, on line 221
resolve_uses: mod ietf-interfaces, object link-up-down-trap-enable, on line 242
resolve_uses: mod ietf-interfaces, object interfaces-state, on line 271
resolve_uses: mod ietf-interfaces, object interface, on line 276
resolve_uses: mod ietf-interfaces, object name, on line 290
resolve_uses: mod ietf-interfaces, object type, on line 304
resolve_uses: mod ietf-interfaces, object admin-status, on line 315
resolve_uses: mod ietf-interfaces, object oper-status, on line 346
resolve_uses: mod ietf-interfaces, object last-change, on line 394
resolve_uses: mod ietf-interfaces, object if-index, on line 405
resolve_uses: mod ietf-interfaces, object phys-address, on line 418
resolve_uses: mod ietf-interfaces, object higher-layer-if, on line 434
resolve_uses: mod ietf-interfaces, object lower-layer-if, on line 443
resolve_uses: mod ietf-interfaces, object speed, on line 452
resolve_uses: mod ietf-interfaces, object statistics, on line 475
resolve_uses: mod ietf-interfaces, object discontinuity-time, on line 479
resolve_uses: mod ietf-interfaces, object in-octets, on line 491
resolve_uses: mod ietf-interfaces, object in-unicast-pkts, on line 505
resolve_uses: mod ietf-interfaces, object in-broadcast-pkts, on line 523
resolve_uses: mod ietf-interfaces, object in-multicast-pkts, on line 539
resolve_uses: mod ietf-interfaces, object in-discards, on line 556
resolve_uses: mod ietf-interfaces, object in-errors, on line 575
resolve_uses: mod ietf-interfaces, object in-unknown-protos, on line 594
resolve_uses: mod ietf-interfaces, object out-octets, on line 619
resolve_uses: mod ietf-interfaces, object out-unicast-pkts, on line 633
resolve_uses: mod ietf-interfaces, object out-broadcast-pkts, on line 649
resolve_uses: mod ietf-interfaces, object out-multicast-pkts, on line 667
resolve_uses: mod ietf-interfaces, object out-discards, on line 686
resolve_uses: mod ietf-interfaces, object out-errors, on line 703
yang_parse: resolve augments
yang_parse: resolve deviations
   malloced 0x2482a80 module 'hfr-deviation'./local-start.sh: line 3: 14544 Segmentation fault      (core dumped) /usr/sbin/netconfd --config=/usr/share/yuma/data/netconfd.conf --superuser ${USER}


Catching back trace log is here.

[SIGINFO]
 - si_signo: 11 (Segmentation fault)
 - si_errno: 0
 - si_code: 1
 - si_pid: 56
 - si_uid: 0
 - si_status: -384415216
 - si_utime: 140183077882424
 - si_stime: 140183069949952
 - si_int: -384415216
 - si_ptr: 0x7f7ee9164a10
 - si_overrun: 0
 - si_timerid: 56
 - si_addr: 0x38
 - si_band: 56
 - si_fd: -384415216


[Backtrace]
 Obtained 32 stack frames.
 - /usr/lib/libactus.so.1(ntrace_backtrace+0x35) [0x7f7ee9f5e0e2]
 - /usr/lib/libactus.so.1(signaltracer+0x56d) [0x7f7ee9f5e7bc]
 - /lib/x86_64-linux-gnu/libc.so.6(+0x354b0) [0x7f7ee977d4b0]
 - /usr/lib/libyumancx.so.2(+0x9b73c) [0x7f7eea20373c]
 - /usr/lib/libyumancx.so.2(xpath_find_schema_target_err+0x124) [0x7f7eea205922]
 - /usr/lib/libyumancx.so.2(xpath_find_schema_target+0x52) [0x7f7eea2057f8]
 - /usr/lib/libyumancx.so.2(+0xbae9b) [0x7f7eea222e9b]
 - /usr/lib/libyumancx.so.2(+0xbbe47) [0x7f7eea223e47]
 - /usr/lib/libyumancx.so.2(yang_obj_resolve_deviations+0x300) [0x7f7eea22700b]
 - /usr/lib/libyumancx.so.2(+0xc74b9) [0x7f7eea22f4b9]
 - /usr/lib/libyumancx.so.2(yang_parse_from_filespec+0x345) [0x7f7eea230453]
 - /usr/lib/libyumancx.so.2(+0x3ce4f) [0x7f7eea1a4e4f]
 - /usr/lib/libyumancx.so.2(+0x3e3a8) [0x7f7eea1a63a8]
 - /usr/lib/libyumancx.so.2(+0x3e5e3) [0x7f7eea1a65e3]
 - /usr/lib/libyumancx.so.2(+0x3ef65) [0x7f7eea1a6f65]
 - /usr/lib/libyumancx.so.2(+0x3f564) [0x7f7eea1a7564]
 - /usr/lib/libyumancx.so.2(ncxmod_load_imodule+0xd0) [0x7f7eea1a8820]
 - /usr/lib/libyumancx.so.2(+0xc385f) [0x7f7eea22b85f]
 - /usr/lib/libyumancx.so.2(+0xc4b70) [0x7f7eea22cb70]
 - /usr/lib/libyumancx.so.2(+0xc6b53) [0x7f7eea22eb53]
 - /usr/lib/libyumancx.so.2(yang_parse_from_filespec+0x345) [0x7f7eea230453]
 - /usr/lib/libyumancx.so.2(+0x3ce4f) [0x7f7eea1a4e4f]
 - /usr/lib/libyumancx.so.2(+0x3e3a8) [0x7f7eea1a63a8]
 - /usr/lib/libyumancx.so.2(+0x3e5e3) [0x7f7eea1a65e3]
 - /usr/lib/libyumancx.so.2(+0x3ef65) [0x7f7eea1a6f65]
 - /usr/lib/libyumancx.so.2(+0x3f564) [0x7f7eea1a7564]
 - /usr/lib/libyumancx.so.2(ncxmod_load_module+0xab) [0x7f7eea1a808b]
 - /usr/lib/libyumaagt.so.2(agt_init2+0x503) [0x7f7eea48acf9]
 - /usr/sbin/netconfd() [0x401448]
 - /usr/sbin/netconfd(main+0x4c) [0x401645]
 - /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f7ee9768830]
 - /usr/sbin/netconfd(_start+0x29) [0x400f99]

Yuma123 Wiki has a problem

Hello,

It looks like Yuma 123 Wiki has not been working for the last few days:
http://yuma123.org/wiki/ shows the following error message:

Yuma123 Wiki has a problem
Sorry! This site is experiencing technical difficulties.
Try waiting a few minutes and reloading.

(Can't contact the database server: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) (localhost))

Regards,
Elena

Issue in configuration via Yangcli, after loading the module

Hi,

I have downloaded 2.11 version yuma123, and followed steps are per the README and compiled.
I have started netconfd and connected to yangcli session and load one module and SIL code.
When I tried to configure something using I am facing below error.

**Getting yang-library module set ...
Current module-set-id: 7d4fedfaafebfdc28c5f4c91cb7b7a28a7deca97.

Checking Server Modules...

yangcli [email protected]> mgrload per-hop-behavior

Load module 'per-hop-behavior' OK

yangcli [email protected]> load per-hop-behavior

RPC Data Reply 2 for session 1:

rpc-reply {
mod-revision 2018-03-04
}

yangcli [email protected]> create /PerHopBehavior/PerHopBehavior/
EgressExpCosMappingEntryList/ IngressCosExpMappingEntryList/ name
yangcli [email protected]> create /PerHopBehavior/PerHopBehavior/name

0.1: error(250): definition not found

Error: No object match for node 'PerHopBehavior' in expr '/PerHopBehavior/PerHopBehavior/name'
Error: definition not found ((in default parm) = /PerHopBehavior/PerHopBehavior/name)
Error in the parameters for 'create' command (definition not found)
yangcli [email protected]>**

can you please let me know how can I resolve this error.

Regards,
Santhosh

What is the Reason for pattern match failed while loading module?

Hi,

What is the Reason for pattern match failed while loading module?
yangcli root@localhost> mgrload IEEE8023-LAG-MIB

Warning: no revision statements for module 'IEEE8023-LAG-MIB'
Warning: Module 'ietf-inet-types' not used
IEEE8023-LAG-MIB.yang:22.3: warning(415): import not used

Warning: Module 'ietf-yang-types' not used
IEEE8023-LAG-MIB.yang:28.3: warning(415): import not used

Load module 'IEEE8023-LAG-MIB' OK

yangcli root@localhost> load IEEE8023-LAG-MIB

mgr_rpc: got invalid reply on session 1 (pattern match failed)
RPC Data Reply 12 for session 1:

rpc-reply {
mod-revision
}

Thanks,
Santhosh

Netconfd server not accepting connections

Hi,

Everytime I try to connect to the netconfd server from yangcli I will get the message "session shut by remote peer" at yangcli logs, I can't start no session.

However, I can properly SSH to port 830 so it's not a configuration issue (sshd_config has been changed according to the wiki).

Any clue on this?

Can other NBIs alter Netconf programmed config ?

Hi,

  1. Is it possible for other Northbound Interfaces such as CLI, SNMP can alter the config which was programmed by Netconf ?

  2. If so, would the controller be notified for the configuration changes ?

Thanks,
kals

yangcli create-subscription usage

what is the detail of create-subcsription with parameter filter for subtree and xpath for example below:
1/create-subscription stream=NETCONF startTime=2017-09-18T00:01:00+07:00 'filter type="subtree"'=222
2/create-subscription stream=NETCONF startTime=2017-09-18T00:01:00+07:00 'filter type="xpath" select="/myService/config and (port=333 or homeLocation=dangle)"'

Does we have test case for the parameter of filter in create-subscription? thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.