On Sat, 2022-08-13 at 21:49 +0900, Daisuke HIGASHI wrote:
> I wrote an experimental "avoid-fragmentation" patch for NSD (as per
> section 3.1 and Appexdix C). Due to dependency on getsockopt(IP_MTU),
> currently it should work on Linux only.
> 
> https://github.com/hdais/nsd-avoid-fragmentation#avoid-fragmentation-implementation-for-nsd
> https://github.com/hdais/nsd-avoid-fragmentation/commit/e34931ece95d4bcc20d71d3f3a18e037d2772f23
> 
> I did several tests on avoid-fragmentation, and got some findings or 
> questions:
> 
> - avoid-fragmentation (current draft) can be implemented by small
> modifications as you can see above.

Note that the function called "probe_pmtu" does not really probe. At
best, it finds some data the kernel cached recently. At worst (i.e.
usually), it tells you the MTU of your local networking interface.

> - A first response (to requester with small PMTU) can be lost because
> nobody knows PMTU for destination that a large packet was never sent.
> It slows down name resolution - Fortunately this is not a big problem
> because 1) will be recovered by retransmission by the requestor

(a) why would a requestor retransmit? (b) why would the retransmit help?

(I can imagine answers to these, but they're incomplete - so I'm curious
about your thought process here)

>  2)
> This rarely occurs. Most advertised EDNS bufsize fits in most MTU
> (slightly smaller than 1500) thanks to DNS flag day 2020.
> 
> - API to get PMTU to any destination is available on many platforms
> (other than Linux)?

As far as such APIs exist, they rely on the few bits of data your kernel
happens to have learned recently. Usually, the data you want will not be
there.


Kind regards,
-- 
Peter van Dijk
PowerDNS.COM BV - https://www.powerdns.com/

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to