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).
Attachments
Issue Links
- blocks
-
NETCONF-364 use ietf client/server models for configuring call home feature
- Confirmed
-
NETCONF-1190 Eliminate shaded-sshd artifact
-
- Confirmed
-
-
NETCONF-571 Rework SSHD integration
-
- Confirmed
-
-
NETCONF-1191 Refactor netconf-netty-util
-
- Confirmed
-
- is blocked by
-
MDSAL-829 Runtime types fail with leafref typedef and disabled features
-
- Resolved
-
-
YANGTOOLS-1514 Failed to process YANGs containing refine of a if-feature'd target
-
- Resolved
-
-
MDSAL-768 Package RFC7317's iana-crypt-hash module
-
- Resolved
-
-
MDSAL-824 Runtime types fail to be generated for ietf-keystore
-
- Resolved
-
- relates to
-
NETCONF-554 Remove protocol framework
-
- Resolved
-
-
NETCONF-1030 transport-tcp transport does not work with plain NioSocketChannel
-
- Resolved
-
1.
|
Convert NETCONF server-side to transport-api |
|
Resolved | Ruslan Kashapov |
2.
|
Convert NETCONF client-side to transport-api |
|
Resolved | Ruslan Kashapov |
3.
|
Convert Callhome-{protocol, provider} to transport-api |
|
Resolved | Ruslan Kashapov |
4.
|
Refactor SslHandlerFactory |
|
In Review | Robert Varga |
5.
|
Refactor ClientFactoryManagerConfigurator |
|
Confirmed | Unassigned |
Gerrit Reviews
| # | Subject | Branch | Project | Status | CR | V |
|---|---|---|---|---|---|---|
| 110064,5 | WIP: Refactor ClientFactoryManagerConfigurator | master | netconf | Status: NEW | 0 | -1 |
| 110108,2 | WIP: Switch to using binary types in netconf-keystore | master | netconf | Status: NEW | 0 | -1 |
| 110062,16 | Rework SslHandlerFactory | master | netconf | Status: MERGED | +2 | +1 |
| 110063,4 | WIP: Use SslContext instead of handler | master | netconf | Status: ABANDONED | 0 | -1 |
| 110085,5 | Split out keystore-legacy | master | netconf | Status: MERGED | +2 | +1 |
| 110086,3 | Move data processing to update thread | master | netconf | Status: MERGED | +2 | +1 |
| 110088,1 | Require key specification | master | netconf | Status: MERGED | +2 | +1 |
| 110090,5 | Refactor NetconfSalKeystoreRpcs | master | netconf | Status: MERGED | +2 | +1 |
| 110110,3 | Expose NetconfKeystoreService | master | netconf | Status: MERGED | +2 | +1 |
| 110128,4 | Decrypt key credentials in keystore-legacy | master | netconf | Status: MERGED | +2 | +1 |