7.6 KiB
description, argument-hint
| description | argument-hint |
|---|---|
| Generate FRRouting configuration files | Optional routing requirements |
You are initiating FRR configuration generation using a structured workflow to create production-ready FRRouting configuration files.
Workflow Steps
1. Gather Requirements
If the user provides specific requirements in their message, use those directly. Otherwise, ask the user for:
Required Information:
- Routing protocols needed (BGP, OSPF, IS-IS, RIP, static routes, etc.)
- Router ID (e.g., 10.0.0.1)
- Network type (data center leaf-spine, campus core, WAN edge, etc.)
Protocol-Specific Information:
For BGP:
- Local ASN (e.g., 65001)
- Neighbor details (IP addresses, remote ASNs)
- Address families (IPv4 unicast, IPv6 unicast, EVPN, etc.)
- Route filtering requirements (prefix lists, route maps)
- BGP authentication (MD5 passwords)
- Communities and AS-path filtering
For OSPF:
- OSPF process ID
- Area design (area 0 backbone, additional areas)
- Network statements
- Interface costs and priorities
- Authentication (if needed)
- Area types (stub, NSSA, etc.)
For IS-IS:
- NET address
- Level design (Level 1, Level 2, or both)
- Interface metrics
- Authentication
For BFD:
- BFD parameters for fast failure detection
- Target protocols (BGP, OSPF, IS-IS)
Additional Requirements:
- Static routes needed
- Route redistribution between protocols
- Access lists or prefix lists
- VRF configurations (if multi-tenancy needed)
- Authentication requirements
- Specific routing policies
2. Launch frr-config-generator Agent
Use the Task tool to launch the frr-config-generator agent with a detailed prompt containing:
Generate FRR configuration files for the following requirements:
[Insert gathered requirements here with all details]
Please provide:
1. Complete /etc/frr/daemons file
2. Complete /etc/frr/frr.conf configuration
3. Any additional configuration files needed
4. Step-by-step deployment procedure
5. Validation commands to verify the configuration
6. Troubleshooting commands
7. Rollback procedure
3. Review Generated Configuration
When the agent returns the configuration, review it for:
- Correct syntax for FRR version
- Proper routing protocol configuration
- Complete authentication settings
- Required route filtering
- Appropriate logging configuration
- Documentation and comments
4. Validate Configuration Syntax
Provide the user with validation commands they should run:
# Validate FRR configuration syntax
sudo vtysh -c "show running-config" --dry-run
# Check for configuration errors
sudo vtysh -f /etc/frr/frr.conf --dry-run
# Verify daemons file
cat /etc/frr/daemons | grep "yes"
5. Present Deployment Procedure
Ensure the generated configuration includes a safe deployment procedure:
-
Backup current configuration
sudo cp /etc/frr/frr.conf /etc/frr/frr.conf.backup.$(date +%Y%m%d_%H%M%S) sudo cp /etc/frr/daemons /etc/frr/daemons.backup.$(date +%Y%m%d_%H%M%S) -
Deploy new configuration
# Copy new daemons file sudo cp daemons /etc/frr/daemons # Copy new configuration sudo cp frr.conf /etc/frr/frr.conf # Set correct permissions sudo chown frr:frr /etc/frr/frr.conf sudo chmod 640 /etc/frr/frr.conf -
Restart FRR services
# Restart FRR sudo systemctl restart frr # Check service status sudo systemctl status frr -
Verify configuration
# Enter vtysh sudo vtysh # Show running configuration show running-config # Show protocol-specific status show ip bgp summary # For BGP show ip ospf neighbor # For OSPF show isis neighbor # For IS-IS show ip route # Routing table
6. Provide Validation Commands
Include comprehensive validation commands for each configured protocol:
BGP Validation:
# Check BGP summary
show ip bgp summary
# Check BGP neighbors
show ip bgp neighbors
# Check received/advertised routes
show ip bgp neighbors <neighbor-ip> routes
show ip bgp neighbors <neighbor-ip> advertised-routes
# Check BGP communities
show ip bgp community
OSPF Validation:
# Check OSPF neighbors
show ip ospf neighbor
# Check OSPF database
show ip ospf database
# Check OSPF interfaces
show ip ospf interface
# Check OSPF routes
show ip route ospf
IS-IS Validation:
# Check IS-IS neighbors
show isis neighbor
# Check IS-IS database
show isis database
# Check IS-IS topology
show isis topology
BFD Validation:
# Check BFD peers
show bfd peers
# Check BFD peer details
show bfd peer <neighbor-ip>
7. Include Troubleshooting Commands
Provide troubleshooting commands for common issues:
# Check FRR daemon status
sudo systemctl status frr
# View FRR logs
sudo journalctl -u frr -f
# Check for configuration errors
sudo vtysh -c "show logging"
# Debug BGP
debug bgp updates
debug bgp neighbor-events
# Debug OSPF
debug ospf events
debug ospf packet all
# Clear BGP sessions (use with caution)
clear ip bgp *
clear ip bgp <neighbor-ip>
8. Document Rollback Procedure
Ensure rollback procedure is clearly documented:
# Stop FRR
sudo systemctl stop frr
# Restore backup configuration
sudo cp /etc/frr/frr.conf.backup.YYYYMMDD_HHMMSS /etc/frr/frr.conf
sudo cp /etc/frr/daemons.backup.YYYYMMDD_HHMMSS /etc/frr/daemons
# Restart FRR
sudo systemctl start frr
# Verify rollback
sudo vtysh -c "show running-config"
Best Practices
When generating FRR configurations:
-
Security First
- Always use authentication for routing protocols
- Implement prefix filtering on BGP sessions
- Use MD5 authentication for BGP neighbors
- Limit administrative access with ACLs
-
Routing Protocol Selection
- BGP: For data center fabrics, WAN, and internet connectivity
- OSPF: For campus networks and enterprise routing
- IS-IS: For large service provider networks
- Static routes: For simple scenarios or specific routing needs
-
High Availability
- Configure BFD for fast failure detection
- Use multiple BGP sessions for redundancy
- Implement proper OSPF area design
- Configure appropriate route summarization
-
Operational Excellence
- Include comprehensive logging
- Document all routing policies
- Use descriptive neighbor names
- Maintain configuration version control
- Test in non-production first
-
Performance Optimization
- Configure appropriate timers
- Use route summarization
- Implement route dampening for BGP
- Optimize prefix limits
Common Scenarios
Data Center Leaf-Spine BGP
- Use BGP with eBGP for underlay
- Implement EVPN for overlay
- Configure BFD for fast convergence
- Use route reflectors for scaling
Campus OSPF Network
- Design multi-area OSPF
- Use area 0 as backbone
- Implement stub areas where appropriate
- Configure OSPF authentication
Internet Edge BGP
- Implement comprehensive prefix filtering
- Configure BGP communities
- Use local preference and MED
- Implement route dampening
- Filter bogon prefixes
Notes
- FRR configuration uses vtysh CLI syntax similar to industry-standard routing platforms
- Configuration can be managed via /etc/frr/frr.conf or through vtysh interactive CLI
- Always test routing changes in non-production environments first
- Monitor routing protocol convergence during changes
- Keep backup configurations for quick rollback
Example Task Invocation
generate-frr-config I need BGP configuration for a data center leaf switch with ASN 65001, two spine neighbors (192.168.1.1 AS 65100 and 192.168.1.2 AS 65100), advertising loopback 10.0.0.1/32 and local networks 10.10.0.0/24