Re: [v6ops] Flow Label Load Balancing

Fernando Gont <> Wed, 25 November 2020 07:13 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id BB6A13A1139; Tue, 24 Nov 2020 23:13:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.889
X-Spam-Status: No, score=-1.889 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id YESaIJGHZQ3F; Tue, 24 Nov 2020 23:13:37 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 2A2403A112A; Tue, 24 Nov 2020 23:13:36 -0800 (PST)
Received: from [IPv6:2800:810:464:8164:dc8c:7589:8676:bd67] (unknown [IPv6:2800:810:464:8164:dc8c:7589:8676:bd67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id 21EE3280546; Wed, 25 Nov 2020 07:13:32 +0000 (UTC)
To: Tom Herbert <>
Cc: Alexander Azimov <>, tcpm <>, IPv6 Operations <>
References: <> <> <>
From: Fernando Gont <>
Message-ID: <>
Date: Wed, 25 Nov 2020 04:13:20 -0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <>
Subject: Re: [v6ops] Flow Label Load Balancing
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: v6ops discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 25 Nov 2020 07:13:43 -0000

Hi, Tom,

On 24/11/20 16:43, Tom Herbert wrote:
> Modulating the flow label is a means to affect the routing of packets
> through the network that uses flow labels as input to the ECMP hash.

What's the point?

1) You cannot tell *if* the FL is being used.

2) Changing the FL does not necessarily mean that packets will employ a 
different link.

3) If the network is failing, shouldn't you handle this via routing?

> The basic idea is that the flow label associated with a connection is
> randomly changed when the stack observes that the connection is
> failing (e.g. and an RTO). There is nothing in the specs that prevents
> this since the source is at liberty to set the flow label as it sees
> fit.

The FL is expected to remain constant for the life of a flow. A 
retransmitted packet is part of the same flow as the 
originally-transmitted packet. So this seems to be contradicting the 
very specification of the FL.

For instance, If a RTO for a flow causes the FL to change, then one may 
possibly argue that the FL is not naming/labeling what is said/expected 
to be anming/labeling.

> The feature is useful in large datacenter networks, like
> pparently Facebook where the patches originate, since information
> discerned by TCP can opportunistically be applied to route selection.
> The practical issue is that there are stateful devices like firewalls
> that require consistent routing in the network in which case changing
> the flow label can confuse them. As I mentioned, the original intent
> was that the flow label randomization feature should be opt-in instead
> of on by default.

So... where is the "source" of the packet that would be "modulating" the FL?

Fernando Gont
e-mail: ||
PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1