linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alan Fisher <acf@unixcube.org>
To: linux-wireless@vger.kernel.org, Larry.Finger@lwfinger.net,
	linville@tuxdriver.com
Subject: PROBLEM: rtlwifi drops most IPv6 packets
Date: Sun, 15 Feb 2015 23:35:50 -0800	[thread overview]
Message-ID: <54E19DD6.9050704@unixcube.org> (raw)

Hello!

I have a machine with a Realtek RTL8188 wireless card. This card is 
handled by the rtl8192 driver. The driver in kernel 3.16.0-4 causes most 
sent ARP packets to be dropped. ARP packets appear to get through with 
the driver in kernel 3.19, but IPv6 packets suffer instead. I have 
reproduced this when connected to multiple access points.

I think I have traced this issue to some code in the rtlwifi driver that 
does special handling on "special" packets. The function 
rtl_is_special_data() in base.c determines whether a packet is 
considered special. In the 3.16 kernel, this includes ARP packets, 
wireless encryption packets, and DHCP/BOOTP packets. IPv6 appears to 
have been added to this list as of kernel 3.19.

It seems the idea is that certain important packets should be 
transmitted at the lowest possible 802.11 rate. The 
rtl_is_special_data() function is used to determine which packets to 
handle this way. Not treating any packets as special, by adding a 
"return false;" at the beginning of rtl_is_special_data(), seems to fix 
the problems with lost packets with both kernels.

I would guess that some good reason exists for this special handling, 
but I can't determine what it is. I couldn't find anything similar in 
iwlwifi. Either way, it seems like a bug to send all IPv6 traffic at the 
lowest possible rate, successful or not.

-Alan

             reply	other threads:[~2015-02-16  7:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-16  7:35 Alan Fisher [this message]
2015-02-16 16:57 ` PROBLEM: rtlwifi drops most IPv6 packets Larry Finger
2015-02-16 18:26 ` Larry Finger
2015-02-17  8:29   ` Alan Fisher
2015-02-17 16:43     ` Larry Finger
2015-02-22 22:49       ` Alan Fisher

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=54E19DD6.9050704@unixcube.org \
    --to=acf@unixcube.org \
    --cc=Larry.Finger@lwfinger.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    /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;
as well as URLs for NNTP newsgroup(s).