From patchwork Thu Jun 27 07:52:00 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: voncken X-Patchwork-Id: 2790431 Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 2CF669F756 for ; Thu, 27 Jun 2013 07:52:41 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 1C2C520202 for ; Thu, 27 Jun 2013 07:52:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 14F8F20200 for ; Thu, 27 Jun 2013 07:52:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753320Ab3F0HwS (ORCPT ); Thu, 27 Jun 2013 03:52:18 -0400 Received: from smtp02.msg.oleane.net ([62.161.4.2]:45867 "EHLO smtp02.msg.oleane.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753184Ab3F0HwR (ORCPT ); Thu, 27 Jun 2013 03:52:17 -0400 Received: from acksys.fr ([195.6.104.67]) (authenticated) by smtp02.msg.oleane.net (MTA) with ESMTP id r5R7qDVN004494; Thu, 27 Jun 2013 09:52:13 +0200 Received: from localhost.localdomain ([192.168.1.29]) by acksys.fr with Microsoft SMTPSVC(6.0.3790.4675); Thu, 27 Jun 2013 09:52:59 +0200 From: cedric.voncken@acksys.fr To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, cedric voncken Subject: [PATCH V2] vlan priority handling in WMM Date: Thu, 27 Jun 2013 09:52:00 +0200 Message-Id: <1372319520-29087-1-git-send-email-cedric.voncken@acksys.fr> X-Mailer: git-send-email 1.7.2.5 X-OriginalArrivalTime: 27 Jun 2013 07:52:59.0000 (UTC) FILETIME=[577D7F80:01CE730B] X-PMX-Spam: Probability=8% X-PFSI-Info: PMX 5.6.0.2009776, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2013.6.27.74229 (no antivirus check) X-Orange-Auth: bWMxNDg4LTg= Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: cedric voncken If the VLAN tci is set in skb->vlan_tci use the priority field to determine the WMM priority. V2 modifications : Fix indentation Use symbolic constant include the header linux/if_vlan.h Signed-off-by: cedric Voncken --- net/wireless/util.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/net/wireless/util.c b/net/wireless/util.c index 74458b7..13937db 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c @@ -10,6 +10,7 @@ #include #include #include +#include #include "core.h" #include "rdev-ops.h" @@ -685,6 +686,7 @@ EXPORT_SYMBOL(ieee80211_amsdu_to_8023s); unsigned int cfg80211_classify8021d(struct sk_buff *skb) { unsigned int dscp; + unsigned char vlan_priority; /* skb->priority values from 256->263 are magic values to * directly indicate a specific 802.1d priority. This is used @@ -694,6 +696,10 @@ unsigned int cfg80211_classify8021d(struct sk_buff *skb) if (skb->priority >= 256 && skb->priority <= 263) return skb->priority - 256; + vlan_priority = (skb->vlan_tci & VLAN_PRIO_MASK) >> VLAN_PRIO_SHIFT; + if (vlan_priority > 0) + return vlan_priority; + switch (skb->protocol) { case htons(ETH_P_IP): dscp = ipv4_get_dsfield(ip_hdr(skb)) & 0xfc;