Clixon 6.0.0
6.0.0
29 Nov 2022
The 6.0 release features confirmed-commit and an initial version of
netconf monitoring along with many minor changes and bug fixes.
New features
- Confirmed-commit capability
- Standards
- RFC 4741 "NETCONF Configuration Protocol": Section 8.4
- RFC 6241 "Network Configuration Protocol (NETCONF)": Section 8.4
- Features
:confirmed-commit:1.0
capability:confirmed-commit:1.1
capability
- Added support for relevant arguments to CLI commit
- See example_cli.cli
- See Netconf Confirmed Commit Capability
- Standards
- Netconf monitoring, part 1
- Capabilities and schema state and get-schema
- Remaining: Datastore, sessions and statistics state
- Standards
- RFC 6022 "YANG Module for NETCONF Monitoring"
- See Feature Request: Support RFC 6022 (NETCONF Monitoring)
API changes on existing protocol/config features
Users may have to change how they access the system
- New
[email protected]
revision- Added option:
CLICON_NETCONF_MONITORING
CLICON_NETCONF_MONITORING_LOCATION
- Added option:
- Added
PRETTYPRINT_INDENT
compile-time option controlling indentation level for XML, JSON, TEXT and YANG- Default value is
3
- Default value is
- NETCONF: Removed
message-id
from hello protocol following RFC 6241
C/CLI-API changes on existing features
Developers may need to change their code
- Code formatting: Change indentation style to space
- Applies to all c/h/y/l/sh files and .editorconfig
- C API changes:
- Added
expanddefault
parameter toxml_yang_validate_rpc()
- Added
defaults
parameter toclicon_rpc_get_pageable_list()
clicon_rpc_commit()
andcli_commit
- Added
confirmed
,cancel
,timeout
,persist-id
, andpersist-id-val
parameters to
- Added
clicon_rpc_commit()
andclicon_rpc_validate
- Added three-value return.
- Code need to be changed from: checking for
<0
to<1
to keep same semantics
- Added
skiptop
parameter toxml2json_vec()
- Added
xe
argument tocandidate_commit
for confirmed commit extra parameters
- Added
Minor features
- Removed obsoleted compile-time options since 5.4:
YANG_ORDERING_WHEN_LAST
- See #287
JSON_CDATA_STRIP
- Added fuzz code for xpath
- List-pagination: Follow ietf-draft 100%: Removed list-pagination "presence"
- Main example: Removed dependency of external IETF RFCs
- Added warning if modstate is not present in datastore if
CLICON_XMLDB_MODSTATE
is set.
Corrected Bugs
- Fixed: Yang identityref XML encoding is not general
- Revisiting this issue now seems to work, there are no regressions that fail when disabling IDENTITYREF_KLUDGE.
- Fixed several xpath crashes discovered by unit xpath fuzzing
- Fixed: SEGV when using NETCONF get filter xpath and non-existent key
- eg
select="/ex:table[ex:non-exist='a']
- eg
- Fixed: CLI Show config JSON with multiple top-level elements is broken
- Fixed: Non-obvious behavior of clixon_snmp after snmpset command when transaction validation returns an error
- Fixed by validating writes on ACTION instead of COMMIT since libnetsnmp seems not to accept commit errors
- Fixed: YANG when condition evaluated as false combined with a mandatory leaf does not work
- Fixed: Trying to change the "read-only" node through snmpset
- Fixed: Trying to change the "config false" node through snmpset
- Fixed by returning
SNMP_ERR_NOTWRITABLE
when trying to reserve object
- Fixed by returning
- Fixed: Non-obvious behavior of clixon_snmp after snmpset command when transaction validation returns an error
- Fixed: clixon_snmp module crashes on snmpwalk command
- Fixed: unneeded trailing zero character on SNMP strings
- Fixed: message-id present on netconf app "hello"
- Fixed: SNMP "smiv2" yang extension doesn't work on augmented nodes