summaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorStefan Sperling <stsp@cvs.openbsd.org>2016-04-27 11:59:04 +0000
committerStefan Sperling <stsp@cvs.openbsd.org>2016-04-27 11:59:04 +0000
commitbd3488bd96b5418f45eb8f9766ba3dd3a6035019 (patch)
tree260ec9dc9732ad2da68fc5b15fa8141af1e1b36f /usr.bin
parent5208c989f0ff6a191bae468fdf17e24e8dec5ece (diff)
Make netstat -W show new 802.11n counters. Requires a new kernel.
ok deraadt mpi
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/netstat/net80211.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/usr.bin/netstat/net80211.c b/usr.bin/netstat/net80211.c
index 07129060b08..8d55ca824dc 100644
--- a/usr.bin/netstat/net80211.c
+++ b/usr.bin/netstat/net80211.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: net80211.c,v 1.13 2015/01/16 06:40:10 deraadt Exp $ */
+/* $OpenBSD: net80211.c,v 1.14 2016/04/27 11:59:03 stsp Exp $ */
/*
* Copyright (c) 2005 Reyk Floeter <reyk@openbsd.org>
@@ -114,6 +114,30 @@ net80211_ifstats(char *ifname)
p(is_cmac_replays, "\t%lu cmac replayed frame%s\n");
p(is_tkip_icv_errs, "\t%lu tkip icv error%s\n");
p(is_tkip_replays, "\t%lu tkip replay%s\n");
+ p(is_pbac_errs, "\t%lu pbac error%s\n");
+ p(is_ht_nego_no_mandatory_mcs, "\t%lu HT negotiation failure%s because "
+ "peer does not support MCS 0-7\n");
+ p(is_ht_nego_no_mandatory_mcs, "\t%lu HT negotiation failure%s because "
+ "we do not support basic MCS set\n");
+ p(is_ht_nego_bad_crypto,
+ "\t%lu HT negotiation failure%s because peer uses bad crypto\n");
+ p(is_ht_prot_change, "\t%lu HT protection change%s\n");
+ p(is_ht_rx_ba_agreements, "\t%lu new input block ack agreement%s\n");
+ p(is_ht_tx_ba_agreements, "\t%lu new output block ack agreement%s\n");
+ p(is_ht_rx_frame_below_ba_winstart,
+ "\t%lu input frame%s below block ack window start\n");
+ p(is_ht_rx_frame_above_ba_winend,
+ "\t%lu input frame%s above block ack window end\n");
+ p(is_ht_rx_ba_window_jump, "\t%lu input block ack window jump%s\n");
+ p(is_ht_rx_ba_no_buf, "\t%lu duplicate input block ack frame%s\n");
+ p(is_ht_rx_ba_frame_lost,
+ "\t%lu expected input block ack frame%s never arrived\n");
+ p(is_ht_rx_ba_window_gap_timeout,
+ "\t%lu input block ack window gap%s timed out\n");
+ p(is_ht_rx_ba_timeout,
+ "\t%lu input block ack agreement%s timed out\n");
+ p(is_ht_tx_ba_timeout,
+ "\t%lu output block ack agreement%s timed out\n");
close(s);