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 most important new feature is implementation of support for RFC 8639 subscribed notifications, including filtering, counters and stop-time features. The next note worthy delivered efforts are migration to Apache Pekko and migration of RESTCONF OpenAPI to Netty.

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.

Issues resolved in versions 9.0.0 through 9.0.0 (JIRA)

Type

Key

Summary

Resolution

Fix Version(s)

Bug

NETCONF-1489

Stop SSE stream on subscription termination

Done

9.0.0

Bug

NETCONF-1472

Netty RESTCONF endpoint freezes when request handler throws

Done

8.0.8, 9.0.0

Bug

NETCONF-1462

Semaphore concurrent RPC limit permit not released after session down in NetconfDeviceCommunicator

Done

7.0.12, 8.0.8, 9.0.0

Bug

NETCONF-1458

Deadlock risk with Session Lock & KeepaliveTask Synchronization

Done

7.0.12, 8.0.8, 9.0.0

Bug

NETCONF-1453

Unable to update leaf-list data with the merge operation in a YANG-PATCH request

Done

7.0.12, 8.0.8, 9.0.0

Bug

NETCONF-1452

Unable to update leaf-list data with PUT request on the device

Done

7.0.12, 8.0.8, 9.0.0

Bug

NETCONF-1451

Getting leaf-list data from device fails with a 500 Server Error

Done

7.0.12, 8.0.8, 9.0.0

Bug

NETCONF-1444

IETF get-config is failing with rpc-reply transformation error

Done

7.0.12, 8.0.8, 9.0.0

Bug

NETCONF-1439

Restconf returns 500 for invalid PUT data

Done

8.0.8, 9.0.0

Bug

NETCONF-1438

Restconf return 500 Server Error if YangPatch body is incorrect

Done

7.0.12, 8.0.8, 9.0.0

Bug

NETCONF-1427

Call Home Device Connection Failure

Done

8.0.4, 9.0.0

Bug

NETCONF-1425

Device attempts to reconnect even if client config throws exception

Done

7.0.11, 8.0.4, 9.0.0

Bug

NETCONF-1423

Netconf does not attempt reconnection if initial session is closed

Done

7.0.12, 8.0.6, 9.0.0

Bug

NETCONF-1419

Refactor HTTPServerSession pipeline setup

Done

9.0.0

Bug

NETCONF-1418

Reconfigured device failed to reconnect with: IllegalStateException: Transaction factory was closed. No further operations allowed.

Done

7.0.11, 8.0.4, 9.0.0

Bug

NETCONF-1392

Description of subscription query parameters is wrong

Done

7.0.11, 8.0.4, 9.0.0

Bug

NETCONF-1378

HTTP/2 cleartext upgrade flow fails for Java built in HttpClient

Done

8.0.4, 9.0.0

Bug

NETCONF-989

Reconnection failure after deleting and re-adding call-home devices

Done

7.0.11, 8.0.4, 9.0.0

Bug

NETCONF-856

StreamWriterFacade.warnLegacyAttribute() warning on rpc-reply message-id

Done

7.0.12, 8.0.6, 9.0.0

Improvement

NETCONF-1463

Integrate SubscriptionStateService

Done

9.0.0

Improvement

NETCONF-1461

Refactor SubscriptionStateMachine

Done

9.0.0

Improvement

NETCONF-1432

Remove transaction to update mountpoint to connecting state before device removal

Done

7.0.12, 8.0.4, 9.0.0

Improvement

NETCONF-1424

Offload transport-http request processing

Done

8.0.4, 9.0.0

Improvement

NETCONF-1403

Add transport.http.AcceptHeader and its parser

Cannot Reproduce

8.0.4, 9.0.0

Improvement

NETCONF-1401

Require properly-parameterized TransportChannelListener

Done

9.0.0

Improvement

NETCONF-1346

OpenAPI: improve parameters validation

Done

8.0.1, 9.0.0

Improvement

NETCONF-1341

Migrate to Apache Pekko

Done

9.0.0

New Feature

NETCONF-1475

Expose support for TCP MD5 Signature option from NettyTransportSupport

Done

9.0.0

New Feature

NETCONF-1436

Add filtering to notification subscriptions

Done

9.0.0

New Feature

NETCONF-1417

Expose NETCONF event stream for RESTCONF subscriptions

Done

9.0.0

New Feature

NETCONF-714

Add support for RFC 8639 notification subscriptions

Done

9.0.0

Story

NETCONF-1466

Implement stop-time

Done

9.0.0

Story

NETCONF-1457

Refactor ReceiverHolder into RestconfStream class

Won’t Do

9.0.0

Story

NETCONF-1448

Get stream info for subscription

Done

9.0.0

Sub-task

NETCONF-1471

Enable subscription filtering tests

Done

9.0.0

Sub-task

NETCONF-1468

Apply counting of excluded notifications

Won’t Do

9.0.0

Sub-task

NETCONF-1465

Refactor subscription state service

Done

9.0.0

Sub-task

NETCONF-1459

Populate subtree filters using DTCL

Done

9.0.0

Sub-task

NETCONF-1456

Implement (databind) SubtreeMatcher

Done

9.0.0

Sub-task

NETCONF-1455

Implement (databind) SubtreeFilterWriter

Done

9.0.0

Sub-task

NETCONF-1454

Implement (databind) SubtreeFilterReader

Done

9.0.0

Sub-task

NETCONF-1449

Implement counters

Done

9.0.0

Sub-task

NETCONF-1446

Add netconf.databind.subtree.SubtreeFilter

Done

9.0.0

Sub-task

NETCONF-1445

Add netconf.api.subtree.SubtreeFilter

Done

9.0.0

Task

NETCONF-1478

Test NETCONF stream is updated when model context changes

Duplicate

9.0.0

Task

NETCONF-1467

Create integration test for writing filter into config

Done

9.0.0

Task

NETCONF-1437

Improve stream existence check with subscribed stream registry

Done

9.0.0

Task

NETCONF-1371

Provide Java based tests for OpenApi over Netty

Done

8.0.10, 9.0.0

Task

NETCONF-1370

Migrate restconf-openapi to Netty

Done

8.0.10, 9.0.0

Task

NETCONF-1344

OpenAPI: add metadata endpoint

Done

8.0.2, 9.0.0

Known Issues

The following table lists the known issues that exist in this release.

Issues affecting versions 9.0.0 through 9.0.0 (JIRA)

Type

Key

Summary

Status

Affected Version(s)

Fix Version(s)

Bug

NETCONF-1509

SshKeyExchangeAlgorithm.Sntrup761x25519Sha512 cannot be explicitly configured

Resolved

9.0.0

10.0.0, 8.0.9, 9.0.1

Bug

NETCONF-1507

Incorrect mapping of SshEncryptionAlgorithm.AEADAES256GCM

Resolved

5.0.10, 5.0.5, 6.0.0, 6.0.9, 7.0.0, 7.0.12, 8.0.9, 9.0.0

10.0.0, 8.0.9, 9.0.1

Bug

NETCONF-1499

NetconfDeviceCommunicator.sessionLock can cause starvation

Resolved

7.0.12, 8.0.8, 8.0.9, 9.0.0

10.0.0, 8.0.9, 9.0.1

Bug

NETCONF-1495

Received data order from GET request is not preserved

Resolved

7.0.11, 8.0.7, 9.0.0

10.0.0, 7.0.12, 8.0.8, 9.0.1

Bug

NETCONF-1494

Netty does not return error on non-existing mountpoint

Resolved

8.0.7, 9.0.0

10.0.0, 8.0.9, 9.0.1

Bug

NETCONF-1491

Stop-time is not removed from datastore during modifySubscription

Resolved

9.0.0

10.0.0, 9.0.2

Bug

NETCONF-1414

netconf-testtool seems to misconfigure the datastore

Confirmed

6.0.8, 7.0.10, 8.0.2, 9.0.0

11.0.0

Resolved Issues in SR1

The following table lists the issues resolved in this release.

Issues resolved in versions 9.0.1 through 9.0.1 (JIRA)

Type

Key

Summary

Resolution

Fix Version(s)

Bug

NETCONF-1509

SshKeyExchangeAlgorithm.Sntrup761x25519Sha512 cannot be explicitly configured

Done

10.0.0, 8.0.9, 9.0.1

Bug

NETCONF-1508

Cannot configure SshEncryptionAlgorithm.Chacha20Poly1305

Done

10.0.0, 8.0.9, 9.0.1

Bug

NETCONF-1507

Incorrect mapping of SshEncryptionAlgorithm.AEADAES256GCM

Done

10.0.0, 8.0.9, 9.0.1

Bug

NETCONF-1499

NetconfDeviceCommunicator.sessionLock can cause starvation

Done

10.0.0, 8.0.9, 9.0.1

Bug

NETCONF-1495

Received data order from GET request is not preserved

Done

10.0.0, 7.0.12, 8.0.8, 9.0.1

Bug

NETCONF-1494

Netty does not return error on non-existing mountpoint

Done

10.0.0, 8.0.9, 9.0.1

Improvement

NETCONF-1511

SshKeyExchangeAlgorithm.Mlklem* cannot be explicitly configured

Done

10.0.0, 8.0.9, 9.0.1

Improvement

NETCONF-1510

Refactor transport.ssh.TransportUtil

Done

10.0.0, 8.0.9, 9.0.1

Improvement

NETCONF-1155

Make RestconfStrategy.readData() asynchronous

Done

10.0.0, 9.0.1

Task

NETCONF-1503

Stop using net.i2p.crypto

Done

10.0.0, 8.0.9, 9.0.1

Task

NETCONF-1485

Update swager UI to 5.28.1

Done

10.0.0, 9.0.1

Known Issues in SR1

The following table lists the known issues that exist in this release.

Issues affecting versions 9.0.1 through 9.0.1 (JIRA)

Type

Key

Summary

Status

Affected Version(s)

Fix Version(s)

Bug

NETCONF-1560

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

Bug

NETCONF-1558

Unable to change NETCONF device configuration in clustered toloplogy

Resolved

10.0.3, 8.0.9, 9.0.1

10.0.3, 11.0.0, 8.0.10, 9.0.2

Bug

NETCONF-1535

ServerPublicKeyVerifier relies on key implementation

Resolved

10.0.0, 7.0.0, 7.0.12, 8.0.9, 9.0.1

10.0.1, 8.0.10, 9.0.2

Bug

NETCONF-1505

ChunkedFrameDecoder may produce error “LEAK: ByteBuf.release() was not called before it’s garbage-collected”

Confirmed

8.0.9, 9.0.1

10.0.4, 11.0.0, 9.0.3

Bug

NETCONF-1416

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 SR2

The following table lists the issues resolved in this release.

Issues resolved in versions 9.0.2 through 9.0.2 (JIRA)

Type

Key

Summary

Resolution

Fix Version(s)

Bug

NETCONF-1560

Netty based OpenAPI operates with JAXRS configuration

Done

10.0.3, 11.0.0, 8.0.10, 9.0.2

Bug

NETCONF-1558

Unable to change NETCONF device configuration in clustered toloplogy

Done

10.0.3, 11.0.0, 8.0.10, 9.0.2

Bug

NETCONF-1554

RestconfSchemaService returns 500 for all accept types

Done

10.0.3, 11.0.0, 9.0.2

Bug

NETCONF-1535

ServerPublicKeyVerifier relies on key implementation

Done

10.0.1, 8.0.10, 9.0.2

Bug

NETCONF-1491

Stop-time is not removed from datastore during modifySubscription

Done

10.0.0, 9.0.2

Bug

NETCONF-1480

Improving Path Validation for RFC7950 Notifications

Done

10.0.0, 9.0.2

Bug

NETCONF-1474

Use device-advertised schema after mount instead of default base schema

Done

10.0.3, 11.0.0, 9.0.2

Bug

NETCONF-1431

OpenApi over Netty memory consumption

Done

10.0.0, 9.0.2

Bug

NETCONF-1416

Few devices fail to reconnect after device restart

Done

10.0.3, 11.0.0, 8.0.10, 9.0.2

Bug

NETCONF-1158

RestconfSchemaService returns 500 for device model

Done

10.0.3, 11.0.0, 9.0.2

Improvement

NETCONF-1557

Add support for HTTP/2 prior-knowledge to Netty server

Done

10.0.3, 11.0.0, 9.0.2

Improvement

NETCONF-1551

Split out KeyPairWithCertificate

Done

10.0.1, 9.0.2

Improvement

NETCONF-1532

Make topology SSH transport configuration effective immediately

Done

10.0.3, 11.0.0, 9.0.2

Improvement

NETCONF-1531

Document SSH transport configuration

Done

10.0.3, 11.0.0, 9.0.2

Improvement

NETCONF-1527

Do not use stax-utils in databind

Done

10.0.0, 9.0.2

Improvement

NETCONF-1506

Unify transport-{http,ssh,tls} ietf-crypto-types handling

Done

10.0.1, 9.0.2

Improvement

NETCONF-1501

Apply user specified request time-out to all RPCs request to device

Done

10.0.3, 11.0.0, 9.0.2

Improvement

NETCONF-1500

netconf-testtool: Advertise ietf-netconf to enable model-driven parsing of base NETCONF RPCs

Done

10.0.0, 9.0.2

Story

NETCONF-1493

Solve creating of chunks for FiniteResponse streaming

Done

10.0.0, 9.0.2

Story

NETCONF-1492

Deal with error during generating FiniteResponse

Done

10.0.0, 9.0.2

Sub-task

NETCONF-1519

Create E2E test for HTTP2 stream listening

Done

10.0.3, 11.0.0, 9.0.2

Sub-task

NETCONF-1518

Enable HTTP2 streaming for RFC 8040 streams

Done

10.0.3, 11.0.0, 9.0.2

Sub-task

NETCONF-1517

Enable HTTP2 streaming for subscribed notifications

Done

10.0.3, 11.0.0, 9.0.2

Sub-task

NETCONF-1497

Implement Netty HTTP2 streaming

Done

10.0.3, 11.0.0, 9.0.2

Sub-task

NETCONF-1496

Implement HTTP1 pipelining

Done

10.0.3, 11.0.0, 9.0.2

Sub-task

NETCONF-1482

Create logic to suspend and to resume subscriptions

Done

10.0.0, 9.0.2

Sub-task

NETCONF-1481

Move EffectiveModelContext to AbstractRegistry

Done

10.0.0, 9.0.2

Sub-task

NETCONF-1450

Finish implementation of HTTP2 StreamSender

Done

10.0.3, 11.0.0, 9.0.2

Task

NETCONF-1576

Bump exificient to latest 1.0.7 version

Done

10.0.3, 11.0.0, 8.0.10, 9.0.2

Task

NETCONF-1559

Document exposing used SSH transport

Done

10.0.3, 11.0.0, 9.0.2

Task

NETCONF-1534

Show used SSH transport option for device connection

Done

10.0.3, 11.0.0, 9.0.2

Task

NETCONF-1516

Test Netty HTTP2 streaming

Done

10.0.3, 11.0.0, 9.0.2

Task

NETCONF-1513

Make chunk size configurable

Done

10.0.3, 11.0.0, 9.0.2

Task

NETCONF-1512

Implement backpressure for chunked response

Done

10.0.3, 11.0.0, 9.0.2

Task

NETCONF-1504

Bump mina-sshd to 2.16.0

Done

10.0.1, 11.0.0, 9.0.2

Task

NETCONF-1502

Make SSH transport configurable

Done

10.0.1, 11.0.0, 9.0.2

Task

NETCONF-1490

Separate out HTTP/1 and HTTP/2 request dispatch

Done

10.0.3, 11.0.0, 9.0.2

Task

NETCONF-1488

Extract Encoding from RPC

Done

10.0.0, 9.0.2

Task

NETCONF-1486

SSE streaming HTTP2 support

Done

10.0.3, 11.0.0, 9.0.2

Task

NETCONF-1477

Plug EffectiveModelContext into AbstractRestconfStreamRegistry

Done

10.0.1, 11.0.0, 9.0.2

Known Issues in SR2

The following table lists the known issues that exist in this release.

Issues affecting versions 9.0.2 through 9.0.2 (JIRA)

Type

Key

Summary

Status

Affected Version(s)

Fix Version(s)

Bug

NETCONF-1537

CMSCertificateParser does not handle multiple encoded entities

Confirmed

10.0.1, 8.0.10, 9.0.2

10.0.4, 11.0.0, 9.0.3