Teach the 802.11 printer about Channel Switch Announcements (advertised by
authorsthen <sthen@openbsd.org>
Wed, 8 Apr 2015 21:44:16 +0000 (21:44 +0000)
committersthen <sthen@openbsd.org>
Wed, 8 Apr 2015 21:44:16 +0000 (21:44 +0000)
an AP in beacons in the run-up to a channel switch, either for radar avoidance,
or for frequency management). ok stsp@

We don't support these in net80211 yet (as pointed out by stsp a few days ago)
but it's useful to at least have a way to debug why your connection is getting
knocked down!

usr.sbin/tcpdump/print-802_11.c

index 5f81f45..73b949e 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: print-802_11.c,v 1.16 2015/01/16 06:40:21 deraadt Exp $       */
+/*     $OpenBSD: print-802_11.c,v 1.17 2015/04/08 21:44:16 sthen Exp $ */
 
 /*
  * Copyright (c) 2005 Reyk Floeter <reyk@openbsd.org>
@@ -323,6 +323,10 @@ ieee80211_elements(struct ieee80211_frame *wh, u_int flen)
                        if (vflag)
                                ieee80211_print_element(data, len);
                        break;
+               case IEEE80211_ELEMID_CSA:
+                       printf(", csa (chan %u count %u%s)", data[1], data[2],
+                           (data[0] == 1) ? " noTX" : "");
+                       break;
                case IEEE80211_ELEMID_ERP:
                        printf(", erp");
                        if (vflag)