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
https://tools.ietf.org/html/draft-ietf-homenet-hncp-04 (Appendix A)
https://tools.ietf.org/html/draft-ietf-homenet-hncp-05 (rely on UDP fragmentation)

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. */
#define HNCP_MAXIMUM_UNICAST_SIZE 9000

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.

--
regards,
RayH
<https://www.postbox-inc.com/?utm_source=email&utm_medium=siglink&utm_campaign=reach>
_______________________________________________
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet

Reply via email to