Most engineers think…
Most engineers think the SD-WAN data plane is "just IPsec tunnels, same as DMVPN — IKE negotiates keys, the routing table picks the path, done."
Wrong on two counts. There is no IKE — each WAN Edge generates its own IPsec key and the controller distributes it over OMP, so a controller you trust replaces a peer negotiation you don't. And the path isn't picked by a static metric: BFD inside every tunnel measures loss, latency and jitter, and App-Aware Routing reroutes live traffic off a link that is technically "up" but quietly broken. Miss those two and you'll mis-diagnose every brownout.
① TLOC anatomy — the address a remote edge dials
Every overlay tunnel in Cisco SD-WAN has to start somewhere, and that somewhere is a TLOC (Transport Locator). Think of it as the data-plane phone number of a transport on a WAN Edge router. A site with two transports — MPLS and Internet — has two TLOCs, one per transport, and a remote edge dials one of them to bring up a tunnel.
A TLOC is a 3-tuple, and all three parts matter: the system-IP (which edge), the colour (which transport), and the encapsulation (ipsec or gre). Change any one and it's a different TLOC. The system-IP is just an identity, like a BGP router-ID — it does not have to be reachable or routable anywhere.
TLOCs travel over OMP. Each edge advertises its TLOC up to the SD-WAN Controller (vSmart) over the encrypted control connection, and the controller reflects it to every other edge. The advertisement carries far more than an IP: the colour, the encapsulation, the private and public IP/port, and the IPsec keys. The TLOC is the OMP next-hop for an overlay route — the SD-WAN answer to BGP's NEXT_HOP attribute.
The dabbawala analogy from Mumbai fits perfectly. A dabbawala doesn't memorise every flat in the city; each tiffin carries a coded tag — area, building, floor. The system-IP is the building, the colour is which route the runner takes (local train vs cycle), and the encap is the box it's wrapped in. The central sorting desk (the controller) hands every runner the same tag-list, but the runner then walks the last leg himself — exactly how a WAN Edge learns TLOCs from the controller but builds the tunnel directly to the peer.
Branch-Mumbai# show sdwan omp tlocs | tab
ADDRESS PUBLIC PRIVATE FAMILY TLOC IP COLOR ENCAP FROM PEER IP / PORT IP / PORT STATUS ----------------------------------------------------------------------------------------------- ipv4 10.0.0.11 mpls ipsec 10.0.0.99 192.168.10.2 192.168.10.2 C,I,R ipv4 10.0.0.11 biz-internet ipsec 10.0.0.99 203.0.113.11 172.16.10.2 C,I,R ipv4 10.0.0.99 biz-internet ipsec 10.0.0.99 203.0.113.99 172.16.99.2 C,I,R
The four words you'll say every day
Tap each card — these are the anchors for the whole lesson.
The unique name of the WAN Edge across the fabric. Like a BGP router-ID — identity only, never needs to be routable.
An abstract transport label (mpls, biz-internet, lte). It also gates which TLOCs may build tunnels. Not cosmetic — it's policy.
How the tunnel is wrapped: ipsec (default) or gre. Both ends must agree, or no tunnel.
system-IP + colour + encap together. OMP advertises it as the data-plane next-hop. So: a remote edge dials the TLOC, not just an IP.
Sneha at Infosys changes a branch transport's colour from 'mpls' to 'private1' but keeps the same interface and IP. Does the rest of the fabric see the same TLOC?
Pause & Predict
Predict: a WAN Edge has THREE transports — MPLS, broadband, and LTE — all with encap ipsec. How many TLOCs does it advertise, and why does that number matter for the mesh? Type your guess.
② Colours — who is allowed to call whom
Colour is the single most misunderstood word in SD-WAN. It looks like a label you can name anything, and you can — but the colour you pick decides whether a tunnel is even allowed to form, and which IP address the edge uses to reach the peer. There are two families: public colours and private colours.
A public colour — biz-internet, public-internet, lte, default, the metallic set (gold, silver, bronze) and custom1-3 — uses the post-NAT public IP that STUN via the Validator (vBond) discovered, and it can build a tunnel to any colour. A private colour — mpls, metro-ethernet, private1…private6 — uses the pre-NAT private IP and only builds a tunnel to the same private colour. The logic: public colours expect a NAT in the path; private colours assume a clean transport (an MPLS core) with no NAT between sites.
There's a second lever beyond the colour family: the restrict keyword and the carrier attribute. Add restrict to a tunnel and that TLOC will only form tunnels to remote TLOCs with the same colour — even a normally-promiscuous public colour gets locked down. Engineers use restrict on biz-internet to stop the broadband transport from wastefully meshing with an MPLS-coloured TLOC, keeping like-with-like.
Rahul at TCS faces this
Rahul brings up a new branch. Control connections to the controllers are green, OMP routes are present, but the branch can't reach any other site — every data-plane tunnel to peers is missing. The interface and routing look healthy.
Colour mismatch across a NAT. The branch's broadband interface was left on the private colour 'mpls', but it sits behind an ISP NAT and the DC side is the public colour 'biz-internet'. A private colour uses the pre-NAT IP and only meets the same private colour — so no tunnel can form to a public-coloured peer behind NAT.
He checks the data plane, not the control plane: BFD sessions are the tell. The TLOC table shows the local colour, and BFD shows zero sessions to the peer despite a healthy control plane.
vManage → Monitor → Devices → (branch) → Real Time → BFD Sessions, and CLI: show sdwan bfd sessionsRe-colour the broadband transport to a public colour (biz-internet) on both ends so it uses the STUN-learned public IP and can mesh across the NAT. Reserve 'mpls'/private colours for the genuine NAT-free MPLS core.
show sdwan bfd sessions now lists 'up' sessions on biz-internet to each peer; a ping across the overlay from VPN 10 succeeds, and vManage → Monitor shows the tunnels green.
Branch-Pune# show sdwan control local-properties | i color|tloc Branch-Pune# show sdwan bfd sessions | tab
tloc-color biz-internet ... SOURCE DST PUBLIC SYSTEM IP SITE STATE COLOR COLOR IP ENCAP UPTIME 10.0.0.99 100 up biz-internet biz-internet 203.0.113.99 ipsec 0:02:14:51 10.0.0.50 200 up biz-internet biz-internet 203.0.113.50 ipsec 0:02:14:48
Priya at ICICI has a DC TLOC on colour 'public-internet' and a branch TLOC on colour 'lte', both public, both behind their own NAT. Will the data tunnel form?
Pause & Predict
Predict: a branch behind a symmetric NAT on a private 'mpls' colour can't tunnel to the DC. You'd love to keep calling it 'mpls'. Name two clean fixes. Type your guess.
③ IPsec without IKE — OMP hands out the keys
Here's the part that surprises everyone coming from DMVPN or classic site-to-site VPN: SD-WAN builds IPsec with no IKE. There is no phase-1, no phase-2, no DH negotiation between the two routers. Instead each WAN Edge generates its own inbound IPsec key, advertises it to the controller over the trusted OMP/DTLS control connection, and the controller re-advertises that key to every other edge. The peers never negotiate directly — a controller you already trust replaces a handshake you'd otherwise have to secure.
By default the overlay forms a full mesh — every TLOC builds an IPsec (or GRE) tunnel to every compatible remote TLOC — though a control policy or a hub-and-spoke topology can prune that. Keys aren't forever: they rekey on a timer, default 86400 seconds (24 hours), configurable from 10 seconds up to 1209600 seconds (14 days). One subtle rule the exam loves: the IPsec rekey timer must be at least 2× the OMP graceful-restart timer, because the controller distributes the keys — if a controller blip happens to land inside a rekey, traffic drops.
Aadhaar OTP onboarding is the everyday analogy. You don't swap a secret face-to-face with the bank clerk; a trusted central authority (UIDAI) issues a one-time code over a channel you both already trust, and you present it. SD-WAN does the same — the trusted controller distributes the per-edge keys over the already-encrypted OMP path, so two edges that have never spoken can bring up an encrypted tunnel instantly. The key even expires and is reissued, exactly like an OTP rotating.
▶ Watch a tunnel come up with zero IKE
Step through how two edges that never negotiate still get an encrypted IPsec tunnel. Press Play for the healthy path, then Break it to see the failure.
When two routers sit at the same site and only one of them owns a given transport, TLOC-extension lets the second router borrow the first's transport over a dedicated link — so both get a TLOC on that colour for redundancy. A related knob, the tunnel group, overrides colour entirely: give two TLOCs the same group-ID and they'll tunnel to each other regardless of colour. These are the transport-sharing tools the 300-415 blueprint expects you to recognise.
Symptom: you switch a tunnel to encap gre to save overhead, and tunnels behind NAT silently stop forming. Cause: GRE encapsulation only supports public IP addressing or one-to-one (full-cone) NAT — it has no UDP wrapper to ride a port-translating NAT the way IPsec/UDP does. Fix: keep encap ipsec on any transport that traverses a NAT; reserve gre for clean public or 1-to-1 paths.
Aditya at Flipkart reads that SD-WAN uses IPsec but sees no crypto ikev2 proposal anywhere in the config. Why are the tunnels still encrypting?
Pause & Predict
Predict: an engineer sets the IPsec rekey timer to 30 seconds 'for extra security'. Beyond CPU churn, what real risk did they just create? Type your guess.
④ BFD — the sensor inside every tunnel
Once a tunnel is up, BFD runs inside it automatically — you don't enable it per neighbour the way you would for OSPF/BGP. BFD has two jobs. First, liveness: it sends a hello every 1000 ms by default, and if 7 in a row go missing (the default multiplier) it declares the tunnel down — roughly a 7-second blackout detection. Second, and this is the one people forget, it measures the path quality: loss, latency and jitter on every probe.
That measurement is what feeds App-Aware Routing (AAR). The edge accumulates BFD's loss/latency/jitter over a poll-interval (default 10 minutes), and AAR reviews 6 of those windows (the default multiplier) — a 1-hour rolling SLA view — to decide whether a tunnel still meets the policy for voice, video or business apps. This is why BFD is a data-plane topic that quietly drives routing decisions.
DC-Edge# show sdwan bfd sessions
SOURCE REMOTE DST PUBLIC DETECT TX SYSTEM IP SITE STATE COLOR COLOR SOURCE IP IP MULT INT UPTIME 10.0.0.11 100 up mpls mpls 192.168.10.2 192.168.99.2 7 1000 0:11:03:18 10.0.0.11 100 up biz-internet biz-internet 172.16.10.2 203.0.113.11 7 1000 0:11:03:13 10.0.0.50 200 up biz-internet biz-internet 172.16.50.2 203.0.113.50 7 1000 0:09:41:02
Now the scenario the whole lesson builds to — the brownout. A link doesn't always fail cleanly. An MPLS circuit can stay line-protocol UP while quietly dropping 4% of packets — a ping looks fine, the interface counter barely moves, but a voice call turns robotic. The interface can't see it; BFD can, because it's measuring loss and jitter on the live path. When BFD's numbers breach the voice SLA, AAR hops the call onto the healthy Internet tunnel and the user never notices — then returns it automatically when MPLS recovers.
▶ A brownout the interface never sees
Follow a voice call as the MPLS link degrades but stays 'up'. Press Play for the healthy path, then Break it to see the failure.
Symptom: control connections to the controllers are green and OMP routes are present, but show sdwan bfd sessions is EMPTY and no site can reach another. Cause: it's a data-plane problem, not control — usually a colour/NAT mismatch (section ②) or a firewall blocking the BFD/IPsec data port (UDP, the 124xx range) between edges while leaving the control port open. Fix: confirm matching colours, allow the data-plane UDP ports edge-to-edge, and re-check show sdwan bfd sessions.
For any SD-WAN data-plane task ask: (1) are the right TLOCs even allowed to tunnel? — check colour family (public vs private), NAT, and restrict. (2) is the path actually healthy? — read BFD state (show sdwan bfd sessions) for up/down, and app-route stats for loss/latency/jitter. Almost every 'site can't reach site' or 'app is choppy' ticket lands on one of those two.
Take a real ask — 'voice from the Bengaluru branch to the Mumbai DC keeps going robotic, but the MPLS link shows up' — and answer cold: the TLOC triplet that built the tunnel, why the interface lies (line-protocol UP), what actually sees it (BFD loss/jitter), what reroutes it (AAR off the SLA), and the two commands you'd run (show sdwan bfd sessions, show sdwan app-route stats). If you can do that, you're ready for ENSDWI 300-415 and the NOC floor.
Meera at Airtel insists 'the MPLS link is fine — line protocol is up and ping works,' yet voice keeps degrading. Which command settles it?
🤖 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 can an MPLS link be 'up' yet still ruin a voice call — and what catches it? 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
- TLOC (Transport Locator)
- The data-plane endpoint of a transport on a WAN Edge — the triplet system-IP + colour + encapsulation that a remote edge dials.
- System-IP
- Unique identity of a WAN Edge across the fabric, like a BGP router-ID; does not need to be routable.
- Colour
- Abstract transport label (mpls, biz-internet, lte) that also gates which TLOCs may build tunnels to which.
- Public colour
- default, biz-internet, public-internet, lte, 3g, blue, bronze, gold, silver, red, green, custom1-3 — uses the post-NAT public IP, builds tunnels to any colour.
- Private colour
- mpls, metro-ethernet, private1-private6 — uses the pre-NAT private IP, builds tunnels only to the same private colour; breaks across a NAT.
- restrict / carrier
- restrict forces a TLOC to tunnel only to the same colour (even public); carrier adds a service-provider label to pin same-carrier paths.
- OMP
- Overlay Management Protocol — BGP-like control protocol that advertises TLOCs (and routes) between WAN Edges and the controller.
- Encapsulation
- How the tunnel is wrapped: ipsec (default) or gre; GRE supports only public IP or 1-to-1 NAT, no port-translating NAT.
- IPsec without IKE
- Each edge generates its own key; the controller distributes keys over OMP. Rekey default 86400 s, range 10 s – 14 days; rekey must be ≥ 2× OMP graceful-restart.
- BFD
- Bidirectional Forwarding Detection — runs in every data-plane tunnel; default hello 1000 ms, multiplier 7; measures loss/latency/jitter, not just liveness.
- App-Aware Routing (AAR)
- Uses BFD's loss/latency/jitter over the poll-interval (default 10 min) × multiplier (default 6) to reroute traffic off any tunnel that breaches the SLA.
- Brownout
- A link that stays 'up' (line-protocol UP) while silently dropping packets — invisible to interface counters, caught by BFD.
📚 Sources
- Cisco Catalyst SD-WAN Systems and Interfaces Configuration Guide, IOS XE 17.x — "TLOC" (3-tuple system-IP + colour + encap; public vs private colours; restrict; carrier). cisco.com/c/en/us/td/docs/routers/sdwan/17-x/systems-interfaces/systems-interfaces-guide-17-x/tloc.html
- Cisco Catalyst SD-WAN Security Configuration Guide, IOS XE 17.x — "Configure Security Parameters" (IPsec without IKE; key generated by edge, distributed via OMP; rekey default 86400 s, range 10 s–1209600 s; rekey ≥ 2× OMP graceful-restart). cisco.com/c/en/us/td/docs/routers/sdwan/configuration/security/ios-xe-17/security-book-xe/configure-security-param.html
- Cisco support doc — "Understand BFD Protocol Relationship with App-Aware Routing" (BFD in every tunnel; hello 1000 ms, multiplier 7; loss/latency/jitter feed AAR; poll-interval 10 min, app-route multiplier 6; black-out vs brown-out). cisco.com/c/en/us/support/docs/routers/sd-wan/221604-understand-bfd-protocol-relationship-wit.html
- Cisco Community — "Cisco SD-WAN: Control Connections (DTLS) are up, but BFDs are down" (real colour-mismatch / data-plane-port troubleshooting thread). community.cisco.com/t5/sd-wan-and-cloud-networking/cisco-sd-wan-control-connections-dtls-are-up-but-bfds-are-down/td-p/4980024
- Network Journey — "Ticket#16 SD-WAN VPN 0 Down: Color Mismatch Between Transport Interfaces (CCNP Enterprise)" — practitioner walkthrough of the classic 'tunnels won't form' colour bug. networkjourney.com/ticket16-sd-wan-vpn-0-down-color-mismatch-between-transport-interfaces-ccnp-enterprise/
- Cisco Live BRKTRS-3241 (2025) — "7 ways to fail with Cisco Catalyst SD-WAN" — recent field gotchas incl. colour/NAT and rekey pitfalls. ciscolive.com/c/dam/r/ciscolive/emea/docs/2025/pdf/BRKTRS-3241.pdf
- Cisco ENSDWI 300-415 exam blueprint — Section 2.0 Controller and Edge Deployment / data-plane: TLOCs, colours, BFD, App-Aware Routing. learningnetwork.cisco.com (300-415 ENSDWI exam topics)
What's next?
You can read the data plane now — TLOCs, colours, tunnels and BFD. Next we slice that single fabric into many: how VPNs/VRFs keep guest, corp and PCI traffic apart end-to-end without separate hardware.