In-Service Software Upgrade · no reboot · no re-authentication · one server, no redundant chassis
In-Service Software Upgrade · ISSU

Upgrade the BNG. Keep the subscribers.

On most platforms, shipping a fix to the BNG means scheduling an outage: announce a window, wait for 02:00, reboot, and watch every session in the box re-dial at once. So fixes get postponed, boxes drift years behind, and the upgrade itself becomes the most dangerous operation you perform. BNGSOFT upgrades a live BNG without dropping subscribers — the forwarding logic is replaced between two packets with no interruption at all, and the session layer is replaced in under a second without a single subscriber re-authenticating. It runs on one commodity server. There is no redundant chassis, no second control card, and no reboot.

Two things have to survive an upgrade, and they are different problems. Packets must keep being forwarded. Sessions — the PPPoE and IPoE state, the addresses, the accounting records — must still exist afterwards, and must belong to the same subscribers with the same identities. BNGSOFT solves them separately, which is why either half can be upgraded without disturbing the other.

FORWARDING PLANE — where every packet is handled Forwarding program QoS · CGNAT · policy Subscriber tables (in kernel) rates · counters · mappings ↑ these OUTLIVE the program so replacing it loses nothing SESSION PLANE — who each subscriber is Session daemon PPPoE · IPoE · RADIUS Session ownership (supervisor) held outside the daemon ↑ so the daemon can EXIT and come back to the same sessions
Neither plane stores the thing that matters inside the component being replaced. That single design decision is what makes both halves upgradeable in service.

Upgrading the forwarding plane: no interruption at all

The programs that classify, shape, translate and police your traffic can be replaced while traffic is flowing, with no measurable gap. The reason is that no subscriber state lives inside the forwarding program itself — rates, counters, address mappings and policy all live in kernel-resident tables that exist independently of it.

An upgrade therefore reduces to three steps. The new program is loaded and verified against the tables that are live on that box right now — if it is not compatible with them, it is rejected before anything changes. The existing tables are then adopted by the new program, so it inherits every subscriber exactly as they are. Finally the kernel switches the attachment point atomically: the last packet is handled by the old program and the next packet by the new one. There is no window in between.

Critically, the old program is never detached first. On several widely deployed network drivers, detaching a program tears down the NIC's packet buffer rings — the failure mode that turns a routine upgrade into an unreachable box that needs physical intervention. Because the switch is a replacement rather than a detach-then-attach, that entire class of failure is avoided.

The usual way

Stop forwarding, unload, load, re-attach, then rebuild subscriber state from the control plane.

Traffic stops for the duration. Every subscriber must be re-programmed into the data path, and until that finishes they are forwarded without their QoS, CGNAT or policy.

If the driver mishandles the teardown, the box does not come back.

BNGSOFT

Verify against live tables, adopt them, switch the attachment atomically.

Nothing is rebuilt because nothing was lost — the tables were never owned by the program being replaced.

No detach, so the driver's buffers are never torn down.

Upgrading the session plane: under a second, no re-authentication

Replacing the daemon that owns PPPoE and IPoE sessions is the harder half, because a session is a live protocol conversation with the customer's router. Restart it naively and every CPE notices, renegotiates, and re-authenticates — which on a full BNG means thousands of simultaneous RADIUS transactions and a visible outage for every subscriber.

BNGSOFT keeps session ownership outside the daemon, in a small supervisor process that does nothing but hold it. The daemon can therefore exit and be replaced while the sessions themselves stay alive in the kernel. When the new binary starts, it re-adopts those sessions and resumes each protocol layer at the state it was already in, rather than starting a fresh negotiation.

The subscriber's router is never told anything happened. It sees its keepalives answered without interruption and continues. Interface names, usernames, rate limits and — importantly for billing — accounting session identifiers are preserved, so an upgrade does not fragment a customer's accounting records.

TRADITIONAL UPGRADE running REBOOT — every session dropped then a re-dial storm as all CPEs return at once running — subscribers re-authenticated minutes of downtime · every subscriber affected · scheduled maintenance window required BNGSOFT ISSU running running — same sessions, same identities, new software < 1 s no re-auth
Forwarding-plane upgrades have no gap at all. The sub-second gap shown here applies only to replacing the session daemon — and traffic keeps flowing across it, because forwarding does not depend on that daemon being alive.

The same mechanism survives a crash — not just a planned upgrade

This is the part conventional ISSU does not cover. Vendor in-service upgrade features are designed for planned events: an operator initiates them, and the system prepares in advance. They do nothing for an unplanned software failure.

Because BNGSOFT holds session ownership outside the session daemon in the first place, an unplanned termination behaves like a very abrupt upgrade. A supervisor notices within seconds, restarts the daemon, and the same re-adopt-and-resume path runs. Subscribers stay connected through a crash of the process that manages them — and traffic continues to be forwarded throughout, because the forwarding plane never depended on that process.

Measured, not asserted

All figures below were measured on a lab BNG under generated subscriber load. They are engineering measurements, not a production service-level commitment.

Forwarding-plane replacement, under live subscriber load

What was measuredResult
Subscribers present, before → after1,601 → 1,601 — none lost
Forwarding programreplaced, with no detach
Traffic across the replacementcontinuous, ~27,000 pps throughout
Per-subscriber counters across the replacementidentical — state was never rebuilt
Subscriber tables carried across124 of 126 reused in place
NIC buffer teardown eventsnone
Session daemonnever restarted

Session-daemon replacement (planned upgrade)

What was measuredResult
Control-plane gap, PPPoE824–1,023 ms (from 13,315 ms before this work)
Control-plane gap, PPPoE + IPoE together1.2–2.1 s
Sessions preserved1,000 / 1,000 PPPoE; 1,000 + 512 mixed, none dropped
Subscriber renegotiations triggered0 — the CPE never saw the upgrade
Traffic retained across the upgradeno measurable loss (95.7–105% across equal windows)
Identity preservedinterface, username, rate limit and accounting session ID

Unplanned crash of the session daemon

What was measuredResult
Traffic retained while the control plane was dead95.4%; 96.2% after recovery
Sessions recovered1,000 / 1,000, identical identities
Detection and restartwithin ~6 s, automatic
Subscriber re-authentications0
At larger scale (~2,200 sessions)2,089 rebuilt; adoption 165 ms

Why this is hard for traditional platforms

In-service upgrade is not a missing feature on carrier routers — it is a feature with preconditions. Those preconditions are architectural, and they are what BNGSOFT does not require.

They need a second control card

Classic ISSU works by upgrading a standby control processor and switching over to it. No redundant module, no ISSU — so the capability is gated behind buying and powering a duplicate of the most expensive card in the chassis.

It is a whole-system operation

The unit of upgrade is the platform image. There is no way to change only the forwarding behaviour and leave the session layer untouched, so every small fix carries the risk profile of a full upgrade.

Only qualified version pairs

Vendor ISSU is supported between specific release combinations. Falling outside them — or being on a platform where the BNG feature set excludes ISSU — means the upgrade becomes a reboot again.

Planned events only

ISSU is an operator-initiated procedure with a preparation phase. It offers nothing when software fails unexpectedly, which is when subscriber loss actually hurts most.

Capability MikroTik CCR Cisco ASR 9000 Nokia 7750 SR BNGSOFT
Upgrade without dropping sessions every upgrade reboots ISSU unsupported with 64-bit BNG requires dual CPM single server
Redundant control hardware required yes, dual RSP yes, dual CPM no
Forwarding logic upgradeable on its own platform image platform image independently, no gap
Sessions survive an unplanned software crash redundant pair only redundant pair only on a single box
Subscriber re-authentication on upgrade all sessions none, with redundancy none
Runs on commodity x86
What this changes operationally. When an upgrade costs nothing, you stop rationing upgrades. Security fixes ship when they are ready instead of waiting for a quarterly window. A misbehaving release can be replaced in the middle of the afternoon. And the single most dangerous property of a BNG — that recovering it might require a reboot, and a reboot might not come back — stops governing your maintenance policy.
A reboot is not a maintenance procedure. It is the failure you are trying to avoid, performed deliberately.
Honest framing: This is an operations brief; no throughput or price figures are claimed. All BNGSOFT figures come from controlled tests on a lab BNG under generated subscriber load — the forwarding-plane figures from a box carrying 1,601 live sessions, the session-plane figures from runs of 1,000 PPPoE and 1,000 PPPoE + 512 IPoE, and the scale figure from ~2,200 sessions where 2,089 were rebuilt rather than all of them. They are engineering measurements, not a production service-level commitment, and results depend on session mix, scale and hardware. Traffic-retention percentages are packet counts compared across equal windows and carry measurement noise, which is why a figure slightly above 100% appears; read them as "no measurable loss", not as a precise ratio. Scope limits: forwarding-plane replacement in service requires the new program to be compatible with the subscriber tables already live on that box — a change that alters their layout is rejected at verification and still requires a conventional restart, by design, because loading it would be unsafe. The sub-second gap applies to replacing the session daemon; forwarding continues across it. Crash recovery restores sessions that were established at the time of failure; sessions mid-negotiation are not preserved. Competitor rows describe documented platform constraints taken from vendor documentation and from BNGSOFT's published comparison brief; vendor capabilities change between releases and hardware configurations, and these must be re-verified before each re-issue. They are architectural comparisons, not benchmarks of specific competing products, and a correctly equipped redundant chassis from any of these vendors does deliver in-service upgrade for planned events. Related briefs: BNGSOFT vs Nokia vs Cisco vs MikroTik, Surgical Abuse Blocking.