NETCONF¶
Overview¶
The NETCONF projects hosts multiple components relating to IETF’s NETCONF Working Group:
Northbound and southbound plugins for NETCONF protocol, as described in RFC-6241
Northbound plugin for RESTCONF protocol, as described in RFC-8040
Northnound plugin for descring RESTCONF endpoint in terms of OpenAPI 3.0
Behavior/Feature Changes¶
The highlight of this release is implementation of SSH transport configuration for NETCONF devices in NETCONF-1502.
There is also continuing effort to bring HTTP/1.1 pipelining and HTTP2 steamings to Netty based RESTCONF.
New Features¶
Deprecated and Removed Features¶
There are no deprecated or removed features.
Resolved Issues¶
The following table lists the issues resolved in this release.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
|---|---|---|---|---|
ServerPublicKeyVerifier relies on key implementation |
Done |
10.0.1, 8.0.10, 9.0.2 |
||
SshKeyExchangeAlgorithm.Sntrup761x25519Sha512 cannot be explicitly configured |
Done |
10.0.0, 8.0.9, 9.0.1 |
||
Cannot configure SshEncryptionAlgorithm.Chacha20Poly1305 |
Done |
10.0.0, 8.0.9, 9.0.1 |
||
Incorrect mapping of SshEncryptionAlgorithm.AEADAES256GCM |
Done |
10.0.0, 8.0.9, 9.0.1 |
||
NetconfDeviceCommunicator.sessionLock can cause starvation |
Done |
10.0.0, 8.0.9, 9.0.1 |
||
Received data order from GET request is not preserved |
Done |
10.0.0, 7.0.12, 8.0.8, 9.0.1 |
||
Netty does not return error on non-existing mountpoint |
Done |
10.0.0, 8.0.9, 9.0.1 |
||
Stop-time is not removed from datastore during modifySubscription |
Done |
10.0.0, 9.0.2 |
||
Improving Path Validation for RFC7950 Notifications |
Done |
10.0.0, 9.0.2 |
||
OpenApi over Netty memory consumption |
Done |
10.0.0, 9.0.2 |
||
Split out KeyPairWithCertificate |
Done |
10.0.1, 9.0.2 |
||
Remove LOG guard in NetconfDeviceCommunicator |
Done |
10.0.2 |
||
Do not use stax-utils in restconf-server-api |
Done |
10.0.0 |
||
Do not use stax-utils in databind |
Done |
10.0.0, 9.0.2 |
||
SshKeyExchangeAlgorithm.Mlklem* cannot be explicitly configured |
Done |
10.0.0, 8.0.9, 9.0.1 |
||
Refactor transport.ssh.TransportUtil |
Done |
10.0.0, 8.0.9, 9.0.1 |
||
Unify transport-{http,ssh,tls} ietf-crypto-types handling |
Done |
10.0.1, 9.0.2 |
||
netconf-testtool: Advertise ietf-netconf to enable model-driven parsing of base NETCONF RPCs |
Done |
10.0.0, 9.0.2 |
||
Split filter cache & expose oper-state sync |
Done |
10.0.0 |
||
Expose ServerDataOperations for schema-aware mount points |
Done |
10.0.0 |
||
Translate the patch request into a single edit-config |
Done |
10.0.0 |
||
Make RestconfStrategy.readData() asynchronous |
Done |
10.0.0, 9.0.1 |
||
Solve creating of chunks for FiniteResponse streaming |
Done |
10.0.0, 9.0.2 |
||
Deal with error during generating FiniteResponse |
Done |
10.0.0, 9.0.2 |
||
Create logic to suspend and to resume subscriptions |
Done |
10.0.0, 9.0.2 |
||
Move EffectiveModelContext to AbstractRegistry |
Done |
10.0.0, 9.0.2 |
||
Adopt SchemaContextUtil.getConstituentModuleIdentifiers() from upstream |
Done |
10.0.0 |
||
Move wadl-generator |
Done |
10.0.0 |
||
Rename restconf-subscription to rfc9639-impl |
Done |
10.0.0 |
||
Bump mina-sshd to 2.16.0 |
Done |
10.0.1, 11.0.0, 9.0.2 |
||
Stop using net.i2p.crypto |
Done |
10.0.0, 8.0.9, 9.0.1 |
||
Make SSH transport configurable |
Done |
10.0.1, 11.0.0, 9.0.2 |
||
Extract Encoding from RPC |
Done |
10.0.0, 9.0.2 |
||
Reconcile RFC 8040 and RFC 8639 Encodings |
Done |
10.0.0 |
||
Update swager UI to 5.28.1 |
Done |
10.0.0, 9.0.1 |
||
Plug EffectiveModelContext into AbstractRestconfStreamRegistry |
Done |
10.0.1, 11.0.0, 9.0.2 |
Known Issues¶
The following table lists the known issues that exist in this release.
Type |
Key |
Summary |
Status |
Affected Version(s) |
Fix Version(s) |
|---|---|---|---|---|---|
Netty based OpenAPI operates with JAXRS configuration |
Resolved |
10.0.2, 9.0.1 |
10.0.3, 11.0.0, 8.0.10, 9.0.2 |
||
CMSCertificateParser does not handle multiple encoded entities |
Confirmed |
10.0.1, 8.0.10, 9.0.2 |
10.0.4, 11.0.1, 9.0.3 |
||
Few devices fail to reconnect after device restart |
Resolved |
10.0.0, 7.0.10, 8.0.2, 9.0.1 |
10.0.3, 11.0.0, 8.0.10, 9.0.2 |
Resolved Issues in SR1¶
The following table lists the issues resolved in this release.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
|---|---|---|---|---|
Netty based OpenAPI operates with JAXRS configuration |
Done |
10.0.3, 11.0.0, 8.0.10, 9.0.2 |
||
Unable to change NETCONF device configuration in clustered toloplogy |
Done |
10.0.3, 11.0.0, 8.0.10, 9.0.2 |
||
RestconfSchemaService returns 500 for all accept types |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Use device-advertised schema after mount instead of default base schema |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Few devices fail to reconnect after device restart |
Done |
10.0.3, 11.0.0, 8.0.10, 9.0.2 |
||
RestconfSchemaService returns 500 for device model |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Add support for HTTP/2 prior-knowledge to Netty server |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Correctly respond when subscribing to ended subscription |
Done |
10.0.3 |
||
Make topology SSH transport configuration effective immediately |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Document SSH transport configuration |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Apply user specified request time-out to all RPCs request to device |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Adopt RFC-to-be ietf-http-server from ietf-netconf-http-client-server-33 |
Done |
10.0.3 |
||
Adopt RFC-to-be versions of draft-ietf-netconf-udp-client-server models |
Done |
10.0.3 |
||
Stream notifications over HTTP3 |
Done |
10.0.3, 11.0.0 |
||
Implement HTTP/3 streaming |
Done |
10.0.3, 11.0.0 |
||
Establish HTTP3 connection |
Done |
10.0.3, 11.0.0 |
||
Create E2E test for HTTP2 stream listening |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Enable HTTP2 streaming for RFC 8040 streams |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Enable HTTP2 streaming for subscribed notifications |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Implement Netty HTTP2 streaming |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Implement HTTP1 pipelining |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Finish implementation of HTTP2 StreamSender |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Exclude resources from pre-commit linting |
Done |
10.0.3, 11.0.0 |
||
Exclude wiki archive from link-check |
Done |
10.0.3, 11.0.0, 8.0.10, 9.0.3 |
||
Bump exificient to latest 1.0.7 version |
Done |
10.0.3, 11.0.0, 8.0.10, 9.0.2 |
||
Document exposing used SSH transport |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Show used SSH transport option for device connection |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Solve deprecation warnings |
Done |
10.0.3, 11.0.0 |
||
Test Netty HTTP2 streaming |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Make chunk size configurable |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Implement backpressure for chunked response |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Separate out HTTP/1 and HTTP/2 request dispatch |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
SSE streaming HTTP2 support |
Done |
10.0.3, 11.0.0, 9.0.2 |
||
Reconcile EventFilter and EventStreamFilter |
Done |
10.0.3, 11.0.0 |
Known Issues in SR1¶
The following table lists the known issues that exist in this release.