Commit graph

260 commits

Author SHA1 Message Date
Olof hagsand
275cefbae7 Moved map functions from clixon_string to _map, new ptr2ptr map 2024-08-10 13:42:37 +02:00
Olof hagsand
781c9d9d27 YANG optimize, add orig pointer for derived trees
Skip some yang objects in derived trees
Add function to remove USES in augment/grouping trees
2024-08-09 12:03:14 +02:00
Olof hagsand
af29a0f974 Added YANG_SPEC_LINENR compile-time option 2024-07-31 14:33:31 +02:00
Olof hagsand
36f3c95768 List-pagination sort-by parameter 2024-07-11 22:45:15 +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
9a553bdcaa Re-add option CLICON_NETCONF_DUPLICATE_ALLOW 2024-06-24 08:40:36 +02:00
Olof hagsand
c2841d6e40 Various memory and file resource cleanup after valgrind tests 2024-06-23 18:46:44 +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
3579d98243 Refactoring of yang schema mount code 2024-06-02 12:16:00 +02:00
Olof hagsand
f6993de7eb Optimization of cardinality 2024-04-28 23:13:10 +02:00
Olof hagsand
a1badc312e Fixes after coverity static analysis 2024-03-03 17:05:36 +01:00
Olof hagsand
278def125c clixon-config@2024-01-01.yang: Changed semantics of CLICON_VALIDATE_STATE_XML
Minor optimizations
2024-02-22 09:40:07 +01:00
Olof hagsand
dff3b25c34 Replaced config cache with a single state flag 2024-01-25 22:50:54 +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
465a5999fe Changed function name: choice_case_get() -> yang_choice_case_get()
Rewrote yang_choice()
2024-01-17 13:06:56 +01:00
Olof hagsand
344f5ec39d Remove USE_CONFIG_FLAG_CACHE, been enabled long time 2024-01-12 11:24:24 +01:00
Philip Prindeville
cf2e27b43d Drop __FUNCTION__ from clixon_debug() calls 2024-01-11 17:29:37 +01:00
Philip Prindeville
cb134875f9 Discriminate YANG debugging 2024-01-10 20:06:38 +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
e619632ac7 Optimization: Added mountpoint cache as yang flag YANG_FLAG_MTPOINT_POTENTIAL
Filter state-data w xpath
2023-12-12 14:12:50 +01:00
Olof hagsand
012158fb24 Optimization of yang_find() 2023-12-10 21:03:46 +01:00
Olof hagsand
574106125f Added reference count for shared yang-specs (schema mounts) 2023-12-06 13:48:41 +01:00
Olof hagsand
c46872c3fd Fix mount memory leakage, Add YANG_FLAG_MOUNTPOINT 2023-11-29 18:59:13 +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
3b08653eb4 Added: [Feature request: node's alias for CLI](https://github.com/clicon/clixon/issues/434)
New `clixon-autocli@2023-09-01.yang` revision
Misc typos
2023-08-31 18:00:29 +02:00
Olof hagsand
d48442960e Changed YANG uses/grouping to keep uses statement and flag it with YANG_FLAG_USES_EXP
Updated yang code headers
2023-07-19 10:52:29 +02:00
Olof hagsand
b33603107d Output pipe functionality
Based on output pipe code in CLIgen
Clixon adaptions include `CLICON_PIPETREE=` variable and a new cli_pipe.c callback file
2023-07-03 15:14:11 +02:00
Shmuel Hazan
b13917b2ac Call ys_populate_feature from if_feature_check
In some cases, the feature won't be populated yet, and therefore, we
will consider this feature as disabled.

Fixes #429
2023-04-30 17:34:31 +03:00
Olof Hagsand
7eb37273b8 Formatting of comments 2023-03-30 15:39:35 +02:00
Olof hagsand
48a7eac096 yang load add test to not parse files if not already loaded 2023-02-21 12:02:40 +01:00
Olof hagsand
585e725aec Yang schema mount: replaced config --enable-yang-schame-mount with runtime option CLICON_YANG_SCHEMA_MOUNT
Added config and validation-level as parameters to ca_yang_mount
2023-02-17 16:39:39 +01:00
Olof hagsand
af1f5a037d Fixed: [SNMP: snmpwalk is slow and can timeout #404 ](https://github.com/clicon/clixon/issues/404)
Optimized yang_extension_value
2023-02-01 14:57:51 +01:00
Olof hagsand
91034e5361 YANG schema mount, added configure option --enable-yang-schema-mount 2023-01-30 11:49:11 +01:00
Olof Hagsand
a8e13047fc * YANG schema mount RFC 8528, state data 2023-01-27 15:11:08 +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
b3dcee9639 * YANG schema mount RFC 8528, Initial commit (work in progress)
* Keep track of YANG unknowns with ys_cvec of EXTENSION
* C-API: Init ys_cvec to NULL, added yang_cvec_add() and adjusted code to use it
2023-01-20 16:16:02 +01:00
Olof Hagsand
bc6cc2b31f C-API: All calls to clicon_log_xml() changed to new function `clicon_debug_xml()\
Debugging, moved many detailed debugs from level 1 to 2
2023-01-15 13:17:58 +01:00
Olof Hagsand
7558d40faa YANG device: allow replace of config bool as special case 2023-01-04 11:09:44 +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
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
e27336e054 C-API change yang_print: print top-level and add pretty-print parameter
Test: Fix valgrind dlclose suppresion
2022-11-24 17:42:48 +01:00
Olof hagsand
d5c657bde3 Removed YANG_ORDERING_WHEN_LAST compile-time option (obsolete since 5.4) 2022-11-07 10:47:08 +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
1eb78a78f8 Fixed: [YANG when condition evaluated as false combined with a mandatory leaf does not work](https://github.com/clicon/clixon/issues/380)
Replaced yang_mandatory() with yang_xml_mandatory() by extending existing it with when check
2022-10-17 13:49:55 +02:00
Olof hagsand
a516ee173d Fixed: [YANG ordering fails for nested choice and action](YANG ordering fails for nested choice and action) 2022-08-24 13:02:38 +02:00
Olof hagsand
9a5504eed0 Fixed: [Issues with ietf-snmp modules](https://github.com/clicon/clixon/issues/353) 2022-08-18 18:07:29 +02:00
Olof hagsand
9d65fb81d7 * Break-out RFC 7950 Section 6.1 tokenization
* This enables full string lexical parsing of some rules previously not fully compliant, including:
    * refine
    * user-augment
    * if-feature
  * Also solves previous tokenization issues
2022-07-25 09:25:11 +02:00
Olof hagsand
aaa18897ef Test: remove obsolete test_ openconfig_system
Add branch with-defaults to github workflow
Check in parameter in yang_extension_value
2022-07-22 16:57:46 +02:00