Documentation Index Fetch the complete documentation index at: https://mintlify.com/abelperezr/nokia-bng-lab/llms.txt
Use this file to discover all available pages before exploring further.
After deployment, follow these verification steps to ensure all components are functioning correctly.
Quick Verification
Check All Containers
Verify all containers are running: sudo containerlab inspect -t lab.yml
Expected output shows all nodes in running state with assigned management IPs.
Verify Container Health
docker ps --format "table {{.Names}}\t{{.Status}}"
All containers should show Up status.
Network Nodes Verification
BNG Nodes (BNG1 & BNG2)
Connect to BNG1
ssh admin@localhost -p 56661
# Password: lab123
Check System Status
show system information
show chassis
show card
Verify:
System is operational
All cards are in up state
Version is 25.10.R2
Verify Interfaces
show router interface
show port
All configured interfaces should be up/up.
Check BNG Services
show service service-using
show service active-subscribers
Services should be operational and ready to accept subscribers.
Connect to BNG2 and run the same verification commands: ssh admin@localhost -p 56664
# Password: lab123
Verify system status, interfaces, and BNG services.
Switch & OLT
Connect to Switch
ssh admin@localhost -p 56667
# Password: lab123
Verify Switch Operation
show port
show router interface
All ports connected to other devices should show up status.
Connect to OLT
ssh admin@localhost -p 56678
# Password: lab123
Verify OLT Status
show port
show service service-using
TX (SRLinux Router)
Connect to TX
ssh admin@localhost -p 56676
# Default password for SRLinux
Check Interfaces
show interface brief
show network-instance
Verify connectivity to BNG1 and BNG2.
Connectivity Testing
Management Network Connectivity
Ping Management IPs
From your host: # Ping BNG1
docker exec clab-lab-bng1 sr_cli "ping 10.77.1.1 count 3"
# Ping BNG2
docker exec clab-lab-bng2 sr_cli "ping 10.77.1.1 count 3"
Cross-Node Connectivity
Test connectivity between nodes: # From BNG1 to BNG2
docker exec clab-lab-bng1 sr_cli "ping 10.77.1.3 count 3"
# From BNG1 to Switch
docker exec clab-lab-bng1 sr_cli "ping 10.77.1.4 count 3"
Data Plane Connectivity
Verify Link Status
Check physical links between devices: # On BNG1
ssh admin@localhost -p 56661 "show port 1/1/c1/1"
# On TX
ssh admin@localhost -p 56676 "show interface ethernet-1/1"
Both ends should show up/up status.
Service Access Verification
Grafana Dashboard
Login
Username: admin
Password: admin
You may be prompted to change the password on first login.
Verify Dashboards
Check that dashboards are loading:
Navigate to Dashboards
Look for Nokia BNG-specific dashboards
Verify data is being displayed
Prometheus Metrics
Check Targets
Go to Status → Targets
Verify gNMIc target is UP
Query Metrics
Test a sample query: gnmic_nokia_interfaces_interface_statistics_in_octets
Should return metrics from Nokia devices.
ONT Web Interfaces
Client Device Verification
ONT Devices
Check ONT1 Connectivity
# Connect to ONT1
docker exec -it clab-lab-ont1 bash
# Check interfaces
ip addr show
# Check VLAN interface
ip addr show eth1.150
ONT1 uses IPoE (VLAN 150).
Check ONT2 Connectivity
# Connect to ONT2
docker exec -it clab-lab-ont2 bash
# Check PPPoE status
ip addr show ppp0
ONT2 uses PPPoE authentication.
Run IPv6 DHCPv6 PD Verification
The lab includes a verification script for DHCPv6 with Prefix Delegation:
# Run the verification script
sudo bash configs/scripts/verify-pd.sh
This script checks:
DHCPv6 client (odhcp6c) is running
IPv4 and IPv6 WAN addresses on ONTs
IPv6 Prefix Delegation to LAN interfaces
Router Advertisement daemon (radvd) status
PC1 received IPv6 address from delegated prefix
Manual DHCPv6 PD Verification
Check DHCPv6 PD status manually: # On ONT1
docker exec clab-lab-ont1 ip -6 addr show eth1.150 scope global
docker exec clab-lab-ont1 ip -6 addr show eth2 scope global
# On PC1 (should have address from delegated prefix)
docker exec clab-lab-pc1 ip -6 addr show eth1 scope global
Telemetry Verification
gNMIc Collector
Check gNMIc Status
docker logs clab-lab-gnmic --tail 50
Look for successful subscriptions to BNG nodes.
Verify Subscriptions
The logs should show:
Connection to each Nokia node (BNG1, BNG2, Switch, OLT)
Active subscriptions on ports 57400
Data being collected
End-to-End Telemetry Flow
Verify Data Collection
# Check gNMIc is collecting
docker exec clab-lab-gnmic gnmic -a bng1:57400 -u admin -p lab123 --insecure get --path /state/system/cpu[index=all]/summary
Verify Prometheus Scraping
Verify Grafana Visualization
In Grafana:
Open a dashboard
Verify panels show data
Check time range includes recent data
RADIUS Service Verification
Check RADIUS Server Status
docker exec clab-lab-radius ps aux | grep radius
FreeRADIUS service should be running.
Check RADIUS Logs
docker logs clab-lab-radius --tail 50
Look for successful server startup.
Test RADIUS Authentication
From a BNG node, verify RADIUS connectivity: # On BNG1
ssh admin@localhost -p 56661
ping 10.77.1.10
RADIUS server should be reachable at 10.77.1.10.
BNG Subscriber Testing
Test IPoE Subscriber (ONT1)
Trigger DHCP Request
docker exec clab-lab-ont1 dhclient -r eth1.150
docker exec clab-lab-ont1 dhclient eth1.150
Verify Subscriber on BNG1
ssh admin@localhost -p 56661
show service active-subscribers
show service id 9998 dhcp summary
Should show active IPoE subscriber.
Test PPPoE Subscriber (ONT2)
Check PPPoE Session
docker exec clab-lab-ont2 ip addr show ppp0
Should show assigned IP address.
Verify Subscriber on BNG
ssh admin@localhost -p 56661
# or BNG2 on port 56664
show service active-subscribers
show service id 9998 ppp session
Should show active PPPoE subscriber.
iPerf Tests
Start iPerf Server
docker exec -it clab-lab-iperf iperf3 -s
Run Client Test
From another terminal: # Test from ONT1
docker exec clab-lab-ont1 iperf3 -c 172.19.1.1 -t 10
Health Check Summary
Run this comprehensive health check:
#!/bin/bash
echo "=== Nokia BNG Lab Health Check ==="
echo ""
echo "1. Container Status:"
docker ps --filter "name=clab-lab-" --format "{{.Names}}: {{.Status}}" | grep -E "(bng|switch|olt)"
echo ""
echo "2. Service Access:"
curl -s -o /dev/null -w "Grafana: %{http_code}\n" http://localhost:3030
curl -s -o /dev/null -w "Prometheus: %{http_code}\n" http://localhost:9090
echo ""
echo "3. Management Connectivity:"
docker exec clab-lab-bng1 sr_cli "ping 10.77.1.1 count 1" 2> /dev/null | grep -q "1 packets received" && echo "BNG1: OK" || echo "BNG1: FAIL"
docker exec clab-lab-bng2 sr_cli "ping 10.77.1.1 count 1" 2> /dev/null | grep -q "1 packets received" && echo "BNG2: OK" || echo "BNG2: FAIL"
echo ""
echo "4. Telemetry Status:"
docker logs clab-lab-gnmic 2>&1 | grep -q "connected" && echo "gNMIc: Connected" || echo "gNMIc: Check logs"
echo ""
echo "=== Health Check Complete ==="
Save this script as health-check.sh, make it executable with chmod +x health-check.sh, and run it anytime.
Common Issues and Solutions
No Subscribers Appear on BNG
Problem : Subscribers not showing up in active subscribers listSolutions :
Check RADIUS server is running and accessible
Verify RADIUS authentication credentials
Check VLAN configuration on OLT and Switch
Verify subscriber configuration on BNG
# Check RADIUS connectivity from BNG
docker exec clab-lab-bng1 sr_cli "ping 10.77.1.10"
# Check RADIUS logs
docker logs clab-lab-radius | grep -i error
Problem : Dashboards display but no metrics appearSolutions :
Verify gNMIc is collecting metrics
Check Prometheus targets are up
Ensure correct time range in Grafana
# Check gNMIc logs
docker logs clab-lab-gnmic --tail 100
# Check Prometheus targets
curl http://localhost:9090/api/v1/targets | jq '.data.activeTargets'
Problem : SSH connection refused or times outSolutions :
Verify container is running
Check port mappings
Ensure SSH service started properly
# Verify container status
docker ps | grep clab-lab-bng1
# Check port mappings
docker port clab-lab-bng1
# Access via management network instead
docker exec -it clab-lab-bng1 sr_cli
ONT Devices No Connectivity
Problem : ONTs can’t get IP addresses or establish sessionsSolutions :
Verify OLT is forwarding traffic
Check VLAN configuration
Verify BNG service configuration
# Check ONT interface status
docker exec clab-lab-ont1 ip link show eth1.150
# Check BNG accepts connections
ssh admin@localhost -p 56661 "show service id 9998 base"
Problem : System resources are maxed outSolutions :
Check which containers are consuming resources
Consider stopping non-essential services
Increase system resources if needed
# Check resource usage
docker stats --no-stream
# Stop specific containers if needed
docker stop clab-lab-grafana # If not using dashboards
Verification Checklist
Before proceeding with lab exercises, ensure:
Next Steps
With your lab verified and running:
Explore the topology and configurations
Test different BNG scenarios
Monitor traffic with Grafana dashboards
Experiment with subscriber management
Test failover scenarios between BNG1 and BNG2
For detailed use cases and scenarios, refer to the Architecture and Configuration sections.