[NETCONF-590] Refactor NETCONF transport layer Created: 04/Jan/19  Updated: 28/Jan/24  Resolved: 28/Jan/24

Status: Resolved
Project: netconf
Component/s: netconf
Affects Version/s: None
Fix Version/s: 7.0.0

Type: Improvement Priority: High
Reporter: Robert Varga Assignee: Ruslan Kashapov
Resolution: Done Votes: 0
Labels: pt
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
Blocks
blocks NETCONF-364 use ietf client/server models for con... Confirmed
blocks NETCONF-1190 Eliminate shaded-sshd artifact Confirmed
blocks NETCONF-571 Rework SSHD integration Confirmed
blocks NETCONF-1191 Refactor netconf-netty-util Confirmed
is blocked by MDSAL-829 Runtime types fail with leafref typed... Resolved
is blocked by YANGTOOLS-1514 Failed to process YANGs containing re... Resolved
is blocked by MDSAL-768 Package RFC7317's iana-crypt-hash module Resolved
is blocked by MDSAL-824 Runtime types fail to be generated fo... Resolved
Relates
relates to NETCONF-554 Remove protocol framework Resolved
relates to NETCONF-1030 transport-tcp transport does not work... Resolved
Sub-Tasks:
Key
Summary
Type
Status
Assignee
NETCONF-1106 Convert NETCONF server-side to transp... Sub-task Resolved Ruslan Kashapov  
NETCONF-1108 Convert NETCONF client-side to transp... Sub-task Resolved Ruslan Kashapov  
NETCONF-1183 Convert Callhome-{protocol, provider}... Sub-task Resolved Ruslan Kashapov  
NETCONF-1237 Refactor SslHandlerFactory Sub-task In Review Robert Varga  
NETCONF-1238 Refactor ClientFactoryManagerConfigur... Sub-task Confirmed  

 Description   

As a legacy of pre-callhome and protocol-framework world, we have no separation between network-level roles (i.e. session initiation client/server) and NETCONF-level roles (i.e. NETCONF client/server).

This leads to quite a bit of duplication between netconf-netty-util, callhome-protocol and netconf-{tcp,ssh}, where we have separate netty dispatchers and client/server handling - even though the only difference is who is initiating the network channel – this is detailed in https://tools.ietf.org/html/rfc8071#section-2 . In the context of  Figure 1 there, our technology stack has further complication, because we rely on Apache SSH to handle SSH protocol details and we only attach to the NETCONF channel – which is subject of NETCONF-571.

Refactor the four components to cleanly separate the connection initiation from other session establishment concerns (authentication and NETCONF negotiation).



 Comments   
Comment by Jamo Luhrsen [ 21/May/20 ]

rovarga is this related to the mina-sshd patches I saw coming in? example

Comment by Robert Varga [ 21/May/20 ]

Those two referenced are actually related to the email report I saw a few weeks back around ssh console being terminated during feature:install – I don't have the pointer, though. There was some follow-up work to NETCOFN-674, which is related to this, but in general, nope this issue specifically is not moving (yet).

Comment by Robert Varga [ 19/Apr/23 ]

Okay, so we have the basic transports in, now we need to deal with switching over to it (i.e. eliminate netconf-netty-util and use these transports in netconf-client/netconf-impl)

Generated at Wed Feb 07 20:15:24 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.