All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Fastabend <john.fastabend@gmail.com>
To: Jamal Hadi Salim <jhs@mojatatu.com>, davem@davemloft.net
Cc: netdev@vger.kernel.org, daniel@iogearbox.net,
	xiyou.wangcong@gmail.com, alexei.starovoitov@gmail.com
Subject: Re: [net-next PATCH 5/5] Support to encoding decoding skb queue map on IFE action
Date: Tue, 23 Feb 2016 11:33:42 -0800	[thread overview]
Message-ID: <56CCB416.8000500@gmail.com> (raw)
In-Reply-To: <56CC4DC8.7000906@mojatatu.com>

On 16-02-23 04:17 AM, Jamal Hadi Salim wrote:
> 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 <jhs@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 <jhs@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

ah if its not obvious setting queue_mapping from inside a qdisc
has no effect except on multiq because the tx queue has already
been selected. Maybe I need to do a man page update.

Also please don't use multiq I'm tempted to remove it now that
we have mq and mqprio with clsact there is no reason to use it.

> 
> 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).

Its safe as far as I can tell on many qdiscs including clsact and
ingress. fq_codel is an example of a qdisc where it would break things
however.

> 
> cheers,
> jamal

  reply	other threads:[~2016-02-23 19:33 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-22 13:21 [net-next PATCH 0/5] net_sched: Add support for IFE action Jamal Hadi Salim
2016-02-22 13:21 ` [net-next PATCH 1/5] introduce " Jamal Hadi Salim
2016-02-22 13:21 ` [net-next PATCH 2/5] Support to encoding decoding skb mark on " Jamal Hadi Salim
2016-02-22 13:21 ` [net-next PATCH 3/5] Support to encoding decoding skb prio " Jamal Hadi Salim
2016-02-22 17:01   ` Daniel Borkmann
2016-02-22 13:21 ` [net-next PATCH 4/5] Support to encoding decoding skb hashid " Jamal Hadi Salim
2016-02-22 16:56   ` Daniel Borkmann
2016-02-22 13:21 ` [net-next PATCH 5/5] Support to encoding decoding skb queue map " Jamal Hadi Salim
2016-02-22 16:59   ` Daniel Borkmann
2016-02-22 21:03   ` John Fastabend
2016-02-23 12:17     ` Jamal Hadi Salim
2016-02-23 19:33       ` John Fastabend [this message]
2016-02-22 16:47 ` [net-next PATCH 0/5] net_sched: Add support for " Daniel Borkmann
2016-02-23 12:09   ` Jamal Hadi Salim
2016-02-23 13:20     ` Daniel Borkmann
2016-02-23 14:28       ` Jamal Hadi Salim
2016-02-23 15:34         ` Daniel Borkmann
2016-02-24 12:49           ` Jamal Hadi Salim
2016-02-24 17:48             ` Daniel Borkmann
2016-02-25 12:23               ` Jamal Hadi Salim
2016-02-25 21:34                 ` Daniel Borkmann
2016-02-25 22:40                   ` Jamal Hadi Salim
2016-02-26  0:03                     ` Daniel Borkmann
2016-02-24 17:58             ` Daniel Borkmann
2016-02-25 12:35               ` Jamal Hadi Salim
2016-02-23  7:00 ` Cong Wang
2016-02-23 12:18   ` Jamal Hadi Salim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56CCB416.8000500@gmail.com \
    --to=john.fastabend@gmail.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=jhs@mojatatu.com \
    --cc=netdev@vger.kernel.org \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.