From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oa1-x2c.google.com (mail-oa1-x2c.google.com [IPv6:2001:4860:4864:20::2c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id BE73D3B29E for ; Fri, 25 Oct 2024 19:13:14 -0400 (EDT) Received: by mail-oa1-x2c.google.com with SMTP id 586e51a60fabf-2689e7a941fso1591806fac.3 for ; Fri, 25 Oct 2024 16:13:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729897994; x=1730502794; darn=lists.bufferbloat.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=QUxj77QY7TKxHKyTVybaWpWka1FGFkn273wEf0MyTYY=; b=h5uHBVIR3UR5A5mShvD1upeVXuT2NQr1jt2aXb5sxAhM0DkWYJ3G2OzeJVk7rwOCnM JN7tNXumlJKrLGk2N5q9e0kKBD0oqOVGBfN0i+y0ovWCFFsonxqcDBpcVpZR4lKPxYp1 Uba5Du7SdwbcGwhfi9+BrGqJ5/K4G8dd5FD8xlfHXLphVFpdRpBOSUSyGT3jE9SNjvlr OyNdbF+60n7ytT4sVcEXT3FLsofTqJNo47fn2xCB93BWGPO5B8nePPu8eXgbpoZMAYbr /sELSwKM8Fc4dDCi/pDBlcfUG+tebm5S24H1uzTTCLrzNFSlIZeXJMNjVZBJpBRa3qDa Mwqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729897994; x=1730502794; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QUxj77QY7TKxHKyTVybaWpWka1FGFkn273wEf0MyTYY=; b=QMx9nU/KF4osJkIuILoeD6umC8OnYYeQMGPHn06diedQVGtEP0C//TaDp5h76vhEZM 82PX3y+57Qtb/4Ixg9hkmOArdyGsUkhQ/4wBxuddCjPyZB70z9d9mU3OKjdi3137H5PH XzIkD5J1yqY/hs7nQNsmGNhi8l1ooHDVqGWjNPH+UieESOxN7z/rDFZ8fiXVL38tBDjJ WAPvGBf4udMkBpRwedYHfSD7h+WbMYxF4wwNnxkZUDKRVN/MvpLLEUJurGKKu8rRMwM8 N6T+/847NEa5P6LQqg7O97yJr9J+76hiCSTE21jXcYU51J3qDNXIt1TpHVV12YsT0mcT vaew== X-Forwarded-Encrypted: i=1; AJvYcCVNkVPwTgiajLOfjDjJLCEI/3HFD+fTG2Pkudt3OwGu/493n7mimMvTKTFrEpXpGSCEnMdy7A==@lists.bufferbloat.net X-Gm-Message-State: AOJu0YyGhO5MAQYLE4NoJVoJtJNaNFk9I2+saotQ2qAK5yaLIl4GGVn1 V7UnrxRfzYCmP2BIBBIMhxNGSZ4j0xTWrwN+1rxjbuHtv+dgtKdQnxMH3IusGh2tILPsRQikKrW lFVbhV5zePBOFKWDT5C/aWsG+Xf8= X-Google-Smtp-Source: AGHT+IHxmUM4UPaLy/yc4EZhC1nJATkZefEQFnRjTu1SeTtFCZX3N+Zo5MOq+rzi2nTaCkiCaYP0Sp22PKXMuS9DYYc= X-Received: by 2002:a05:6870:5686:b0:288:563b:e48d with SMTP id 586e51a60fabf-29051ace3famr1109088fac.10.1729897993978; Fri, 25 Oct 2024 16:13:13 -0700 (PDT) MIME-Version: 1.0 References: <98eeb4b3-a8f8-4875-b021-aab0d5336959@fau.de> <20241025140230.5b1263b8@hermes.local> In-Reply-To: From: Dave Taht Date: Fri, 25 Oct 2024 16:12:59 -0700 Message-ID: To: Joerg Deutschmann Cc: Stephen Hemminger , Maximilian Bachl , Maximilian Bachl via Bloat Content-Type: multipart/alternative; boundary="0000000000006dcad306255543aa" Subject: Re: [Bloat] The NetEm qdisc does not work in conjunction with other qdiscs X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Oct 2024 23:13:14 -0000 --0000000000006dcad306255543aa Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable To add to discrepancies tbf so far as I remember broke up gso superpackets into packets, htb did not. How all the aqms behave with superpackets is insufficiently explored. This is why cake made breaking up gso packets into regular packets the default. On Fri, Oct 25, 2024 at 3:47=E2=80=AFPM Joerg Deutschmann via Bloat < bloat@lists.bufferbloat.net> wrote: > Thanks Max and Stephen, > > >> From my experience (experimented with it last year), it still behaves > >> weirdly. You can use htb for the shaping and you can create delay usin= g > >> netem by using it on another (virtual) host on a link that does not ha= ve > >> any other qdiscs and where the link is not the bottleneck. > Yes, I did some quick tests and saw that this works: > > sudo tc qdisc add dev eth0 root handle 2: tbf rate 200Mbit burst 4542 > limit 500000 > > sudo tc qdisc add dev eth0 parent 2: handle 3: fq_codel > but this does not work: > > sudo tc qdisc add dev eth0 root handle 1: netem delay 20ms limit 100000= 00 > > sudo tc qdisc add dev eth0 parent 1: handle 2: tbf rate 200Mbit burst > 4542 limit 500000 > > sudo tc qdisc add dev eth0 parent 2: handle 3: fq_codel > > Adding netem delay to a separate host or adding it to the ingress qdisc > (as described by Dave) does the trick. > > > > Yes, netem has expectations about how inner qdisc behaves, > > and other qdisc used as inner have expectations about how/when packets > > are sent. There is a mismatch, not sure if it is fixable with in the > > architecture of how Linux queue disciplines operate. > For the sake of completeness, here's the quote from the netem man page: > > Combining netem with other qdisc is possible but may not always work > because netem use skb control block to set delays. > :-) > > > > > The best way is to use netem on an intermediate hop and not expect > > it to work perfectly when used on an endpoint. The same is true of > Dummynet > > and other network emulators; they are uses as man-in-the-middle systems= . > Still I guess it can be tricky if netem delay + tbf shaping + fq_codel > shall be used altogether. > > This paper mentions that the order tbf/netem or netem/tbf matters > (section 4.1.1), but does not mention fq_codel: > https://atlas.cs.uni-tuebingen.de/~menth/papers/Menth17-Sub-2.pdf > _______________________________________________ > Bloat mailing list > Bloat@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/bloat > --=20 Dave T=C3=A4ht CSO, LibreQos --0000000000006dcad306255543aa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
To add to discrepancies=C2=A0tbf so far as I remember brok= e up gso superpackets=C2=A0into packets, htb did not.=C2=A0

<= div>How all the aqms behave with superpackets is insufficiently explored. T= his is why cake made breaking
up gso packets into regular packets= the default.=C2=A0


On Fri, Oct 25, 2024 at 3:47=E2=80= =AFPM Joerg Deutschmann via Bloat <bloat@lists.bufferbloat.net> wrote:
Thanks Max and Stephen,

>>=C2=A0 From my experience (experimented with it last year), it stil= l behaves
>> weirdly. You can use htb for the shaping and you can create delay = using
>> netem by using it on another (virtual) host on a link that does no= t have
>> any other qdiscs and where the link is not the bottleneck.
Yes, I did some quick tests and saw that this works:
> sudo tc qdisc add dev eth0 root handle 2: tbf rate 200Mbit burst 4542 = limit 500000
> sudo tc qdisc add dev eth0 parent 2: handle 3: fq_codel
but this does not work:
> sudo tc qdisc add dev eth0 root handle 1: netem delay 20ms limit 10000= 000
> sudo tc qdisc add dev eth0 parent 1: handle 2: tbf rate 200Mbit burst = 4542 limit 500000
> sudo tc qdisc add dev eth0 parent 2: handle 3: fq_codel

Adding netem delay to a separate host or adding it to the ingress qdisc (as described by Dave) does the trick.


> Yes, netem has expectations about how inner qdisc behaves,
> and other qdisc used as inner have expectations about how/when packets=
> are sent. There is a mismatch, not sure if it is fixable with in the > architecture of how Linux queue disciplines operate.
For the sake of completeness, here's the quote from the netem man page:=
> Combining netem with other qdisc is possible but may not always work b= ecause netem use skb control block to set delays.
:-)

>
> The best way is to use netem on an intermediate hop and not expect
> it to work perfectly when used on an endpoint. The same is true of Dum= mynet
> and other network emulators; they are uses as man-in-the-middle system= s.
Still I guess it can be tricky if netem delay + tbf shaping + fq_codel
shall be used altogether.

This paper mentions that the order tbf/netem or netem/tbf matters
(section 4.1.1), but does not mention fq_codel:
https://atlas.cs.uni-tuebingen.de/~= menth/papers/Menth17-Sub-2.pdf
_______________________________________________
Bloat mailing list
Bloat@list= s.bufferbloat.net
https://lists.bufferbloat.net/listinfo/bloat


--
Dave T=C3=A4ht CSO, LibreQos
--0000000000006dcad306255543aa--