From: Max Krasnyansky <maxk@qualcomm.com>
To: davem@davemloft.net, akpm@osdl.org
Cc: linux-kernel@vger.kernel.org
Subject: [BK] TUN/TAP driver update and fixes for 2.6.BK
Date: Wed, 12 Jan 2005 14:34:02 -0800 [thread overview]
Message-ID: <41E5A5DA.1010301@qualcomm.com> (raw)
Dave, Andrew,
Could one of you please pull TUN/TAP driver updates from my tree
bk://maxk.bkbits.net/tun-2.6
This will update the following files:
drivers/net/Kconfig | 1
drivers/net/tun.c | 145 ++++++++++++++++++++++++++++++++++++++++++-------
include/linux/if_tun.h | 2
3 files changed, 128 insertions(+), 20 deletions(-)
through these ChangeSets:
<maxk@qualcomm.com> (05/01/12 1.2379)
[TUN] Add a missing dependency on enabling the crc32 libraries
Patch by Steve French <smfltc@us.ibm.com>
Signed-off-by: Max Krasnyansky <maxk@qualcomm.com>
<maxk@qualcomm.com> (04/12/23 1.1938.458.6)
Use random_ether_addr() to generate TAP MAC address.
Signed-off-by: Mark Smith <markzzzsmith@yahoo.com.au>
Signed-off-by: Max Krasnyansky <maxk@qualcomm.com>
<maxk@qualcomm.com> (04/12/23 1.1938.458.5)
TUN/TAP driver packet queuing fixes and improvements
Patch from Harald Roelle <harald.roelle@nm.ifi.lmu.de>
Fixes for the following issues
- "Kicking" packet behavior in case of kernel packet scheduler (! TUN_ONE_QUEUE):
When the netif queue is stopped because of an overrun of the driver's queue,
no new packets are delivered to the driver until a new packet arrives, not even
when in the meantime there's again space in the driver's queue (gained by a
reading user process). In short, whenever netif queue was stopped, one needs an
additional packet to "kick" packet delivery to the driver.
The reason for this is, that the netif queue is started but not woken up, i.e.
the rest of the kernel is not signaled to resume packet delivery.
- Adjustment of tx queue length by ifconfig has only effect when TUN_ONE_QUEUE
is set. Otherwise always constant TUN_READQ_SIZE queue length is used.
- TX queue default length setting is not consistent:
o TAP dev + TUN_ONE_QUEUE: 1000 (by ether_setup())
o all other cases: 10
- Default tx queue length is too short in many cases.
IMHO it should be at least twice as long as the number of fragments needed
for a maximum sized IP packet at a "typical" MTU size.
This would ensure that at least one complete IP packet can be delivered
to the attached user space process, even if the packet's fragments
are "misaligned" in the buffer and the user process is not scheduled
in time to read the queue.
Additional modifications:
- To signal that stopping of the queue has occurred, the tx fifo overrun
counter is increased.
- Implemented ethtool api. Primarily added to have a standard method requesting
the driver version.
Signed-off-by: Max Krasnyansky <maxk@qualcomm.com>
Thanks
Max
next reply other threads:[~2005-01-12 22:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-12 22:34 Max Krasnyansky [this message]
2005-01-12 23:01 ` [BK] TUN/TAP driver update and fixes for 2.6.BK Andrew Morton
2005-01-12 23:14 ` Jeff Garzik
2005-01-12 23:16 ` Max Krasnyansky
2005-01-12 23:26 ` Andrew Morton
2005-01-12 23:40 ` Max Krasnyansky
2005-01-12 23:19 ` Jeff Garzik
2005-01-12 23:50 ` Max Krasnyansky
2005-01-12 23:54 ` Jeff Garzik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41E5A5DA.1010301@qualcomm.com \
--to=maxk@qualcomm.com \
--cc=akpm@osdl.org \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox