From: Patrick McHardy <kaber@trash.net>
To: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH net-next-2.6 v4 2/2] hfsc: add link layer overhead adaption
Date: Mon, 14 Jul 2008 16:24:41 +0200 [thread overview]
Message-ID: <487B61A9.5090204@trash.net> (raw)
In-Reply-To: <20080710193440.19525.93085.stgit@fate.lan>
Jussi Kivilinna wrote:
> CBQ and HTB have options for emulating overhead of underlying link layer
> (mpu/overhead/linklayer options). This patch makes sch_hfsc use size table
> to emulate link layer overhead.
>
> Patch uses size table to convert packet length to emulated link layer packet
> length. Converted packet length is passed to hfsc calculations instead of
> real. If size table isn't passed to kernel, hfsc works as before.
>
> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
> ---
>
> include/linux/pkt_sched.h | 5 +
> net/sched/sch_hfsc.c | 158 +++++++++++++++++++++++++++++++++++++--------
> 2 files changed, 135 insertions(+), 28 deletions(-)
>
> diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
> index 5bf1444..46db55d 100644
> --- a/include/linux/pkt_sched.h
> +++ b/include/linux/pkt_sched.h
> @@ -303,6 +303,9 @@ struct tc_htb_xstats
> struct tc_hfsc_qopt
> {
> __u16 defcls; /* default class */
> + __u16 __reserved;
> + struct tc_sizespec szopts;
> + __u16 stab[512];
> };
>
> struct tc_service_curve
> @@ -326,6 +329,8 @@ enum
> TCA_HFSC_RSC,
> TCA_HFSC_FSC,
> TCA_HFSC_USC,
> + TCA_HFSC_SZOPTS,
> + TCA_HFSC_STAB,
I thought you were going to make this a generic qdisc feature.
Why is configuration still qdisc specific?
I was thinking of something like this:
- add generic attributes for configuring size tables for any
qdisc, handle those in sch_api
- add qdisc_enqueue() wrapper that calculates the size and
stores it in skb->cb, convert direct calls of sch->enqueue
to use it
- change direct uses of skb->len to use the size from the cb
The second step might need a bit more thought to make sure
qdiscs don't get confused when the dequeued packet is larger
than the enqueued one, but I think they usually don't care.
next prev parent reply other threads:[~2008-07-14 14:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-10 19:34 [PATCH net-next-2.6 v4 1/2] net_sched: add size table functions Jussi Kivilinna
2008-07-10 19:34 ` [PATCH net-next-2.6 v4 2/2] hfsc: add link layer overhead adaption Jussi Kivilinna
2008-07-14 14:24 ` Patrick McHardy [this message]
2008-07-15 5:11 ` David Miller
2008-07-15 10:52 ` Jussi Kivilinna
2008-07-15 10:55 ` Patrick McHardy
2008-07-16 23:40 ` [PATCH RFC] net_sched: add generic qdisc size table Jussi Kivilinna
2008-07-17 0:32 ` Jussi Kivilinna
2008-07-17 9:39 ` Patrick McHardy
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=487B61A9.5090204@trash.net \
--to=kaber@trash.net \
--cc=jussi.kivilinna@mbnet.fi \
--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 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.