Skip to main content

PPPoE Termination

Full PPPoE session lifecycle management for broadband subscribers — from Discovery to teardown.

Overview

AthenaBNG terminates PPPoE sessions using accel-ppp, a high-performance PPP server integrated into the BNG orchestration layer. Every PPPoE session gets:

  • RADIUS authentication and authorization
  • Per-session QoS (CAKE-based traffic shaping)
  • Real-time RADIUS accounting
  • CoA support for mid-session policy changes
  • Clean teardown with proper accounting on disconnect

Session Lifecycle

  1. PADI — Subscriber sends PPPoE Active Discovery Initiation
  2. VLAN creation — abng-demux creates the subscriber VLAN interface
  3. PADO — accel-ppp responds with Active Discovery Offer
  4. PADR/PADS — Session established at PPPoE layer
  5. LCP — Link Control Protocol negotiation
  6. Authentication — RADIUS Access-Request (PAP or CHAP)
  7. IPCP — IP address assignment from RADIUS Framed-IP-Address
  8. Session active — QoS applied, accounting started, routes injected
  9. Teardown — PADT or timeout, accounting stopped, QoS removed

RADIUS Integration

Authentication

Every PPPoE session is authenticated via RADIUS:

  • User-Name — Subscriber username (from PPP authentication)
  • Calling-Station-Id — Subscriber MAC address
  • NAS-Port-Id — VLAN interface name (e.g., "trunk0.200.100")
  • NAS-Identifier — BNG hostname

Authorization

RADIUS Access-Accept controls session parameters:

AttributePurpose
Framed-IP-AddressSubscriber IP (/32)
Framed-IP-NetmaskSubnet mask
Session-TimeoutMax session duration
Idle-TimeoutIdle disconnect timer
Athena-Rate-DownDownload rate (bps)
Athena-Rate-UpUpload rate (bps)
Athena-Overhead-ProfileQoS overhead compensation

Accounting

Full RFC 2866 accounting with:

  • Acct-Input/Output-Octets — Traffic counters
  • Acct-Input/Output-Gigawords — For counters exceeding 4 GiB
  • Acct-Input/Output-Packets — Packet counters
  • Acct-Session-Time — Session duration
  • Acct-Terminate-Cause — Reason for disconnect

CoA / Disconnect

RADIUS Change of Authorization (RFC 5176):

  • Rate changes — Update download/upload speeds mid-session without disconnecting
  • Session disconnect — Administratively terminate a session
  • Attribute updates — Modify session parameters in real time

Performance

  • Thousands of concurrent PPPoE sessions per server
  • Sub-second session setup (PADI → IP assignment)
  • Zero-downtime rate changes via CoA
  • Graceful shutdown with NAS-Reboot accounting for all active sessions

Configuration

pppoe:
enabled: true
ac_name: "AthenaBNG"
service_name: "*"
interface_patterns:
- "trunk0.*"
mtu: 1492
mru: 1492
lcp_echo_interval: 30
lcp_echo_failure: 3