On 16-02-22 04:03 PM, John Fastabend wrote:
On 16-02-22 05:21 AM, Jamal Hadi Salim wrote:
From: Jamal Hadi Salim <j...@mojatatu.com>
hard code static value of 10 for qmap
mark of 12
prio of 13
and hashid of 11
sudo tc filter add dev $ETH parent 1: protocol ip prio 10 \
u32 match ip protocol 1 0xff flowid 1:2 \
action ife encode \
type 0xDEAD \
use mark 12 \
use prio 13 \
use hashid 11 \
use qmap 10 \
dst 02:15:15:15:15:15
Note: as of the time of submission skbedit of queue map doesnt work
(just in case you try to use it)
Signed-off-by: Jamal Hadi Salim <j...@mojatatu.com>
---
Well the skbedit queue_mapping action does work I'm just guessing it
is not working as you expect? We probably haven't done a good job
explaining how to set it up.
If you set it on the clsact egress filter chain for example it will
map traffic to a queue if you disable XPS and get sk_tx_queue() to
return -1. This is because XPS and socket mappings have a higher
precedence in queue selection.
Ok, I am going to use your comment in the commit log.
When i have time i will test it.
Anyways just tested on net-next and it works, the following
puts ip traffic with src 15.0.0.1 on hardware queue 6,
./tc/tc qdisc add dev eth4 clsact
./tc/tc filter add dev eth4 egress protocol ip \
u32 ht 800: order 1 \
match ip src 15.0.0.1/32 \
action skbedit queue_mapping 6
I used a asimilar example:
sudo tc filter add dev $ETH parent 1: protocol ip prio 10 \
u32 match ip protocol 1 0xff flowid 1:2 \
action skbedit queue_mapping 49
BTW: You didnt have flow/classid in your example rule;
weird things could happen when you dont have one (unfortunately
we dont check at user space).
cheers,
jamal