lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 07 Jul 2008 13:53:24 +0200
From:	Patrick McHardy <kaber@...sh.net>
To:	Jussi Kivilinna <jussi.kivilinna@...et.fi>
CC:	netdev@...r.kernel.org
Subject: Re: [PATCH v3 2/2] hfsc: add link layer overhead adaption

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.
> 
> +/* convert packet length to link layer packet length */
> +static unsigned int get_linklayer_len(struct hfsc_class *cl, unsigned int len)
> +{
> +	if (unlikely(!len) || likely(!cl->stab))
> +		return len;
> +	return qdisc_linklayer_sz(cl->stab, len);
> +}

This means HFSC will use other packet sizes as inner qdiscs, policers,
statistics etc, which I don't like very much. My original patch used
the size tables to calculate the size when enqueing to the root qdisc
and stored it in the cb, so all qdiscs in the hierarchy can use the
same size.

> @@ -987,9 +997,11 @@ hfsc_change_usc(struct hfsc_class *cl, struct tc_service_curve *usc,
>  }
>  
>  static const struct nla_policy hfsc_policy[TCA_HFSC_MAX + 1] = {
> -	[TCA_HFSC_RSC]	= { .len = sizeof(struct tc_service_curve) },
> -	[TCA_HFSC_FSC]	= { .len = sizeof(struct tc_service_curve) },
> -	[TCA_HFSC_USC]	= { .len = sizeof(struct tc_service_curve) },
> +	[TCA_HFSC_RSC]		= { .len = sizeof(struct tc_service_curve) },
> +	[TCA_HFSC_FSC]		= { .len = sizeof(struct tc_service_curve) },
> +	[TCA_HFSC_USC]		= { .len = sizeof(struct tc_service_curve) },
> +	[TCA_HFSC_SZOPTS]	= { .len = sizeof(struct tc_sizespec) },
> +	[TCA_HFSC_STAB]		= { .type = NLA_BINARY, .len = TC_STAB_SIZE },

Why are these two separate attributes?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ