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

Reply via email to