Back to blog

Surgery on a Running Network  ·  Migration · October 2026

Surgery on a Running Network
Pushing Routing to the Edge

Your campus is one big layer-2 domain: every VLAN trunked from every access switch back to a central pair, spanning tree deciding the paths, and a single loop or a single core taking the whole site down. Routed access fixes that — each access switch becomes layer 3 and routes to the core — but the gateway for every subnet has to move from the core to the edge while people are using it. Here is how to do that one subnet at a time.

Surgery Migration Routed Access OSPF Spanning Tree Failure Domain

In layer-2 access, access switches are dumb: every VLAN is trunked up to a central router or core pair that holds all the gateways, and spanning tree picks which trunk forwards and which blocks. It is simple, but the whole campus is one broadcast domain and one spanning-tree instance — a loop anywhere, or a core failure, affects everything, and half your uplinks sit idle in blocking.

In routed access, each access switch is layer 3: it holds the gateways for its own subnets and routes to the core over a routing protocol, so there is no site-wide spanning-tree domain, every uplink is active (ECMP), and a fault is contained to one switch. The migration moves each subnet’s gateway from the core to the edge — which is a default-gateway change for its hosts — so it is done one subnet at a time, with the old gateway kept alive until the new one is proven.

Part of

01

From One Big L2 Domain to Routed Hops

Before: everything trunks to the core, spanning tree blocks a leg. After: each access switch routes, every uplink is active, the failure domain is one switch.

Core (all GWs) Access SW-A Access SW-B STP block L2 access: one STP domain, one broadcast domain, idle blocked uplinks Core (routes) SW-A (L3)holds its GWs SW-B (L3)holds its GWs OSPFOSPF Routed access: no site-wide STP, every uplink active (ECMP), a fault stays on one switch

02

The Cutover, Per Subnet

Build the routed underlay first, then move each subnet’s gateway to the edge one at a time — the old gateway stays as a backup until the new one is proven.

StepDoRollback
1 · UnderlayAdd point-to-point routed links (or a routed uplink VLAN) from each access switch to the core; bring up OSPF, verify adjacency — carries no user traffic yet.Shut the routed links.
2 · Pick a pilot subnetChoose one low-risk VLAN that lives mostly on one access switch.—
3 · Move the gatewayCreate the SVI/gateway on the access switch; keep the core’s gateway as a secondary (lower priority) during the cut. Redistribute the subnet into OSPF.Remove the edge SVI; core GW resumes.
4 · VerifyHosts reach their new local gateway and route to the core; failover to the retained core GW still works.—
5 · Retire the core GWRemove the subnet’s gateway and its trunk from the core; the VLAN no longer spans the campus.Re-add the core SVI + trunk.
6 · Repeat + shrink STPMove the next subnet. As VLANs stop spanning switches, the spanning-tree domain shrinks to nothing.Per-subnet, as above.
⚠ Gotcha — the gateway move is a client-affecting change

Moving a subnet’s gateway from the core to the access switch changes which device answers for the .1. If you just delete the core SVI and create the edge one, there is a gap. Keep both gateways live during the cut — an FHRP (VRRP/HSRP) virtual gateway that you move, or the core SVI left as a lower-priority backup — so hosts never lose their default gateway. Only remove the core’s copy once the edge gateway is proven. And watch the VLAN that spans two switches: it cannot be fully routed-access until it lives on one.

03

The Window Checklist Field check

Before you startWhy
Map which VLAN lives on which switchSubnets confined to one switch migrate cleanly; spanned ones need planning.
OSPF adjacency proven before any gateway movesThe underlay must route before you depend on it.
Keep the old gateway as backup during each cutNo host should lose its default gateway for a second.
Pilot a low-risk subnet firstValidate the pattern where a mistake is cheap.

Takeaways

  1. Routed access shrinks the failure domain to one switch and makes every uplink active — no site-wide spanning tree.
  2. Build and prove the OSPF underlay first, carrying no user traffic, before any gateway moves.
  3. Migrate one subnet at a time, moving its gateway to the edge while keeping the core gateway as a backup.
  4. The gateway move is client-affecting — use FHRP or a retained backup SVI so no host loses its default route.
  5. A VLAN that spans two switches cannot go fully routed-access until it lives on one — plan those.

One spanning-tree domain, one loop from disaster?

Routed access shrinks the failure domain so a mistake stays on one switch. I migrate a live campus from L2 to L3 access one subnet at a time, moving each gateway to the edge without an outage.

Book a Discovery Call →