]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/wireless/util.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland...
[karo-tx-linux.git] / net / wireless / util.c
index e77df75850048c3e5b4eb19f788581f7226c0c34..9aa9db6c81411ddfcd77c34de8128fcd57e2e5d2 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/slab.h>
 #include <net/cfg80211.h>
 #include <net/ip.h>
+#include <net/dsfield.h>
 #include "core.h"
 
 struct ieee80211_rate *
@@ -650,7 +651,10 @@ unsigned int cfg80211_classify8021d(struct sk_buff *skb)
 
        switch (skb->protocol) {
        case htons(ETH_P_IP):
-               dscp = ip_hdr(skb)->tos & 0xfc;
+               dscp = ipv4_get_dsfield(ip_hdr(skb)) & 0xfc;
+               break;
+       case htons(ETH_P_IPV6):
+               dscp = ipv6_get_dsfield(ipv6_hdr(skb)) & 0xfc;
                break;
        default:
                return 0;