summaryrefslogtreecommitdiffstats
path: root/sbin/ifconfig
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2005-12-14 19:44:39 +0000
committersam <sam@FreeBSD.org>2005-12-14 19:44:39 +0000
commit7ead3abfe74262477a8fea5b232a80a4cad3fbb2 (patch)
tree9971cdb7f770b2e24c7a6c55e4e6810c83695420 /sbin/ifconfig
parent7fcf256cd8e3d55bb6e44e883a134573d8323ece (diff)
downloadFreeBSD-src-7ead3abfe74262477a8fea5b232a80a4cad3fbb2.zip
FreeBSD-src-7ead3abfe74262477a8fea5b232a80a4cad3fbb2.tar.gz
add control for packet bursting
Diffstat (limited to 'sbin/ifconfig')
-rw-r--r--sbin/ifconfig/ifconfig.815
-rw-r--r--sbin/ifconfig/ifieee80211.c16
2 files changed, 30 insertions, 1 deletions
diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8
index 0aa6e67..b42943d 100644
--- a/sbin/ifconfig/ifconfig.8
+++ b/sbin/ifconfig/ifconfig.8
@@ -28,7 +28,7 @@
.\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94
.\" $FreeBSD$
.\"
-.Dd December 12, 2005
+.Dd December 14, 2005
.Dt IFCONFIG 8
.Os
.Sh NAME
@@ -570,6 +570,19 @@ Another name for the
.Cm bssid
parameter is
.Cm ap .
+.It Cm burst
+Enable packet bursting.
+Packet bursting is a transmission technique whereby the wireless
+medium is acquired once to send multiple frames and the interframe
+spacing is reduced.
+This technique can significantly increase throughput by reducing
+transmission overhead.
+Packet bursting is supported by the 802.11e QoS specification
+and some devices that do not support QoS may still be capable.
+By default packet bursting is enabled if a device is capable
+of doing it.
+To disable packet bursting, use
+.Fl burst .
.It Cm chanlist Ar channels
Set the desired channels to use when scanning for access
points, neighbors in an IBSS network, or looking for unoccupied
diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c
index c3c63a4..2c6d8a7 100644
--- a/sbin/ifconfig/ifieee80211.c
+++ b/sbin/ifconfig/ifieee80211.c
@@ -662,6 +662,12 @@ set80211pureg(const char *val, int d, int s, const struct afswtch *rafp)
set80211(s, IEEE80211_IOC_PUREG, d, 0, NULL);
}
+static void
+set80211burst(const char *val, int d, int s, const struct afswtch *rafp)
+{
+ set80211(s, IEEE80211_IOC_BURST, d, 0, NULL);
+}
+
static
DECL_CMD_FUNC(set80211mcastrate, val, d)
{
@@ -1674,6 +1680,14 @@ ieee80211_status(int s)
} else
wme = 0;
+ ireq.i_type = IEEE80211_IOC_BURST;
+ if (ioctl(s, SIOCG80211, &ireq) != -1) {
+ if (ireq.i_val)
+ LINE_CHECK("%cburst", spacer);
+ else if (verbose)
+ LINE_CHECK("%c-burst", spacer);
+ }
+
if (opmode == IEEE80211_M_HOSTAP) {
ireq.i_type = IEEE80211_IOC_HIDESSID;
if (ioctl(s, SIOCG80211, &ireq) != -1) {
@@ -1932,6 +1946,8 @@ static struct cmd ieee80211_cmds[] = {
DEF_CMD("-pureg", 0, set80211pureg),
DEF_CMD_ARG("mcastrate", set80211mcastrate),
DEF_CMD_ARG("fragthreshold", set80211fragthreshold),
+ DEF_CMD("burst", 1, set80211burst),
+ DEF_CMD("-burst", 0, set80211burst),
};
static struct afswtch af_ieee80211 = {
.af_name = "af_ieee80211",
OpenPOWER on IntegriCloud