Skip to main content

Network OS CLI

A familiar JunOS/VyOS-style command-line interface built for network engineers.

Overview​

AthenaBNG ships with abng-cli, a purpose-built CLI that feels like a proper network OS. If you've used JunOS, VyOS, or RouterOS, you'll be productive in minutes. No learning curve, no web GUIs, no YAML editing in production.

Operational Mode​

View system state, subscriber sessions, and real-time statistics:

abng> show subscribers
ID Username IP Address Interface Speed Down Speed Up Uptime
1 user@example.com 203.0.113.10 ppp0 50 Mbps 20 Mbps 2h 15m
2 aa:bb:cc:dd:ee:ff 10.100.0.5 trunk0.200.100 25 Mbps 10 Mbps 45m
3 user2@example.com 203.0.113.11 ppp1 100 Mbps 40 Mbps 5h 30m
abng> show vlans
Interface Type Outer Inner State Sessions
trunk0.100 802.1Q 100 - up 3
trunk0.200.100 QinQ 200 100 up 1
trunk0.200.101 QinQ 200 101 up 0 (idle: 45s)

Key Commands​

CommandDescription
show subscribersList all active sessions
show subscribers detail <id>Detailed session info
show vlansDynamic VLAN interfaces
show qos interface <name>QoS statistics
show radius statisticsRADIUS counters
monitor subscribersReal-time session events
request subscriber disconnect <id>Terminate a session

Configuration Mode​

Full commit/rollback configuration management:

abng> configure
abng# set qos default-down 100mbit
abng# set qos default-up 40mbit
abng# show | compare
+ qos default-down 100mbit
+ qos default-up 40mbit

abng# commit
Configuration committed.

abng# exit
abng>

Safety Features​

  • commit confirmed — Auto-rollback if not confirmed within N minutes (prevents lockouts)
  • rollback — Revert to any previous configuration from the archive
  • show | compare — See exactly what will change before committing
  • discard — Throw away candidate changes without applying

Shell Features​

  • Tab completion at every level of the command hierarchy
  • ? help shows available commands with descriptions
  • Command history with up/down arrows (persisted across sessions)
  • Pipe filters — | match <regex>, | count, | no-more, | save <file>
  • Ctrl+C cancels current input (doesn't exit)

Non-Interactive Mode​

Script-friendly for automation:

# Single command
abng -c "show subscribers"

# Multiple commands
abng -c "show subscribers" -c "show vlans"

# Pipe-friendly (machine-readable output)
abng -c "show subscribers" | grep ppp0

Why It Matters​

Network engineers manage routers and switches via CLI every day. AthenaBNG's CLI means:

  • No context switching — Same workflow as managing your Juniper or Cisco gear
  • Scriptable — Automate common tasks with shell scripts
  • Auditable — Configuration changes are committed and archived
  • Safe — Commit confirmed prevents accidental lockouts