Subject: Re: [net-next PATCH 5/5] Support to encoding decoding skb queue map on IFE action

From: John Fastabend <[email-masked]>
Date: Mon, 22 Feb 2016 13:03:37 -0800

On 16-02-22 05:21 AM, Jamal Hadi Salim wrote:
> From: Jamal Hadi Salim <[email-masked]>
> 
> 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 <[email-masked]>
> ---

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.

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

Thanks,
.John