Commit graph

285 commits

Author SHA1 Message Date
Olof hagsand
0193186272 Fixed: [Change CLICON_NETCONF_DUPLICATE_ALLOW to remove duplicates](https://github.com/clicon/clixon-controller/issues/160)
C-API: Removed xml_tree_prune_flagged
2024-11-23 10:54:00 +01:00
Olof hagsand
b0ec866544 when_xpath memory fixes and trimmed perf 2024-08-29 17:57:52 +02:00
Olof hagsand
26ca872b0c Transform YANG when expressions to canonical xpath form 2024-08-23 08:39:32 +02:00
Olof hagsand
c08dac2e5d YANG optimization: move "when" and "mymodule" to external maps 2024-08-11 14:07:33 +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
4b9ee6740b C-API changes: Replace yn_each with yn_iter, add keyw argument to yang_stats() 2024-07-04 18:27:14 +02:00
Olof hagsand
58358fb6da Misc formatting 2024-07-02 15:02:18 +02:00
Olof hagsand
0234ed94bc Added CLICON_LOG_DESTINATION and CLICON_LOG_FILE for al applications 2024-06-19 12:46:09 +02:00
Olof hagsand
e2140aed10 Formatting and debugs 2024-05-28 18:50:07 +02:00
Colin Baumgarten
d29b7e574c xml_merge1(): Allow merging trees with nodes below mountpoints
xml_merge1() fails right now when merging trees which have data
below mountpoints with an error message like this:

XML node %s/%s has no corresponding yang specification (Invalid XML or wrong Yang spec?

This is because xml_merge1() does not handle mountpoints. Adjust
it accordingly.

Note that this was encountered when generating the state of a a yang
module that has both state and config below a mountpoint. In that case
netconf_trymerge() will be called to merge state and config and will
trigger the problem in xml_merge1().
2024-05-22 14:10:37 +02:00
Olof hagsand
b6480ac07d clixon-config.yang: Added CLICON_DEBUG, Removed: CLICON_NETCONF_DUPLICATE_ALLOW
Rearranged and grouped options
clixon-lib.yang: Added debug types
Removed git reliance in test - moved to configure script
2024-05-21 13:21:55 +02:00
Olof hagsand
9826ac16ff Formatting and CHANGELOG updates 2024-04-03 17:40:32 +02:00
Mico Micic
d3587b8646 Fix pr review findings (typos and formatting) 2024-03-12 15:22:50 +01:00
Mico Micic
4f306056ea Add helper functions for bits data type 2024-03-12 15:22:50 +01:00
Olof hagsand
9f73014500 Added yspec parameter to api_path_fmt2api_path()
Added "%k" as extra flag character to api-path-fmt
2024-02-26 13:18:26 +01:00
Olof hagsand
96f94114e2 Fixed: [Problems with diff of YANG lists ordered-by user](https://github.com/clicon/clixon/issues/496) 2024-02-23 22:08:15 +01:00
Olof hagsand
01938b7a64 Generalized template and variable substitution functions
Modified api-path-fmt to uri-encoded only =restval
2024-02-22 12:31:48 +01:00
Olof hagsand
b551e9e5c7 Added xml_template_apply 2024-02-19 12:20:52 +01:00
Olof hagsand
3b0b734de1 Fix same -V version string
Restconf exit segv
2024-02-17 22:11:35 +01:00
Olof hagsand
6ff1588397 Changed cl:ignore-compare to also include core diff algorithm 2024-02-09 16:18:47 +01:00
Olof hagsand
840233d6fa Part 2: Added volatile flag for datastores 2024-02-07 17:42:58 +01:00
Olof hagsand
9f592911f5 More fix problems with cl:ignore attribute for xml_diff2cbuf & co 2024-02-07 15:57:49 +01:00
Olof hagsand
99deddb47e Fixed: Problem with cl:ignore attribute for show compare 2024-02-06 20:15:48 +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
9ecc7e0791 Refactor enum2int API 2024-01-29 10:59:04 +01:00
Olof hagsand
a97a06d15a Fixed: [yang_enum_int_value() fails if no explicit values are assigned to enums](https://github.com/clicon/clixon/issues/483) 2024-01-24 23:16:57 +01:00
Olof hagsand
60ded12ea7 Fixed: [show compare/diff problems with sorted-by user](https://github.com/clicon/clixon/issues/482) xml_diff() 2024-01-24 10:20:21 +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
cf2e27b43d Drop __FUNCTION__ from clixon_debug() calls 2024-01-11 17:29:37 +01:00
Philip Prindeville
86667a0190 Don't use literal for CLIXON_DBG_XXX 2024-01-10 20:06:38 +01:00
Philip Prindeville
11e28eedec Discriminate XML debugging 2024-01-10 20:06:38 +01:00
Olof hagsand
ea645d1334 New clixon-lib@2024-01-01.yang revision
* Replaced container creators to grouping/uses
2024-01-09 10:42:33 +01:00
Olof hagsand
04a548ad78 Fixed: [Problem deleting non-last list element if ordered-by user](https://github.com/clicon/clixon/issues/475) 2024-01-07 16:52:04 +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
2f88ef3ed6 Fixed: [cl:creator attribute must be persistent](https://github.com/clicon/clixon-controller/issues/54) 2023-11-03 14:06:41 +01:00
Olof hagsand
e7313fc9a2 New clixon-lib@2023-11-01.yang revision with ignore-compare extension 2023-10-25 18:09:40 +02: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
2603b6f139 CLI show compare example function
Improved diff algorithm for XML and TEXT/curly, replaced UNIX diff with structural in-mem algorithm
Fixed: ["show compare" and "show compare | display cli" differs #23](https://github.com/clicon/clixon-controller/issues/23)
Changed parameters of example clispec function `compare_dbs()`
Added show2cbuf functions for TEXT/CLI
Renamed clixon_txt2file to clixon_text2file
2023-09-22 10:42:00 +02:00
Olof hagsand
90b7a550b2 Added configure option CLICON_PLUGIN_DLOPEN_GLOBAL for config of dlopen() 2023-07-06 17:34:28 +02:00
Olof hagsand
0460c093cc Moved datastore-format datastype from clixon-config.yang to clixon-lib.yang 2023-06-20 10:06:52 +02:00
Olof hagsand
b3a7e39d26 C-API: Added specialized xml_child_each_attr function to counter perf issue 2023-05-29 12:25:39 +02:00
Olof hagsand
ad07eb3adf API change: remove yang2cli_yspec last argument printgen, removed obsolete: `cli_auto_show() 2023-05-11 16:57:19 +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
2c104daee2 Since 6.1 RESTCONF PUTs have added clixon-lib namespace for attributes.
These empty namespaces are removed.
2023-03-27 12:57:24 +02:00
Olof hagsand
da2edceb7e * Added new functions: xml_tree_equal and xpath2xml
* RFC 8528 yang schema mount-points:
  * Made expand_dbvar and cli_dbxml mountpoint-aware (RFC 8528)
  * autocli supportgenerate
  * Made api_path2xml and xml2api_path mount-point-aware
  * Temporar fix in clixon_custom.h: XPATH_CANONICAL_SKIP_CHECK
* `xml2xpath()`: Added `apostrophe` as 4th parameter, default 0
* removed extra assert.h includes
2023-03-23 22:16:33 +01:00
Olof Hagsand
fcf9a8b0b0 C-API: Exposed diff function
Test: double leaf validate test
2023-02-13 20:23:18 +01:00
Olof hagsand
7868cf0a0d Docker example: fixed scripts to run multiple instances
Fixed parenthesis typo in purge code
2023-02-10 11:51:41 +01:00
Olof Hagsand
a5220805b1 New plugin callback: ca_yang_patch - for modifying existing YANG modules
C-API: Added `spec` parameter to `xml2xpath()`
2023-02-05 14:14:57 +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