Olof hagsand
f526d5b7a0
Autocli optimization feature for generating smaller CLISPECs for large YANGs using treerefs
...
New `grouping-treeref` option added to clixon-autocli.yang
Default is disabled, set to true to generate smaller memory footprint of clixon_cl
Add prefix "mtpoint:" to cli api-paths to identify change of yang schemas
2023-07-23 15:21:59 +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
a1e7c6f126
Modified backend exit strategy so that 2nd ^C actually exits
...
Copied creator cvec if modified with REPLACE
2023-06-13 13:34:57 +02:00
Olof hagsand
8091b4ab7e
Added fdkeep parameter to clixon_process_register
2023-06-08 15:51:16 +02:00
Olof hagsand
634e13ea32
C-API: Added xml_creator_print
2023-06-08 12:02:48 +02:00
Olof hagsand
8598fca688
Add gid to clixon_process_register() for drop privs
2023-06-02 13:38:00 +02:00
Olof hagsand
080eef0278
C-API: Added cli_process_control(), added uid to cli_process_control()
2023-06-01 17:50:23 +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
307a992f36
* Added output function to JSON output:
...
* `xml2json_vec(...,skiptop)` --> `xml2json_vec(..., cligen_output, skiptop)`
2023-05-17 16:25:35 +02:00
Mico Micic
6006be038b
Avoid conversion to 'size_t' from 'int' warnings
2023-05-08 12:28:14 +02:00
Olof hagsand
b6116261a3
* Restructured and extended <stats> rpc to schema mountpoints
...
* New revision of clixon-lib.yang
* CLI: Added `show statistics` example code for backend and CLI memory stats
2023-05-05 17:54:10 +02:00
Olof hagsand
a0df12134a
Fixed: [if-feature always negative if imported from another module]( https://github.com/clicon/clixon/issues/429 )
...
Apply styleguide to snmp patch
2023-05-05 17:54:10 +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
e7c9f3d075
Unified netconf input function
...
First for external use, later internal
2023-04-20 21:28:01 +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
819a0b5a9e
New clixon-lib@2023-03-01.yang revision
...
* Added creator meta-object
2023-04-11 13:50:45 +02:00
Olof hagsand
45d8e5b6ce
C-API xmldb_validate() removed. compare_db_names() added.
2023-04-09 21:13:12 +02:00
Olof Hagsand
7eb37273b8
Formatting of comments
2023-03-30 15:39:35 +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
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
5822c1a72a
* clicon_msg_rcv: Added intr parameter for interrupting on ^C (default 0)
...
* Internal NETCONF (client <-> backend)
* Ensure message-id increments
* Separated rpc from notification socket in same session
* Removed coverage icon from homepage since it stopped working some time ago
2023-03-08 21:41:29 +01:00
Olof hagsand
55422f4187
PERF: Added a recurse parameter to xml_yang_minmax_recurse() to avoid "double recursion"
...
C-API: `candidate_commit()`: validate_level (added in 6.1) marked obsolete
2023-02-23 11:42:15 +01:00
Olof hagsand
994632daac
Test adaption to new openconfig version
...
Last minute changes to readme:s before 6.1.0
2023-02-18 12:10:58 +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
fcf9a8b0b0
C-API: Exposed diff function
...
Test: double leaf validate test
2023-02-13 20:23:18 +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
48a0fb9968
Sanity checks for incoming internal netconf
...
Hex debug of messages
2023-02-05 14:14:57 +01:00
Olof hagsand
6681eb99d3
Netconf monitoring statistics frm RFC 6022
2023-02-04 17:13:45 +01:00
Olof Hagsand
034ab632f1
* C-API: Added vlev validate level parameter to candidate_commit
...
* `vlev` : validate level
2023-01-29 20:02:56 +01:00
Olof Hagsand
a8e13047fc
* YANG schema mount RFC 8528, state data
2023-01-27 15:11:08 +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
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
923b998774
* Fixed: Initialized session-id to 1 instead of 0 following ietf-netconf.yang
...
* Clearer debug levels `clicon_debug()`:
1: Logical debug message
2: Input and output packets
3: Message dump in hex, xpath parse trees
2023-01-18 15:51:31 +01:00
Olof hagsand
0324135043
Loosened strict RFC6022 session transport requirement due to race condition in clixon_snmp
2023-01-16 11:03:21 +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
3916fa919c
Netconf monitoring RFC 6022 Sessions ( https://github.com/clicon/clixon/issues/370 )
...
- statistics and transport/source-host parameters
- extended internal NETCONF hello with transport and source-host attributes
clixon-lib,yang
- Moved all extended internal NETCONF attributes to the clicon-lib namespace
C-API:
- wrapped most attribute creation into new fn xml_add_attr()
2023-01-15 12:36:59 +01:00
Olof Hagsand
ddfcb9716c
C-API: Add yang_parse_post() as externally accessible
2023-01-03 21:46:58 +01:00
Olof Hagsand
99c6f61637
Enhanced for client-side functionality:
...
- parse of yang from string, not only file
- Decode of xml encoding, not only decoding
2023-01-02 21:29:28 +01:00
Olof hagsand
6fedf65de7
C-API: Changed type of veclen parameter to size_t in xpath_vec_flag()
...
Rewrite of sed -e to be portable to freebsd
2022-12-29 15:49:19 +01:00
Olof hagsand
62b40a9397
Netconf monitoring RFC 6022: datastores
2022-12-23 14:47:10 +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
Jan-Olof Carlson
e8048fa434
Conditional compilation to support report-all default retrieval
2022-12-20 10:14:09 +00: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
e885d63f68
Minor doc and err handling fixes
2022-12-16 10:48:28 +01:00
Olof Hagsand
6baa904039
Added CLIXON_CLIENT_SSH to client API to communicate remotely via SSH netconf sub-system
...
configure: stringified SSH_BIN
C-API: Added `sock_flags` parameter to `clixon_proc_socket()`
2022-12-08 15:13:05 +01:00
Olof hagsand
100f15b699
Add SSH_BIN compile-time option
...
Clarify documentation of internal netconf message struct
2022-12-07 12:15:08 +01:00
Olof hagsand
a38c54e4cc
Netconf monitoring:
...
- Announce module capability
- Return origin Yang file in get-schema
2022-12-04 13:10:14 +01:00
Olof hagsand
c94e9dad67
Feature Request: Support RFC 6022 (NETCONF Monitoring)
...
* Added capabilities and schema state, and get-schema rpc
* New `clixon-config@2022-11-01.yang` revision
* Added option:
* `CLICON_NETCONF_MONITORING`
* `CLICON_NETCONF_MONITORING_LOCATION`
2022-11-28 15:53:24 +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