NETCONF Protocol Support #301
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📋 Overview
This MR adds NETCONF protocol support to the Terraform IOS-XR provider, enabling it to support both gNMI and NETCONF protocols for device communication. The architecture has been refactored to support multiple protocols through a clean, extensible design.
🎯 Key Features
Multi-Protocol Architecture
NETCONF Client Capabilities
🏗️ Architecture
Client Interface Design
Protocol Selection
NewClient(protocol, reuseConnection, maxRetries)ProtocolGNMIandProtocolNETCONFRequest Flow
Set Operation:
Get Operation:
🔧 Configuration Examples
Provider Configuration
gNMI (existing - backward compatible):
NETCONF (new capability):
Multi-Device with Mixed Protocols:
Environment Variables
✅ Benefits
📚 Documentation
NETCONF_GNMI_ARCHITECTURE.md- Comprehensive documentation of the multi-protocol architectureQuick Start
🔍 Breaking Changes
None - This is a backward-compatible addition. Existing users are not affected.
📝 Known Issues