Most engineers think…
Most engineers think SD-WAN topology is something you build with tunnels and access-lists — "to stop spoke-to-spoke I'll deny the subnets on each branch firewall." So they reach for an ACL on every edge.
Wrong — and it won't scale past a handful of sites. In Cisco SD-WAN the topology is whatever vSmart chooses to advertise. A spoke can only build a tunnel to a TLOC it has heard about, so the cleanest way to stop spoke-to-spoke is to make vSmart not tell the spokes about each other — one outbound control policy applied to the spoke site-list. No ACL touches any edge. Change the policy once and 500 branches re-converge.
① The policy framework — the universal shape
Cisco SD-WAN policy looks scary because the menus are deep, but every policy you will ever write has the same three-part shape. First you build lists (a site list, a VPN list, a TLOC list, a prefix list). Then you write a policy definition — either a control policy (shapes the overlay's routes) or a data policy (shapes packets in the forwarding path). Finally you apply that definition to a site-list with a direction. Lists → definition → apply. That's it.
The split that organises the whole chapter: centralized policy lives on vSmart; localized policy lives on the edge. When you define and activate a centralized policy in vManage, vManage pushes it to the vSmart controllers as a NETCONF transaction. The WAN Edges never receive the policy itself — they only receive the filtered OMP results vSmart sends them. Hold that thought; it explains why control policy is invisible to the data plane (section 3).
Think of it like a dabbawala sorting hub in Mumbai. The dabbawalas (WAN Edges) don't decide the routing — they just carry tiffins. The sorting code that says "this box goes to that office, not that one" is decided centrally at the hub (vSmart) and the carriers simply follow what they're handed. Change the sorting rule at the hub and every carrier's route changes — nobody re-trains 5,000 dabbawalas one by one. That central rule sheet is your centralized policy.
Four words you'll use every day
Tap each card — these are the vocabulary anchors for the whole lesson.
A reusable named group — site list, VPN list, TLOC list, prefix list. The ingredients a policy sequence matches on. Build these first.
The body: match/action sequences plus a default-action. Control (shapes OMP) or data (shapes packets). The recipe, not yet served.
You attach the definition to a site-list and pick inbound or outbound. Nothing happens until you apply — and direction changes everything.
vManage pushes it to vSmart over NETCONF. Edges get only filtered OMP. So one screen reshapes the whole fabric. Localized = per-edge, local only.
Sneha at Infosys writes a perfect control policy with site and TLOC lists, saves it, and waits — but nothing changes on the fabric. What did she miss?
Pause & Predict
Predict: if the centralized policy object lives only on vSmart and the edges receive just filtered OMP, what happens to the fabric the moment vSmart loses all its control connections? Type your guess.
② Control policy use-cases — topology
By default, Cisco SD-WAN builds a full mesh. Every WAN Edge sends all its local prefixes, TLOCs and service routes up to vSmart; vSmart accepts them all and reflects them to every other edge. So every site hears about every other site's TLOC, and a tunnel forms between all of them. Great for a small overlay; a nightmare of tunnels and exposure once you have 400 branches.
A topology policy is a centralized control policy whose whole job is to limit which routes and TLOCs vSmart redistributes to a list of sites. The classic example: hub-and-spoke. You want every spoke to reach the data centre, but spokes must never tunnel directly to each other (compliance, blast-radius, simplicity). The trick is not to block anything on the spokes — it's to make vSmart only advertise the hub's TLOC to the spokes and reject the other spokes' TLOCs.
Why does merely not advertising a TLOC stop the tunnel? Because a WAN Edge can only build an IPsec tunnel to a TLOC it has heard about over OMP. No TLOC, no tunnel — there is literally nothing to point at. This is the elegance students miss: in SD-WAN, visibility equals reachability at the overlay layer. Control the advertisement and you control the topology, without a single deny statement on any edge.
▶ Carve hub-and-spoke, step by step
Watch one spoke's view of the fabric change as the policy is applied. Press Play for the healthy path, then Break it to see the failure.
Aditya at TCS faces this
Aditya rolls a hub-and-spoke control policy to 60 branches at 9pm. By 9:05 the NOC is on fire: branches can't even reach the data centre, and monitoring shows OMP routes for VPN 10 dropping across the fabric.
His control policy had sequences to reject spoke-to-spoke TLOCs, but no explicit default-action — so it inherited the implicit default-action reject. Every route that didn't hit one of his accept sequences (including the hub prefixes) was silently dropped on the way to the spokes.
He compares an edge's OMP before/after and sees the route count collapse, confirming a filter that's too aggressive, not a transport failure.
vManage > Monitor > Devices > (a spoke) > Real Time > OMP Received Routes (and on the edge: show sdwan omp routes vpn 10)Add a final sequence / set the policy default-action to accept, re-activate the centralized policy so vManage re-pushes to vSmart, and keep the reject narrowly scoped to spoke→spoke TLOCs only.
On a spoke, 'show sdwan omp routes vpn 10' shows the hub prefixes back; 'show sdwan omp tlocs' shows the hub TLOC present and the peer-spoke TLOCs absent — exactly the intended shape.
Symptom: after you apply a control policy, branches lose routes they used to have and some sites go fully unreachable. Cause: a centralized control policy's default-action is reject — any route that doesn't match one of your sequences is dropped, not passed. Engineers write three 'reject these TLOCs' sequences and assume everything else flows; it doesn't. Fix: end the policy with an explicit default-action accept (or a final accept sequence) so only what you meant to filter is filtered.
Priya at ICICI needs spokes to reach the hub but not each other. Which single change delivers it, with no config on the edges?
Pause & Predict
Predict: you build hub-and-spoke by rejecting spoke TLOCs outbound. A spoke still needs a backup path if the hub's primary transport dies. What must you NOT accidentally filter out? Type your guess.
③ VPN membership + direction
Now the part that trips people up: direction. A centralized control policy is applied to a site-list either inbound or outbound, and they hit OMP at different moments. Inbound acts on the route updates coming from the edges at those sites, before they're installed in vSmart's routing table — so it controls what vSmart even keeps. Outbound acts after a route is pulled from vSmart's table but before vSmart advertises it to those sites — so it controls what the sites receive.
For topology, the everyday answer is outbound: you're shaping what the spokes receive, so you reject peer TLOCs on the way out to the spoke site-list. Inbound is for changing what vSmart stores in the first place — for example tagging or dropping routes as they arrive from a particular region before best-path even runs. Same policy engine, two very different blast radii. A classic exam trap is choosing inbound when you meant to shape what a site receives.
A VPN-membership policy is the bluntest topology control there is, and it's always applied outbound from vSmart. It decides which VPNs a site even learns about. If a branch only needs Corp (VPN 10) and Guest (VPN 30), a VPN-membership policy that lists VPNs 10 and 30 for that site-list means vSmart never sends it OMP routes for PCI (VPN 50) at all. The branch can't reach what it never learns — segmentation enforced by silence, not by an ACL.
And here is the whole reason this lesson sits before the data-plane lessons: control policy is invisible to the data plane. It never inspects a packet, never sits in the forwarding path, never adds latency. It works purely by shaping the map — the OMP routes and TLOCs each site holds. Yet by shaping that map it decides which tunnels can exist and which destinations a site can reach. The data plane just forwards along whatever overlay the control policy left standing. Map first, packets later.
policy
control-policy HUB_AND_SPOKE
sequence 10
match tloc
site-list SPOKES
action reject
default-action accept ! <-- the line that saves your fabric
!
apply-policy
site-list SPOKES
control-policy HUB_AND_SPOKE out
!vSmart# show running-config apply-policy apply-policy site-list SPOKES control-policy HUB_AND_SPOKE out vSmart# show omp routes summary received advertised 842 611 <- fewer advertised: the filter is working
Karthik at HCL wants branch sites to never even learn the PCI VPN's routes, enforced from the controller. Which tool, and which direction?
Pause & Predict
Predict: control policy never touches a packet, yet a misconfigured one can take a whole branch offline. How does something invisible to the data plane cause an outage? Type your guess.
④ Build + activate in vManage, then verify on the edge
Time to build one end-to-end. In vManage you go to Configuration > Policies and the wizard walks you through four steps in order: Create Groups of Interest (your lists), Configure Topology and VPN Membership (the control / VPN-membership definitions), Configure Traffic Rules (data / AAR policy — skip for pure topology), and Apply Policies to Sites and VPNs (attach to a site-list with a direction, name it, then Save Policy and Activate). Activating is what triggers the NETCONF push to vSmart.
Step 1 is where you build the SPOKES site-list (the spoke site-ids) and a TLOC list for the hub. Step 2 is where, under Add Topology > Custom Control (Route & TLOC), you create the control policy: a sequence that matches the spoke TLOCs and rejects them, and — say it with me — a default-action of accept. Step 4 applies it outbound to the SPOKES site-list. Name, Save, Activate.
Now prove it from a spoke — because a centralized policy is invisible, the only honest test is what disappeared on the edge. The routes and TLOCs that vanished are your filter working. On a cEdge: show sdwan omp routes vpn 10 should no longer list peer-spoke prefixes, show sdwan omp tlocs should show the hub TLOC but not the other spokes', and show sdwan policy from-vsmart shows the actual policy vSmart pushed to you. If the hub prefixes are also gone, you hit the default-action trap.
Spoke-A# show sdwan omp tlocs | i 10.0.0 Spoke-A# show sdwan omp routes vpn 10 | i C,I,R Spoke-A# show sdwan policy from-vsmart
TLOC ADDR COLOR ENCAP STATUS
10.0.0.1 mpls ipsec C,I,R <- HUB only, good
10.0.0.1 biz-internet ipsec C,I,R <- hub backup kept
(no 10.0.0.2/.3 spoke TLOCs = filtered)
policy-from-vsmart control-policy HUB_AND_SPOKEFor any centralized-policy task ask three questions: (1) What am I shaping? the overlay map (routes/TLOCs) → control policy; which VPNs a site learns → VPN membership. (2) Whose view? apply to that site-list. (3) Which moment? change what a site RECEIVES → outbound; change what vSmart STORES → inbound. Then always finish with default-action accept unless you genuinely want to drop everything unmatched.
Take a real ask — "branches reach the data centre, never each other, and must not even learn the PCI VPN" — and name it cold: control policy rejecting peer-spoke TLOCs (topology) + VPN-membership omitting PCI, both applied OUTBOUND to the SPOKES site-list, with a default-action accept, activated so vManage pushes to vSmart, verified on a spoke with show sdwan omp tlocs / routes / policy from-vsmart. If you can say that without notes, you're ready for the 300-415 policy domain and the NOC floor.
Symptom: after building a control policy, a site loses its backup path to a destination even though you didn't reject it. Cause: by default OMP advertises only the BEST route(s); applying an inbound policy can remove a backup path before best-path even evaluates it, and a tracked Cisco issue (CSCwh73408) covers vRoutes not being re-advertised in some failover cases. Fix: prefer outbound shaping for topology, and where you need backups, use omp send-backup-paths on the vSmarts so more than the single best route is advertised.
You applied a hub-and-spoke control policy and now even the hub prefixes are missing on the spokes. Before changing any list, what's the single highest-probability fix?
🤖 Ask the AI Tutor
Tap any question — instant, scoped to this lesson. No login, no waiting.
Pre-curated from Cisco SD-WAN docs + community Q&A, scoped to this lesson. For a live prod issue, paste your export into chat.techclick.in.
📝 Wrap-up assessment — six more
You've answered 4 inline. Six left. 70% (7 of 10) marks the lesson complete on your profile. Tap Submit all answers at the end.
🧠 In your own words
Type one line: In one line, why is stopping spoke-to-spoke traffic done by filtering TLOC advertisements on vSmart rather than by access-lists on the edges? Then compare to the expert version.
🗣 Teach a friend
Best way to lock it in — explain it in one line to a teammate. Tap to generate a paste-ready summary.
📖 Glossary
- Centralized policy
- Policy that lives on the vSmart controller (Catalyst SD-WAN Controller), pushed by vManage over NETCONF; shapes OMP/TLOC or the data fabric.
- Localized policy
- Policy on an individual WAN Edge via its device template — ACLs, QoS, route maps; local to one box, never touches the overlay topology.
- Control policy
- Centralized policy that filters/modifies OMP routes and TLOCs; default-action is reject; applied inbound or outbound to a site-list.
- Topology policy
- A control policy whose job is to limit which routes/TLOCs vSmart redistributes — used to build hub-and-spoke or custom/regional mesh.
- VPN-membership policy
- Control policy applied outbound that decides which VPNs a site even learns OMP routes for; omit a VPN and that site never sees it.
- TLOC
- Transport Locator — the {system-IP, colour, encapsulation} tuple identifying a tunnel endpoint; a site can only tunnel to a TLOC it has learned.
- OMP
- Overlay Management Protocol — the BGP-like protocol between vSmart and WAN Edges that distributes routes, TLOCs and service routes.
- Site-list
- A named list of site-ids; every centralized policy is applied to a site-list, which selects which devices the policy affects.
- Direction (in/out)
- Inbound = applied before routes enter vSmart's RIB (what vSmart stores); Outbound = applied before vSmart advertises (what a site receives).
- Default-action
- What happens to a route that matches no sequence. On a control policy it is reject by default — add 'accept' or unmatched routes are dropped.
- vSmart / Controller
- The SD-WAN control-plane brain; reflects OMP between edges (route-reflector-like) and is the only place centralized policy runs.
- show sdwan policy from-vsmart
- Edge command that displays the centralized policy the vSmart controller has pushed down to this WAN Edge.
📚 Sources
- Cisco Catalyst SD-WAN Policies Configuration Guide, Cisco IOS XE Catalyst SD-WAN Release 17.x — “Centralized Policy” (wizard: Create Groups of Interest, Configure Topology and VPN Membership, Configure Traffic Rules, Apply Policies to Sites and VPNs; control policy pushed to vSmart via NETCONF). cisco.com/c/en/us/td/docs/routers/sdwan/configuration/policies/ios-xe-17/policies-book-xe/centralized-policy.html
- Policies Configuration Guide for vEdge Routers, Cisco SD-WAN Release 20 — “Control Policy” & “Policy Overview” (inbound vs outbound, default full mesh, default-action reject, hub-and-spoke by filtering TLOCs). cisco.com/c/en/us/td/docs/routers/sdwan/configuration/policies/vedge-20-x/policies-book/centralized-policy.html
- NetworkAcademy.IO — “What is a Centralized Control Policy?” (vManage pushes NETCONF to vSmart, edges receive only filtered OMP; inbound before RIB / outbound before advertising; single policy per controller; hub-and-spoke by rejecting spoke TLOCs). networkacademy.io/ccie-enterprise/sdwan/what-is-a-centralized-control-policy
- The Network DNA — “Cisco Catalyst SD-WAN: Inbound vs. Outbound Control Policy” (Jan 2024; timing relative to the vSmart OMP RIB, preference impact, default-action accept vs reject). thenetworkdna.com/2024/01/cisco-catalyst-sdwan-inbound-vs.html
- Cisco TAC docs & Bug — “Exclude Routes from Redistributing into OMP” and OMP best-path / backup-path notes (omp send-backup-paths is vSmart-only; CSCwh73408 vRoutes re-advertisement in failover). cisco.com/c/en/us/support/docs/routers/xe-sd-wan-routers/220599-exclude-routes-from-redistributing-into.html · bst.cisco.com/quickview/bug/CSCwh73408
- Cisco 300-415 ENSDWI v1.2 exam topics (Policies domain: centralized control policy, topology, VPN membership, application of policy to site-lists). learningcontent.cisco.com/documents/marketing/exam-topics/300-415-ENSDWI-v1.2.pdf
What's next?
You can now reshape the overlay from one screen. Next we move from the control plane to the forwarding path: Application-Aware Routing measures each link's loss, latency and jitter in real time and steers voice and apps onto the path that meets their SLA — plus how QoS classes and queues fit in.