From: Davide Caratti <dcaratti@redhat.com>
To: "Toke Høiland-Jørgensen" <toke@redhat.com>,
"David Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org, cake@lists.bufferbloat.net
Subject: Re: [Cake] [PATCH net-next 1/5] sch_cake: fix IP protocol handling in the presence of VLAN tags
Date: Fri, 26 Jun 2020 10:27:08 +0200 [thread overview]
Message-ID: <240fc14da96a6212a98dd9ef43b4777a9f28f250.camel@redhat.com> (raw)
In-Reply-To: <87k0zuj50u.fsf@toke.dk>
hello,
my 2 cents:
On Thu, 2020-06-25 at 21:53 +0200, Toke Høiland-Jørgensen wrote:
> I think it depends a little on the use case; some callers actually care
> about the VLAN tags themselves and handle that specially (e.g.,
> act_csum).
I remember taht something similar was discussed about 1 year ago [1].
> Whereas others (e.g., sch_dsmark) probably will have the same
> issue.
I'd say that the issue "propagates" to all qdiscs that mangle the ECN-CE
bit (i.e., calling INET_ECN_set_ce() [2]), most notably all the RED
variants and "codel/fq_codel".
> I guess I can trying going through them all and figuring out if
> there's a more generic solution.
For sch_cake, I think that the qdisc shouldn't look at the IP header when
it schedules packets having a VLAN tag.
Probably, when tc_skb_protocol() returns ETH_P_8021Q or ETH_P_8021AD, we
should look at the VLAN priority (PCP) bits (and that's something that
cake doesn't do currently - but I have a small patch in my stash that
implements this: please let me know if you are interested in seeing it :)
).
Then, to ensure that the IP precedence is respected, even with different
VLAN tags, users should explicitly configure TC filters that "map" the
DSCP value to a PCP value. This would ensure that configured priority is
respected by the scheduler, and would also be flexible enough to allow
different "mappings".
Sure, my proposal does not cover the problem of mangling the CE bit inside
VLAN-tagged packets, i.e. if we should understand if qdiscs should allow
it or not.
WDYT?
thank you in advance!
--
davide
[1] https://lore.kernel.org/netdev/CAM_iQpUmuHH8S35ERuJ-sFS=17aa-C8uHSWF-WF7toANX2edCQ@mail.gmail.com/#t
[2] https://elixir.bootlin.com/linux/latest/C/ident/INET_ECN_set_ce
next prev parent reply other threads:[~2020-06-26 8:27 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-25 11:55 [Cake] [PATCH net-next 0/5] sched: A series of fixes and optimisations for sch_cake Toke Høiland-Jørgensen
2020-06-25 11:55 ` [Cake] [PATCH net-next 1/5] sch_cake: fix IP protocol handling in the presence of VLAN tags Toke Høiland-Jørgensen
2020-06-25 19:29 ` David Miller
2020-06-25 19:53 ` Toke Høiland-Jørgensen
2020-06-25 20:00 ` David Miller
2020-06-26 8:27 ` Davide Caratti [this message]
2020-06-26 12:52 ` Toke Høiland-Jørgensen
2020-06-26 14:01 ` Jamal Hadi Salim
2020-06-26 18:52 ` Davide Caratti
2020-06-29 10:27 ` Toke Høiland-Jørgensen
2020-06-26 13:11 ` Jonathan Morton
2020-06-26 14:59 ` Sebastian Moeller
2020-06-26 16:36 ` Jonathan Morton
2020-06-26 22:00 ` Stephen Hemminger
2020-06-25 11:55 ` [Cake] [PATCH net-next 2/5] sch_cake: don't try to reallocate or unshare skb unconditionally Toke Høiland-Jørgensen
2020-06-25 11:55 ` [Cake] [PATCH net-next 3/5] sch_cake: don't call diffserv parsing code when it is not needed Toke Høiland-Jørgensen
2020-06-25 11:55 ` [Cake] [PATCH net-next 4/5] sch_cake: add RFC 8622 LE PHB support to CAKE diffserv handling Toke Høiland-Jørgensen
2020-06-25 11:55 ` [Cake] [PATCH net-next 5/5] sch_cake: fix a few style nits Toke Høiland-Jørgensen
2020-06-25 19:31 ` [Cake] [PATCH net-next 0/5] sched: A series of fixes and optimisations for sch_cake David Miller
2020-06-25 19:49 ` Toke Høiland-Jørgensen
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
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=240fc14da96a6212a98dd9ef43b4777a9f28f250.camel@redhat.com \
--to=dcaratti@redhat.com \
--cc=cake@lists.bufferbloat.net \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=toke@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox