Olof hagsand
3a656fac07
System-only config
...
New `ca_system_only` backend callback for reading system-only data
New `CLICON_XMLDB_SYSTEM_ONLY_CONFIG` configuration option
API: Added `system_only` parameter to clixon_xml2file1()
Cleared running on commit and inited candidate on startup with system-only data
Added callback code in main example
2024-11-04 09:34:27 +01:00
Olof hagsand
fd4e694312
Re-add yang ref-count for obsolete yangs in readfile
2024-10-22 21:02:00 +02:00
Olof hagsand
f0bd103e79
Added new DOMAIN level in YANG spec structure
2024-10-06 10:51:26 +02:00
Olof hagsand
31008e8492
Fixed: Double top-levels in xmldb_get that could occur with xpath containing choice.
2024-09-04 12:12:36 +02:00
Olof hagsand
dfe5c1bac1
Refactoring of schema mount-points
...
Add new top-level `Y_MOUNTS` and add top-level yangs and mountpoints in yspecs
2024-08-29 17:24:44 +02:00
Olof hagsand
275cefbae7
Moved map functions from clixon_string to _map, new ptr2ptr map
2024-08-10 13:42:37 +02:00
Olof hagsand
e2140aed10
Formatting and debugs
2024-05-28 18:50:07 +02:00
Olof hagsand
f511cb0030
Split config into multiple sub-files on mount-point boundaries and dont write clean subfiles
...
Added CLICON_XMLDB_MULTI option, added cl:xmldb-split extension
2024-04-25 14:58:14 +02:00
Olof hagsand
bd290e4594
Fixed: Fail on return errors when reading from datastore
2024-04-24 13:48:06 +02:00
Olof hagsand
928d7d5b4d
Fixed: [Startup and default of same object causes too-many-elements error]( https://github.com/clicon/clixon/issues/503 )
2024-03-18 17:07:43 +01:00
Olof hagsand
a1badc312e
Fixes after coverity static analysis
2024-03-03 17:05:36 +01:00
Olof hagsand
d660c01a58
Optimization of xldb_put
...
Added flags parameter to default functions
removed call to bind
2024-02-06 09:27:51 +01:00
Olof hagsand
23dcb58758
Optimization of PUT
2024-02-05 17:14:36 +01:00
Olof hagsand
f8de2b7c0a
Optimized datastore access by ensuring REPORT_ALL in memory and EXPLICIT in file
2024-02-01 20:42:25 +01:00
Olof hagsand
9989ee4d52
Removed other datastore options than cached
...
Marked `CLICON_DATASTORE_CACHE` as obsolete
2024-02-01 19:28:41 +01:00
Philip Prindeville
23b538e7dc
Add datastore-specific logging
2024-01-22 08:46:15 +01:00
Olof hagsand
88b60daa75
Revert and obsolete the creators attribute feature introduced in 6.2.
2024-01-21 12:58:51 +01:00
Philip Prindeville
b258fc625c
Missed a few instances of __FUNCTION__ in clixon_debug*()
2024-01-12 11:10:52 +01:00
Philip Prindeville
cf2e27b43d
Drop __FUNCTION__ from clixon_debug() calls
2024-01-11 17:29:37 +01:00
Philip Prindeville
063c8d664f
Messages can't be DETAIL alone so pair with DEFAULT
2024-01-10 20:06:38 +01:00
Olof hagsand
907da6ab9a
Revert premature default optimize fix
2024-01-09 10:59:34 +01:00
Olof hagsand
7b5dc3d24c
Upgrade creator-attr code
2024-01-09 10:52:32 +01:00
Olof hagsand
9e54f0602f
Changed ca_errmsg callback to a more generic variant
...
Includes all error, log and debug messages
See [Customized NETCONF error message](https://github.com/clicon/clixon/issues/454 )
2024-01-05 16:41:53 +01:00
Olof hagsand
24a4991ec8
Restructured error,debug anf log API
...
Renamed functions clicon->clixon, replaced global variables w access functions
Unified clicon_netconf_error with clixon_err()
2023-12-18 08:29:14 +01:00
Olof hagsand
012158fb24
Optimization of yang_find()
2023-12-10 21:03:46 +01:00
Olof hagsand
bbcb4a7b03
Creator attribute changes: added as xmldb metadata
...
clixon-config.yang: New revision and Added `CLICON_NETCONF_CREATOR_ATTR` option
clixon-lib.yang: Added creator meta
Changed return value of xml_add_attr
2023-11-28 14:44:01 +01:00
Olof hagsand
62348fc9c7
C-style update: Unified comment, retvals in order, remove trailing spaces
...
Changed function name for `clicon_debug` functions
2023-10-23 09:58:13 +02:00
Olof hagsand
cdc305ed2f
C-style comments
2023-08-09 18:47:40 +02:00
Olof hagsand
6335f810d3
C-API: clixon_xml2file and clixon_xml2cbuf added prefix argument
...
Added in-mem xml diff function: `xml_tree_diff_print`
2023-04-12 10:44:58 +02:00
Olof hagsand
1e136bc9df
Added clicon_data_init API, and yang_mount_get API
...
Moved dynamic options from options to data API
2023-03-12 21:04:23 +01:00
Olof hagsand
51ebbdf12f
* C-API: Added clicon_handle parameter to all xml_bind_* calls
2023-01-27 14:56:58 +01:00
Olof hagsand
da9bfcbb53
* Changed debug levels in clicon_debug() to be based on maskable flags
...
* Added flag names: `CLIXON_DBG_*`
* Added maskable flags that can be combined when debugging:
* `DEFAULT` = 1: Basic debug message, espcially initialization
* `MSG` = 2: Input and output packets, read datastore
* `DETAIL` = 4: Details: message dump in hex, xpath parse trees, etc
* `EXTRA` = 8: Extra detailed logs
* Test: some errors in yang-lib where content-id was in wrong place
2023-01-27 14:56:58 +01:00
Olof hagsand
ffe918dd0e
Fixed: [Defaults in choice does not work properly]( https://github.com/clicon/clixon/issues/390 )
...
C: Added new file clixon_xml_default.[ch] and moved all default handling there
2022-12-22 12:13:20 +01:00
Olof hagsand
8db7892e38
sanity checkof xret in param
...
test: updated to new openconfig network-instance version
2022-12-20 13:47:08 +01:00
Olof hagsand
0d41d49fa9
Moved with-defaults processing from get(-config) to xmldb_get when reading db
...
With-defaults: fixed cornercase in xpath used in list pagination
C-API: Added `with-defaults` parameter (default 0) to `xmldb_get0()`
2022-12-18 19:59:02 +01:00
Olof hagsand
d84c529ff1
[Code formatting: Change indentation style to space]( https://github.com/clicon/clixon/issues/379 )
...
* Applies to all c/h/y/l/sh files and .editorconfig
2022-10-27 14:21:17 +02:00
Olof hagsand
38f501be19
Extended purge argument to xml_defaults_nopresence to handle non-config case
...
Test: with-defaults: added headings to all test cases
2022-09-09 13:46:20 +02:00
Olof hagsand
2eb9c6cda1
Refactored YANG min/max validation code, created new clixon_validate_minmax.[ch]
...
Added new recursive minmax check for non-presence containers
This makes validation checks stricter, including check of incoming RPCs
Renamed xml_yang_check_list_unique_minmax() to xml_yang_minmax_recurse()
Fixed again: [YANG min-elements within non-presence container does not work](https://github.com/clicon/clixon/issues/355 )
2022-09-01 18:29:17 +02:00
Olof hagsand
c8bf718db8
replace xml_nopresence functions with xml_defaults_nopresence
2022-08-29 18:29:31 +02:00
Olof hagsand
4514f2a538
Fixed: ["autocli:hide-show" extension cause bug in xmldb_put method #343 ]( https://github.com/clicon/clixon/issues/343 )
...
As a side-effect, added extra "autocliext" parameter to:
- clixon_xml2file()
- clixon_json2file()
- clixon_json2cbuf()
- clixon_txt2file()
2022-07-22 16:06:28 +02:00
Olof hagsand
0c79298e76
Changed C-API for xml translation/print the internal cxobj tree data structure to other formats
...
New API is as follows:
* `clixon_xml2file()` - Print internal tree as XML to file
* `clixon_xml2cbuf()` - Print internal tree as XML to buffer
* `clixon_json2file()` - Print internal tree as JSON to file
* `clixon_json2cbuf()` - Print internal tree as JSON to buffer
* `clixon_cli2file()` - Print internal tree as CLI format to file
* `clixon_txt2file()` - Print internal tree as text format to file
2022-06-01 20:02:27 +02:00
Olof hagsand
6c3771e604
Fixed: Removed warning at startup: No YANG spec for module-set
2022-04-12 16:51:01 +02:00
Olof hagsand
dd2ac56af8
Module state upgrade: RFC7895 to RFC 8525
...
Changes to clixon-config:
* Added option: 'CLICON_YANG_LIBRARY`
* Changed default value: `CLICON_MODULE_LIBRARY_RFC7895` to false
Datastore modstate is backward compatible
Tests upgraded to RFC8525
2022-03-07 10:56:54 +01:00
Olof hagsand
97316e0bfa
* Follow-up on [restconf GET json response does not encode top level node with namespace as per rfc #303 ]( https://github.com/clicon/clixon/issues/303 )
...
* Load/save JSON config file did not work
* Added rfc7951 parameter to `clixon_json_parse_string()` and `clixon_json_parse_file()`
* If set, honor RFC 7951: JSON Encoding of Data Modeled with YANG, eg it requires module name prefixes
* If not set, parse as regular JSON
* Test: added test_db.sh for datastore format tests
2022-02-22 14:28:01 +01:00
Olof hagsand
77b4468eb3
Updated copyright statements to 2022
2022-01-18 16:36:00 +01:00
Olof hagsand
caabfd464e
* New state callback signature (ca_statedata2)
...
* The new callback contains parameters for paging
* Goal is to replace ca_statedata callback
* New plugin callback when lock/unlock occurs
* Add `ca_lockdb` tro plugin init to use it.
* Fixed: Typing 'q' in CLI more paging did not properly quit output
* Output continued but was not shown, for a very large file this could cause considerable delay
* Fixed: Lock was broken in first get get access
* if the first netconf operation to a backend was lock;get;unlock, the lock was broken in the first get access.
2021-09-21 11:27:58 +02:00
Olof hagsand
dee081646c
* Fixed: SEGV in clixon_netconf_lib functions from internal errors including validation.
...
* Check xerr argument both before and after call on netconf lib functions
2021-07-27 10:31:16 +02:00
Olof hagsand
ac51cb0293
* Fix: XPath:s used in netconf (eg get-config) did not correctly access default values
2021-05-07 13:07:34 +02:00
Olof hagsand
1af3a7bcfe
- Restconf bind: continue with other sockets if bind fails, print address on log
...
- Multi-yang: Look in CLICON_YANG_MAIN_DIR, not only CLICON_MAIN_DIRs for old yangs
- Backend -q quit option enhanced for multi-yang case
2021-04-14 17:02:24 +02:00
Olof hagsand
c43e216d67
- Restconf bind: continue with other sockets if bind fails, print address on log
...
- Multi-yang: Look in CLICON_YANG_MAIN_DIR, not only CLICON_MAIN_DIRs for old yangs
- Backend -q quit option enhanced for multi-yang case
2021-04-13 18:00:27 +02:00