diff options
author | sam <sam@FreeBSD.org> | 2005-12-14 19:44:39 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2005-12-14 19:44:39 +0000 |
commit | 7ead3abfe74262477a8fea5b232a80a4cad3fbb2 (patch) | |
tree | 9971cdb7f770b2e24c7a6c55e4e6810c83695420 /sbin/ifconfig | |
parent | 7fcf256cd8e3d55bb6e44e883a134573d8323ece (diff) | |
download | FreeBSD-src-7ead3abfe74262477a8fea5b232a80a4cad3fbb2.zip FreeBSD-src-7ead3abfe74262477a8fea5b232a80a4cad3fbb2.tar.gz |
add control for packet bursting
Diffstat (limited to 'sbin/ifconfig')
-rw-r--r-- | sbin/ifconfig/ifconfig.8 | 15 | ||||
-rw-r--r-- | sbin/ifconfig/ifieee80211.c | 16 |
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", |