netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jamal Hadi Salim <jhs@mojatatu.com>
To: Florian Westphal <fw@strlen.de>, netdev@vger.kernel.org
Cc: alexei.starovoitov@gmail.com
Subject: Re: [PATCH -next 0/5] replace skb tc_verd member with 3 dedicated bit flags
Date: Tue, 05 May 2015 07:39:36 -0400	[thread overview]
Message-ID: <5548ABF8.5080806@mojatatu.com> (raw)
In-Reply-To: <1430765318-13788-1-git-send-email-fw@strlen.de>

Florian,

Initial feedback on the series:
- Can you keep the macros around? eg SET_TC_NCLS is more readable
than skb->tc_nocls = 1 also hides the bit details.
Those macros are not used in user space (there was need earlier but
it is no longer necessary; dont worry about out of tree code).
So this is an opportunity to redefine them. Move them to 
include/net/pkt_cls.h and redefine them so readability is better. Maybe 
use set_bit
instead of the complex ones that exist there.
I think the ones that are no longer needed should just be deleted
as opposed to what you and Alexei did earlier.
- We need two bits for the location (ingress, egress, from stack)
from stack being 0 i.e when it is not set implicitly it is from the
host stack then we can check for ingress or egress when we choose.
Please keep the two bits.

cheers,
jamal

On 05/04/15 14:48, Florian Westphal wrote:
> This series removes the tc_verd member from sk_buff
> and uses 3 new flag bits instead.  It is on top of
> http://patchwork.ozlabs.org/patch/467186/
> (tc: remove unused redirect ttl) from Alexei.
>
> The patch set tries to not affect tc inner workings.
> I tested a few scenarios, namely:
>
> - htb on egress
> - netem attached to ifb with mirred redirect from ingress
>    qdisc
> - mirred to different device
> - bogus packet reclassify loop
>
> All of that works as expected (i.e. in last case most packets
> are dropped).
>
> motivation is two-fold:
> 1) provide better documentation as to what tc_verd is
>     used for and try to move some flag set/clear operations
>     into sch_ingress
>
> 2) provide a way to reduce skb size by 8 bytes
>     (s/u16 mac_len/u8 mac_len/ would result in
>      two 2 byte and one 4 byte hole, i.e. 8 byte reduction with
>      minor reshuffling).
>
> Florian Westphal (5):
>        net: sched: replace NCLS macro with tc_nocls bit flag
>        net: sched: use counter to break reclassify loops
>        net: sched: remove FROM INGRESS/EGRESS
>        net: sched: remove AT INGRESS/EGRESS
>        skbuff: remove tc_verd member
>
> Documentation/networking/tc-actions-env-rules.txt |    4 ----
>   drivers/net/ifb.c                                 |   15 +++++----------
>   drivers/staging/octeon/ethernet-tx.c              |    4 +++-
>   include/linux/skbuff.h                            |   17 +++++++++++------
>   include/net/sch_generic.h                         |   15 ---------------
>   include/uapi/linux/pkt_cls.h                      |    4 +---
>   net/core/dev.c                                    |   10 ++--------
>   net/core/skbuff.c                                 |    3 ---
>   net/sched/act_api.c                               |    4 ++--
>   net/sched/act_mirred.c                            |    9 ++++-----
>   net/sched/sch_api.c                               |   12 +++---------
>   net/sched/sch_ingress.c                           |    2 ++
>   net/sched/sch_netem.c                             |    2 +-
>   13 files changed, 34 insertions(+), 67 deletions(-)
>

  parent reply	other threads:[~2015-05-05 11:39 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-04 18:48 [PATCH -next 0/5] replace skb tc_verd member with 3 dedicated bit flags Florian Westphal
2015-05-04 18:48 ` [PATCH -next 1/5] net: sched: replace NCLS macro with tc_nocls bit flag Florian Westphal
2015-05-05 10:38   ` Daniel Borkmann
2015-05-05 23:15   ` David Miller
2015-05-04 18:48 ` [PATCH -next 2/5] net: sched: use counter to break reclassify loops Florian Westphal
2015-05-05 10:47   ` Daniel Borkmann
2015-05-04 18:48 ` [PATCH -next 3/5] net: sched: remove FROM INGRESS/EGRESS Florian Westphal
2015-05-05 10:51   ` Daniel Borkmann
2015-05-04 18:48 ` [PATCH -next 4/5] net: sched: remove AT INGRESS/EGRESS Florian Westphal
2015-05-05 11:06   ` Daniel Borkmann
2015-05-05 11:11     ` Florian Westphal
2015-05-04 18:48 ` [PATCH -next 5/5] skbuff: remove tc_verd member Florian Westphal
2015-05-05 11:09   ` Daniel Borkmann
2015-05-05 11:39 ` Jamal Hadi Salim [this message]
2015-05-05 11:47   ` [PATCH -next 0/5] replace skb tc_verd member with 3 dedicated bit flags Florian Westphal
2015-05-05 11:58     ` Jamal Hadi Salim
2015-05-05 12:37       ` Daniel Borkmann
2015-05-05 13:22         ` Jamal Hadi Salim
2015-05-05 13:06       ` Florian Westphal

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=5548ABF8.5080806@mojatatu.com \
    --to=jhs@mojatatu.com \
    --cc=alexei.starovoitov@gmail.com \
    --cc=fw@strlen.de \
    --cc=netdev@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).