Bug #290

Fwd: [RFC] ipv6 over wireless classification issue?

Added by David Taht on Oct 23, 2011. Updated on Apr 21, 2012.
In Progress Normal David Taht

Description

——– Original Message ——–
Subject: [RFC] ipv6 over wireless classification issue?
Date: Sun, 23 Oct 2011 12:23:25 +0200
From: David Täht dave.taht@gmail.com
Organization: Bufferbloat.net
To: bloat-devel@lists.bufferbloat.net, “linux-wireless@vger.kernel.org”
linux-wireless@vger.kernel.org

After slowly working my way down from verifying the apps to ECN handling
and up from the drivers… I’ve been (also) slowly working on getting
wireless qos/aqms to work better, on ipv6. (I need to get to having a
spectrum analyzer or better instrumentation…) I was puzzled about dscp
marked ipv6 packets responding differently.

Perhaps this is it. I’m not making this a commit yet (untested code!)

d@cruithne:~/git/linux-2.6/include\$ git diff
diff –git a/net/wireless/util.c b/net/wireless/util.c
index be75a3a..a11c5f2 100644
— a/net/wireless/util.c
**+ b/net/wireless/util.c
@ -658,6 +658,12@ unsigned int cfg80211_classify8021d(struct sk_buff
*skb)
case htons(ETH_P_IP):
dscp = ip_hdr(skb)->tos& 0xfc;
break;
+ case htons(ETH_P_IPV6):
+ dscp = ipv6_get_dsfield(ipv6_hdr(skb))& 0xfc;
+ break;
+ case htons(ETH_P_ARP):
+ dscp = 4<<5;
+ break;
default:
return 0;
}

A) Elsewhere in the stack ipv4_get_dsfield is the equivalent of the
ip_hdr(skb)->tos& 0xfc line
B) It appears ipv6_get_dsfield is safe to call from non-ipv6 enabled
systems

So my thought would be to also harmonize this with ipv4_get_dsfield…

C) And I doubt that slamming arp packets into the VI queue would be
acceptable yet (as per the ANTs discussion of a few months back, ARP,
ND, RA, RS, DHCP, and possibly DNS, ssh (marked interactive), etc might
do better in the VI queue)
(however this part of the patch is not relevant to the IPv6 issue, it’s
just the patch I wanted to try)

D) Lastly, Later on in this function only dscp’s first 3 bits (CS0 -
CS7) are used to classify packets into the queues, where a mildly saner
version would use a lookup table to also do sane things with the
‘immediate’ bit, perhaps settable via userspace from via sysfs, sysctl,
or proc.

Attachments

History

Updated by Dave Täht on Nov 18, 2011.
Currently fixed in both taht-tnq and cerowrt rc7. Better patches on the way.
Updated by Dave Täht on Apr 21, 2012.

This is a static export of the original bufferbloat.net issue database. As such, no further commenting is possible; the information is solely here for archival purposes.
RSS feed

Recent News & Articles

Mar 21, 2019 Wiki page
Dave Taht's Take on TCP
Mar 17, 2019 Wiki page
Jake Holland's Stance on ECN
Sep 6, 2018 Wiki page
Pete Heist's Thoughts on ECN
Sep 5, 2018 Wiki page
Dave Taht's Stance on ECN
Sep 4, 2018 Wiki page
Jonathan Morton's Take on ECN

Find us elsewhere

Bufferbloat Mailing Lists
#bufferbloat on Twitter
Google+ group
Archived Bufferbloat pages from the Wayback Machine

Sponsors

Comcast Research Innovation Fund
Nlnet Foundation
Shuttleworth Foundation
GoFundMe

Bufferbloat Related Projects

Congestion Control Blog
Lede Project (OpenWrt)
Flent Network Test Suite
Sqm-Scripts
The Cake shaper
AQMs in BSD
IETF AQM WG

Network Performance Related Resources


Jim Gettys' Blog - The chairman of the Fjord
Toke's Blog - Karlstad University's work on bloat
Voip Users Conference - Weekly Videoconference mostly about voip
Candelatech - A wifi testing company that "gets it".