Re: [tsvwg] qdisc hash customization as a path to shared RFC3168 queues

Pete Heist <pete@heistp.net> Wed, 30 June 2021 12:16 UTC

Return-Path: <pete@heistp.net>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B454E3A1A7D for <tsvwg@ietfa.amsl.com>; Wed, 30 Jun 2021 05:16:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=heistp.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MnBNb0DDehwf for <tsvwg@ietfa.amsl.com>; Wed, 30 Jun 2021 05:16:12 -0700 (PDT)
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0B5933A1A79 for <tsvwg@ietf.org>; Wed, 30 Jun 2021 05:16:11 -0700 (PDT)
Received: by mail-wr1-x435.google.com with SMTP id j1so3342662wrn.9 for <tsvwg@ietf.org>; Wed, 30 Jun 2021 05:16:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heistp.net; s=google; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=t60kYVKFOYq/zHg/Nmzz/Kc/OtX7+LW2jDBipZ62NjI=; b=ahuUOm0TsOBljf+3ZzxCQqIgAkWRzr6JsCRr68Ipb8Upy3RECHY9ITVl44cuzhBDUn TkX6wXY+Tmh0U60aGiHrHOoQJYdMwBH0LaDr8ozykX17eGypS+eQdU04NxCJFqy0MzvD vxd1GZJq5PErIojnK1KzqcXCGmGiwyP8JvbuOzv9/fpYM60a5xsRR5jzpLchq+f7dJwV +Ot41GbBxeKC79PBviwifh5cV8sQnKFWBYRYWYUSgD3tbwzamQQdSutDZqe+6lamnwMU 5e96br4tV8UiV+6/6BdE7+PB+d/RRZ7c/UxE7ixykVHq6FrjXXtKBkosXWfTH+4gidKy TqFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=t60kYVKFOYq/zHg/Nmzz/Kc/OtX7+LW2jDBipZ62NjI=; b=JbDdaerpz08BJBjXbQHskwjED+lJv+imzRxrQy+8dUQefTu9YxxP3HLcPc3ovBzNps Wy7hZTJcyJpz07iGCl8FuKUdNGZpelUUsDqWI0kDcfReRLU20R4+qu9TH6D3g8M4uV5d d7qfSuXkT7G/QS60ZSC+snwHXjGoLMMAb6W2nbdL29gw+VqiwLAVpVneEvmu/0DrEMdW vu9aq688JYzLcjnDttuoHZh8F09P764Hnvd0uH16Ao7TDStDd2EzRbiiKBU9M1BhWXbM 14KiYZ6jaRPT+94s2BakHGB3u/SwGjU7pV44Q3nmZOH4JB6EfudL1D9FlY1ueJgkXa+v rJvA==
X-Gm-Message-State: AOAM533gE3vBZGLXDn2RuVkXwgtrj9DbWt84VdE+EusCFCuCYq8eyHll E+oj9mnUXjgCGXmu1d44WxlukA==
X-Google-Smtp-Source: ABdhPJzcZmARnFvw/zGgzL1uIwfoe4W9/U7aPPkzpc6YL8tmU4kkBQSD++Yn9nlM6tqNzRj/LjzdoQ==
X-Received: by 2002:adf:b613:: with SMTP id f19mr7663988wre.73.1625055369621; Wed, 30 Jun 2021 05:16:09 -0700 (PDT)
Received: from [10.72.0.88] (h-1169.lbcfree.net. [185.193.85.130]) by smtp.gmail.com with ESMTPSA id d17sm8093342wro.93.2021.06.30.05.16.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Jun 2021 05:16:08 -0700 (PDT)
Message-ID: <c7e2f9ac6d70db8e1cf0f0cac950a0ba0f88dd33.camel@heistp.net>
From: Pete Heist <pete@heistp.net>
To: Greg White <g.white@CableLabs.com>
Cc: tsvwg IETF list <tsvwg@ietf.org>
Date: Wed, 30 Jun 2021 14:16:08 +0200
In-Reply-To: <F356C8A8-33D9-4BD9-8B93-4AE6A1840C58@cablelabs.com>
References: <89c90eb3000ea6cb0461735c16a57c016cc4e6f9.camel@heistp.net> <F356C8A8-33D9-4BD9-8B93-4AE6A1840C58@cablelabs.com>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.40.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/aeI6TeKp1t-ThLf1fMyuk5ZCD_g>
Subject: Re: [tsvwg] qdisc hash customization as a path to shared RFC3168 queues
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Jun 2021 12:16:17 -0000

Hi Greg,

...

On Tue, 2021-06-29 at 20:32 +0000, Greg White wrote:
> On 6/29/21, 3:41 AM, "tsvwg on behalf of Pete Heist"
> <tsvwg-bounces@ietf.org on behalf of pete@heistp.net> wrote:
> 
>     In the L4S safety discussion we've talked about ways that L4S and
> non-
>     L4S traffic can wind up in the same RFC3168 queue, even with FQ:
> 
>    
> https://github.com/heistp/l4s-tests/#unsafety-in-shared-rfc3168-queues
> 
>     I don't think we've mentioned that the hash used for Linux's FQ
> qdiscs
>     (fq_codel and cake included) can be customized, for example to
> provide
>     host fairness, "subscriber" fairness, or otherwise. I wrote this
> up
>     with a test script showing some ways to use it:
> 
>     https://github.com/heistp/qdisc-custom-classification/
> 
>     It's easy to see how this could lead to L4S and non-L4S traffic
> sharing
>     the same queue. If an operator does not want flow-fairness, but
> wants
>     fairness e.g. among destination hosts, this can be done by
> attaching a
>     flow filter to fq_codel (where 10: is the fq_codel handle):
> 
>     tc filter add dev enp1s0 protocol all parent 10: handle 1 \
>             flow hash keys dst divisor 1024
> 
>     That would cause all traffic to a given IP to share one queue.
> 
>     This has been in the wild for some years, so it might be worth
> adding
>     to the l4sops draft.
> 
>     Pete
> 
> 
> 
> Hi Pete,
> 
> Yes, I can add a comment on this in Section 6 of L4Sops.  The current
> text in that section equates FQ with 'flow-queuing' (as opposed to
> host-queuing or *-queuing). I think I can fairly easily add a note
> about non default hashing. 
> 
> What do you think about this, at the end of section 6:
> 
> <t>Note that some FQ schedulers can be configured to intentionally
> aggregate multiple flows into each queue. This might be used, for
> instance, to implement per-user or per-host fairness rather than per-
> flow fairness.  In this case, if the flow aggregates contain a mix of
> Classic and L4S traffic, one would expect to see the same potential
> unfairness as is seen in the FIFO case. The same remedies mentioned
> above would apply in this case as well.</t>

That probably about does it from the perspective of the l4sops
document.

It's more up to the WG how acceptable this would be as a risk to non-
L4S flows in existing installations...

Thanks,
Pete

> 
> 
> -Greg
> 
> 
>