Re: Does the driver directly ma p TOS/DSCPtags toUser Priority into QoS Control field?

Alex Chpenst <[email protected]> Thu, 19 Feb 2009 14:15:15 +0300
Newsgroups gmane.linux.drivers.ipw2100.devel
Message-ID <[email protected]>
According to ieee80211_classify(), the priority value is read from the TOS field of IP packet, which is stored in skb->priority. If I understand it correct, skb->priority is what is passed further to ipw2200.
So, I guess it is enough to set a TOS/DSCP value within the IP packet (e.g. with iptables) so that a packet is put by ipw2200 into the corresponding queue. That is, no need to set a VLAN User Priority tag in Ethernet frame! Will it work only by setting TOS/DSCP? (can't check it now)  

Is User Priority field within the QoS Control field at the MAC layer is set then by the firmware or by the ipw2200 driver?

Thanks!!
Alex.


-----Original Message-----
From: Zhu Yi <[email protected]>
To: Alex Chpenst <[email protected]>
Date: Thu, 19 Feb 2009 15:44:48 +0800
Subject: Re: Re[2]: [Ipw2100-devel] Does the driver directly map TOS/DSCPtags toUser Priority into QoS Control field?

> 
> On Thu, 2009-02-19 at 15:39 +0800, Alex Chpenst wrote:
> > Thanks!! I've looked at ipw2200, there is a function:
> > 
> > ipw_get_tx_queue_number(struct ipw_priv *priv, u16 priority)
> > 
> > which maps the packet priority to the right TX Queue. But I can't find
> > out what "priority" is. Does it come from ieee80211? Is it User
> > Priority from VLAN tag? Is it User Priority from TOS field of IP
> > packet?
> > 
> > This function is called from another one:
> > 
> > ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, int pri)
> > {
> > ...
> > int tx_id = ipw_get_tx_queue_number(priv, pri);
> > ...
> > }
> > where "priority" is "pri". Now, this one is called from:
> > 
> > ipw_net_hard_start_xmit(struct ieee80211_txb *txb, struct net_device
> > *dev, int pri) {
> > ...
> > ret = ipw_tx_skb(priv, txb, pri);
> > ...
> > }
> > 
> > I stop here, as I can't find where "ipw_net_hard_start_xmit" is called
> > from and where this "pri" variable comes from...
> 
> Take a look at drivers/net/wireless/ipw2x00/libipw_tx.c.
> 
> Thanks,
> -yi
> 

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H