Re: [babel] Investigating ICMP behaviour of the Linux kernel in IPv6-only mode

Toke Høiland-Jørgensen <> Tue, 15 June 2021 12:59 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 1EFF03A2F72 for <>; Tue, 15 Jun 2021 05:59:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.098
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: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id wqAnI_PkJ6Gq for <>; Tue, 15 Jun 2021 05:59:24 -0700 (PDT)
Received: from ( [IPv6:2a0c:4d80:42:2001::664]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 7D95A3A2F6D for <>; Tue, 15 Jun 2021 05:59:24 -0700 (PDT)
From: Toke Høiland-Jørgensen <>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; s=20161023; t=1623761958; bh=ugnKrI2SkkuHa/rebJhVFvRllQlE+cppVcY8m+DBsx4=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=mzR6GFXHeH4MDw+vymvvMC2gpOw44Pj0wcKBiFTCYSAqB9qjr4u4iuugr3HPdaybp qffW476qsrQhbU1duB8zdMtQGrRfx2elLN37Wn9jojAqiPsIlUVBvqQVV9tcQ+WkhI xTjUDSAquzJYQOEid4WBfM6CqC0O8VcB5QwpZZ3J1inNLIENITClBTtqJ+HYyitQO9 2dqRqvX0HwmijNIyoBg+wGKGd7a3wQGJpTBxut29wY+kZbwlsKfyDlALTqzTuC6k4z heXDzoWQPvGkkXtVU92KbBPtYWb59bfH/IoLRcGjXjAURQxHlURTghGxHsPMIA0sNz BxIevGQyqh4yQ==
To: Juliusz Chroboczek <>
In-Reply-To: <>
References: <> <>
Date: Tue, 15 Jun 2021 14:59:18 +0200
X-Clacks-Overhead: GNU Terry Pratchett
Message-ID: <>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <>
Subject: Re: [babel] Investigating ICMP behaviour of the Linux kernel in IPv6-only mode
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 15 Jun 2021 12:59:30 -0000

Juliusz Chroboczek <> writes:

>> I've submitted a patch[0] to make the kernel fall back to the dummy
>> address specified in RFC7600.
>> [0]
> Thanks a lot, Toke.  After spending a few hours going through the maze
> that is the Linux ICMP code, I decided I needed help from somebody
> competent.

You're welcome! And yeah, that code does offer all the best in
kernel-style indirection :)

>> What I found was that the kernel is perfectly happy to send out ICMP
>> messages with an all-zero source address if no real address is
>> configured on any interface.
> The question is -- what is the behaviour of PMTUd implementations when
> they receive such an ICMP packet?  Do they reduce the PMTU, or do they
> drop the ICMP as obviously incorrect?

As far as I can tell by poking around in the code, the kernel will
generally drop packets with an all-zero source; see for instance this

I'll leave actually testing this as an exercise for the reader ;)

> I'm going to merge the v4via6 code (I've reviewed it, and I think it
> needs a few fixes), and going to enable it automatically if there's at
> least one IPv4 address somewhere, including the loopback interface.
> Thanks a lot for the information above, that's very helpful.

Cool! You're welcome :)