Commit graph

1512 commits

Author SHA1 Message Date
Olof hagsand
7847e74c5e yang_cvec_set(y, cvv) added 2019-04-24 09:56:07 +02:00
Olof hagsand
1e1eabbc06 Non linear str2int 2019-04-23 12:53:29 +02:00
Olof hagsand
6a0628141a More performance tweaks 2019-04-21 17:29:11 +02:00
Olof hagsand
8c36083e16 * A yang type regex cache added, this helps the performance by avoiding re-running the regcomp command on every iteration.
* An XML namespace cache added (see `xml2ns()`)
* Better performance of XML whitespace parsing/scanning.
2019-04-19 16:01:39 +02:00
Olof hagsand
d46ca41c8b Further optimizions and bugfixing of that 2019-04-16 12:09:21 +02:00
Olof hagsand
71da2ac6cb Merge branch 'master' of https://github.com/clicon/clixon 2019-04-14 14:43:20 +02:00
Olof hagsand
c79baf1b1f * Optimized validation of large lists
* New xmldb_get1() returning actual cache - not a copy. This has lead to some householding instead of just deleting the copy
  * xml_diff rewritten to work linearly instead of O(2)
  * New xml_insert function using tree search. The new code uses this in insertion xmldb_put and defaults. (Note previous xml_insert renamed to xml_wrap_all)
2019-04-14 14:36:41 +02:00
Olof hagsand
cef0dc5a22 * Added yang access functions
* Change all y->ys_parent to yang_parent_get(y)
    * Change all y->ys_keyword to yang_keyword_get(y)
    * Change all y->ys_argument to yang_argument_get(y)
    * Change all y->ys_cv to yang_cv_get(y)
    * Change all y->ys_cvec to yang_cvec_get(y)
2019-04-11 15:53:25 +02:00
Olof hagsand
cf7675dfac Experimental customized error output strings, see [lib/clixon/clixon_err_string.h] 2019-04-11 12:45:31 +02:00
Olof hagsand
e007014d92 Merge branch 'master' of https://github.com/clicon/clixon 2019-04-11 11:27:02 +02:00
Olof hagsand
56f32371ce * Backend plugin returning NULL was still installed - is now logged and skipped.
* [Parent list key is not validated if not provided via RESTCONF #83](https://github.com/clicon/clixon/issues/83), thanks achernavin22.
2019-04-11 11:25:42 +02:00
Olof Hagsand
1b9ddaee28 Makefile avoid double yacc runs 2019-04-11 10:12:17 +02:00
Olof hagsand
881dd56ee1 Empty leaf values, eg <a></a> are now checked at vlidation. 2019-04-10 17:35:36 +02:00
Olof hagsand
4a1e0f2cbc xmldb_get cache bug 2019-04-10 15:58:21 +02:00
Olof hagsand
a37b89600f Merge branch 'master' of https://github.com/clicon/clixon 2019-04-07 16:04:23 +02:00
Olof hagsand
e29cd7cfb9 * Optimized validation by making xml_diff work on raw cache tree (not copies)
* xmldb_get() removed unnecessary config option
2019-04-07 15:55:53 +02:00
Olof hagsand
4fbec973d7 List ordering bug - lists with ints as keys behaved wrongly and slow 2019-04-07 15:49:19 +02:00
Olof Hagsand
473d82a8a3 NACM read default rule did not work properly if nacm was enabled AND no group\
s were defined
2019-04-07 15:49:19 +02:00
Olof Hagsand
a2f0dc2e7d Modernizing autoconf utilities 2019-04-07 15:49:19 +02:00
Olof hagsand
4021d65d7a Merge branch 'master' of https://github.com/clicon/clixon 2019-04-07 15:47:10 +02:00
Olof hagsand
473d65c511 * Optimized validation by making xml_diff work on raw cache tree (not copies)
* xmldb_get() removed unnecessary config option
2019-04-06 21:43:51 +02:00
Olof hagsand
2d7e303341 List ordering bug - lists with ints as keys behaved wrongly and slow 2019-04-05 20:08:54 +02:00
Olof Hagsand
5b78abccdc NACM read default rule did not work properly if nacm was enabled AND no group\
s were defined
2019-04-03 18:19:14 +02:00
Olof Hagsand
f11f7eb40e Modernizing autoconf utilities 2019-04-03 09:07:12 +01:00
Olof hagsand
b5f1f7346e Structural C-code change: Merged yang_spec and yang_node types into yang_stmt 2019-04-02 12:27:33 +02:00
Olof hagsand
4de15343c9 optimize 2019-04-02 11:46:28 +02:00
Olof hagsand
ed62c33a79 xpath parser scan strings instead of characters 2019-04-02 11:01:01 +02:00
Olof hagsand
a68174897d leaf-list default; yangmodels/junos models 2019-04-01 16:04:02 +02:00
Olof hagsand
65451f1045 forgot new data and datastore files 2019-03-31 18:20:48 +02:00
Olof hagsand
98a5ebc76e * Structural change: removed datastore plugin and directory, and merged into regulat clixon lib code.
* Moved out code from clixon_options.[ch] into a new file: clixon_data.[ch]
2019-03-31 18:17:40 +02:00
Olof hagsand
60cb87f998 Removed argc/argv parameters from ca_start plugin API function. You may need to change signatures of your startup in your plugins 2019-03-28 17:11:55 +01:00
Olof hagsand
cdbce7645e Changed hash API for better error handling 2019-03-28 13:16:44 +01:00
Olof hagsand
b10c3c5727 more upgrade-interfaces test cases 2019-03-28 10:56:53 +01:00
Olof hagsand
be59bd48d8 upgrade example and test 2019-03-27 18:04:01 +01:00
Olof hagsand
4902f7cf1d Merge branch 'develop' 2019-03-27 16:32:01 +01:00
Olof hagsand
6ff36a2894 * Added xml_wrap function that adds an XML node above a node as a wrapper
* also renamed `xml_insert` to `xml_wrap_all`.
* Added `clicon_argv_get()` function to get the user command-line options, ie the args in `-- <args>`. This is an alternative to using them passed to `plugin_start()`.
2019-03-27 16:04:14 +01:00
Olof Hagsand
5fd092b785 reverted internal-rpc nacm rule 2019-03-26 16:26:07 +01:00
Olof hagsand
8624be0a67 xml changelog next iteration 2019-03-26 12:04:51 +01:00
Olof Hagsand
1991c3870c uninitialized vars 2019-03-25 22:16:51 +01:00
Olof hagsand
a0abf8436e XML chanelog revision 2019-03-25 10:42:27 +01:00
Olof Hagsand
0c0efd4037 Added synatctic check for yang status: current, deprectated or obsolete 2019-03-23 13:23:50 +01:00
Olof Hagsand
69dcc721a9 * Added CLICON_NACM_MODE "internal-rpc" which is for RPC functionality only 2019-03-22 17:09:05 +01:00
Olof Hagsand
10d45bcee3 Memory leaks and errors 2019-03-21 20:36:47 +01:00
Olof hagsand
3f68cca06c * New yang changelog experimental feature for automatic upgrade
* Added modules-state diff parameter to xmldb_get datastore function for startup scenarios.
* Allowed Yang extended Xpath functions (syntax only):
  * re-match, deref, derived-from, derived-from-or-self, enum-value, bit-is-set
* XSD regular expression handling of dash(`-`)
  *: Translate XDS `[xxx\-yyy]` to POSIX `[xxxyyy-]`.
* YANG Anydata treated same as Anyxml
2019-03-21 18:05:55 +01:00
Olof hagsand
434f0b930e Made Makefile concurrent so that it can be compiled with -jN 2019-03-21 10:40:00 +01:00
Olof hagsand
0bf838eb8c added module-revision Yang 2019-03-19 11:55:44 +01:00
Olof hagsand
7b30b7a9e0 ordering problems 2019-03-18 21:59:41 +01:00
Olof hagsand
789732c613 xml sort adjust to different yang models
global yang ordering for top-level xml symbols
2019-03-18 19:15:21 +01:00
Olof hagsand
606245ef02 * Added flags to example backend to control its behaviour:
* Start with `-- -r` to run the reset plugin
  * Start with `-- -s` to run the state callback
* Rewrote yang dir load algorithm to follow the algorithm in [FAQ](FAQ(doc/FAQ.md#how-are-yang-files-found) with more precise timestamp checks, etc.
2019-03-18 16:31:34 +01:00
Olof hagsand
8f656da15b Bugfix: [Nodes from more than one of the choice's branches exist at the same time](https://github.com/clicon/clixon/issues/81) 2019-03-14 16:33:10 +01:00