Network labs Docs Open simulator →

CAPWAP carries any IP traffic — UDP/TCP round-trip via DNS

Slice K embeds the full inner IPv4 packet inside CAPWAP-Data, so decap and downlink encap work for any IP protocol — not just ICMP. PHONE issues a DNS query (UDP/53), it tunnels via AP1 to WLC1, decap forwards to DEST (a DNS server), DEST responds, the response gets re-encap'd as downlink toward AP1. Both legs visible in pcap with the inner UDP/53 DNS exchange.

Open this lab in your browser →

Free · no install · no account

Scenario

Slices I and J handled ICMP inners only — the round-trip closed for echo-request / echo-reply but UDP/TCP traffic from a wifi-client died at the WLC's "I don't know what to do with this" path. Slice K closes that gap. What changed: the capwap-data UDP/5247 payload now embeds the full inner IPv4Packet. Decap on the WLC re-emits the inner via localForward regardless of protocol — ICMP, UDP, TCP all flow through the same code path. The downlink intercept on the WLC similarly wraps any wifi-client-bound packet (with a small loop-protection check that excludes our own CAPWAP frames). Demonstrated round-trip (DNS): 1. PHONE (10.30.0.50) wraps a UDP/53 DNS query for web.example.com in CAPWAP-Data. 2. AP1 emits UDP/5247 toward WLC1. 3. WLC1 decaps, the inner UDP/53 packet flows through the FIB, routes via Gi0/2 to DEST. 4. DEST is a DNS server with a zone example.com, record web → 10.0.0.99. It responds. 5. The DNS response heads back toward 10.30.0.50. WLC1's wireless-controller intercept matches dst → wraps as CAPWAP-Data downlink with the response embedded. 6. AP1 receives the downlink frame (pcap shows the full UDP/53 DNS response inside). Same pattern for TCP (telnet to a CallManager, HTTP to an admin page). Same pattern for any IP traffic from / to a wifi-client.

Topology

2 × router, 1 × wireless controller, 1 × switch, 1 × access point, 1 × wifi client · Cisco IOS-XE-style

What you will do

  1. Confirm AP1 joined WLC1 and DEST is configured as a DNS server.

  2. Trigger PHONE's DNS query: build a UDP/53 inner with kind: 'dns', qr: 'query', qname web.example.com. Wrap via engine.emitWirelessClientPacket. Pcap should show: (a) UDP/5247 uplink with innerProto: 'udp', (b) decap'd UDP/53 query on Vlan30 → routed to DEST, (c) DEST's UDP/53 response, (d) UDP/5247 downlink with innerProto: 'udp' carrying the response toward AP1.

Open this lab in your browser →

More labs on this topic

This lab in other languages

CAPWAP überträgt jeglichen IP-Verkehr – UDP/TCP-Roundtrip über DNSCAPWAP transporta cualquier tráfico IP: ida y vuelta UDP/TCP a través de DNSCAPWAP transporta qualquer tráfego IP – ida e volta UDP/TCP via DNSCAPWAP transporte tout trafic IP — aller-retour UDP/TCP via DNSCAPWAP किसी भी IP ट्रैफ़िक को ले जाता है - DNS के माध्यम से UDP/TCP राउंड-ट्रिपCAPWAP 承载任何 IP 流量 — 通过 DNS 的 UDP/TCP 往返CAPWAP trasporta tutto il traffico IP: andata e ritorno UDP/TCP tramite DNSCAPWAP はあらゆる IP トラフィックを伝送します - DNS 経由の UDP/TCP ラウンドトリップCAPWAP는 모든 IP 트래픽을 전달합니다 — DNS를 통한 UDP/TCP 왕복CAPWAP передает любой IP-трафик — UDP/TCP туда и обратно через DNS.CAPWAP her türlü IP trafiğini taşır - DNS aracılığıyla UDP/TCP gidiş-dönüşCAPWAP mang bất kỳ lưu lượng IP nào - chuyến đi khứ hồi UDP/TCP qua DNS