[OSPF] Implement Advanced OSPF Support in Terraform Provider #351
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.
Related Issues
Fixes #507
Changes
Router-Level OSPF Attributes
Log Adjacency Changes:
log_adjacency_changes- Log changes in adjacency state (choice option)log_adjacency_changes_detail- Log changes with detail (mutually exclusive with above)NSF (Non-Stop Forwarding):
nsf_cisco- Enable Cisco NSF (choice option)nsf_cisco_enforce_global- Enforce global NSF neighborsnsf_ietf- Enable IETF graceful restart (mutually exclusive with cisco)nsf_ietf_restart_interval- Restart interval in seconds (1-3600)Max-Metric Router LSA:
max_metric_router_lsa- Set maximum metric temporarilymax_metric_router_lsa_summary_lsa_metric- Summary LSA metric (1-16777215)max_metric_router_lsa_external_lsa_metric- External LSA metric (1-16777215)max_metric_router_lsa_include_stub- Include stub networksmax_metric_router_lsa_on_startup_time- Duration in seconds (5-86400)max_metric_router_lsa_on_startup_wait_for_bgp- Wait for BGP (mutually exclusive with time)Fast-Reroute:
fast_reroute_per_prefix_enable_prefix_priority- Priority of prefixes to protect (high/low)ospf_vrfresource)Redistribute:
redistribute_static_subnets- Redistribute static routes with subnetsredistribute_connected_subnets- Redistribute connected routes with subnetsInterface-Level OSPF Attributes (1 attribute)
Multi-Area:
multi_area_ids- List of additional OSPF area IDs for multi-homingYANG Model Details
Choice Structures Handled
log-adjacency-changes-choice- Base vs detail loggingnsf-cisco-ietf- Cisco NSF vs IETF graceful restarttime-wait-for-bgp-choice- Time-based vs BGP-triggered max-metricPresence Containers
nsf-cisco,nsf-ietf- Enabled when presentrouter-lsa- Max-metric configuration containerUnion Types
area-idin multi-area - Accepts uint32 or ipv4-addressVersion Compatibility
YANG Version Analysis Performed:
Analysis documented in:
EPIC-510-ospf_advanced_support/YANG-VERSION-COMPATIBILITY.mdTesting
Direct Provider Testing
make gen+go build)Device Testing Details
Configuration Verified on Device
Test Files (Not Committed)
test-ospf-epic510.tfKey Implementation Notes
VRF Limitations
fast-rerouteis not available in VRF OSPF per YANG modelospf.yaml, excluded fromospf_vrf.yamlLicense Requirements
fast-rerouterequires network-advantage licenseDefault Value Behavior
log-adjacency-changesdefaults totruein IOS-XEshow run allbut not inshow runFiles Modified
Definition Files (3)
gen/definitions/ospf.yaml- Added 17 router-level attributesgen/definitions/ospf_vrf.yaml- Added VRF-compatible attributes (no fast-reroute)gen/definitions/interface_ospf.yaml- Added multi-area supportGenerated Files (24)
Breaking Changes
None. All new attributes are optional.
Documentation
Comprehensive documentation created in
EPIC-510-ospf_advanced_support/:YANG-EXPLORATION-NOTES.md- Complete YANG analysisCLI-VERIFICATION-RESULTS.md- Device testing resultsYANG-VERSION-COMPATIBILITY.md- Version compatibility analysisPROVIDER-TEST-RESULTS.md- Testing evidencePROVIDER-PHASE-COMPLETE.md- Phase summaryAdditional Notes
This PR implements advanced OSPF configuration features for the IOS-XE provider, adding support for log-adjacency-changes, NSF (Non-Stop Forwarding), max-metric router-lsa, fast-reroute, redistribute options, and multi-area interface configurations.