On 06/07/17 02:24, Ben Pfaff wrote:
> On Tue, Jul 04, 2017 at 05:09:21PM +0200, Matthias May wrote:
>> Hi
>>
>> I'm trying to map the vlan_pcp onto 802.11 tid.
>>
>> net/wireless/util.c in mac80211 specifies:
>>
>>>     /* skb->priority values from 256->263 are magic values to
>>>      * directly indicate a specific 802.1d priority.  This is used
>>>      * to allow 802.1d priority to be passed directly in from VLAN
>>>      * tags, etc.
>>>      */
>>>     if (skb->priority >= 256 && skb->priority <= 263)
>>>             return skb->priority - 256;
>>
>> However the function dpif_netlink_queue_to_priority in /lib/dpif-netlink.c 
>> sets:
>>>    if (queue_id < 0xf000) {
>>>        *priority = TC_H_MAKE(1 << 16, queue_id + 1);
>>
>> With this the lowest skb_priority I can set is 0x10001, slightly over the 
>> magic values I need to use ;)
>>
>> Why is this offset of 0x10000 + 1 in place?
>> Is something else in ovs about which I'm not aware dependant on this offset?
> 
> It's because this is mapping from an OpenFlow queue ID to a kernel
> skb_priority value.  These aren't the same namespace and so you need a
> mapping function.
> 

What do you mean "not the same namespace"?
I need to set the skb_priority, set_queue sets the skb_priority but with an 
offset.
If I patch the line to
*priority = queue_id;
everything works as I expect it.

BR
Matthias
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to