Re: [homenet] DNCP/HNCP Revisited

"Ray Hunter (v6ops)" <> Thu, 19 September 2019 13:30 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5681712022A for <>; Thu, 19 Sep 2019 06:30:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id bn_jAZJeJUBf for <>; Thu, 19 Sep 2019 06:30:12 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 06219120074 for <>; Thu, 19 Sep 2019 06:30:12 -0700 (PDT)
Received: from localhost (localhost []) by (Postfix) with ESMTP id BF5FE401C3; Thu, 19 Sep 2019 15:30:10 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id v7EjAtUriiv8; Thu, 19 Sep 2019 15:30:08 +0200 (CEST)
Received: from MacBook-Pro-3.local ( []) (Authenticated sender: by (Postfix) with ESMTPA id 0511B401B5; Thu, 19 Sep 2019 15:30:07 +0200 (CEST)
To: Juliusz Chroboczek <>
Cc: Ted Lemon <>, HOMENET <>
References: <> <> <> <>
From: "Ray Hunter (v6ops)" <>
Message-ID: <>
Date: Thu, 19 Sep 2019 15:30:06 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 PostboxApp/6.1.18
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: multipart/alternative; boundary="------------8C5EACF2B029A428A4871735"
Content-Language: en-US
Archived-At: <>
Subject: Re: [homenet] DNCP/HNCP Revisited
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF Homenet WG mailing list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 19 Sep 2019 13:30:15 -0000

Juliusz Chroboczek wrote on 19/09/2019 01:02:
>> The problem is, how’d the packet get so big that it was fragmented?
> HNCP relies on network-layer fragmentation: it uses UDP and has no
> application-layer mechanism for fragmenting large TLVs.  See Section 4.2
> and Appendix B.2 of RFC 7787.
Agreed. I'm aware it was a design decision.
> (I seem to recall that an earlier version of DNCP included provisions for
> application-layer fragmentation of TLVs, but that was removed at some
> point.  I don't remember why.)
Yes. I've read earlier versions of the draft and it was an open point 
whether to do L7 fragmentation as part of HNCP or not.

I can't recall the exact discussion on list but it changed between 
version 4 and 5 (Appendix A) (rely on UDP 

> Let's please come back to my question.  RFC 4443 paragraph 3.2 says
>     A Packet Too Big MUST be sent by a router in response to a packet
>     that it cannot forward because the packet is larger than the MTU of
>     the outgoing link.
> If your tunnelling software violates this, how is it not buggy?
> -- Juliusz
Yes, this is a very poor network set up that could be avoided.

Question is: is it worth addressing?

I'm still working on the basis of a simple workaround to address the L2 MTU mismatch (limit IPv6 UDP fragment size to 1280 octets).

The separate problem is that if the amount of HNCP state increases (e.g. due to electing a central name server or mud server or whatever), the apparent limit of having to transmit the entire superset of all node TLV states in a single UDP packet may become problematic.

I notice in the current Openwrt code that the max UDP packet size is set at 9000 octets with the comment:

/* Very arbitrary. On some implementations, I have seen some issues
  * with 10+kb frames so we use this for now. It MUST be significantly
  * more than 4k, due to how code is written at the moment. */

With current code (without expanding the TLV data set), and my sample test routers, that sets a current maximum network size of approx. 12 nodes.