Hi, On Wed, Jul 30, 2014 at 03:15:53AM +0200, Julien Muchembled wrote: > Le 07/29/14 23:05, Gert Doering a écrit : > >> For example: > >> A --[mtu=1500]-- B --[mtu=1400]-- C > >> > >> Given a UDP6 socket on A with IPV6_MTU_DISCOVER=IP_PMTUDISC_DO, > >> sendto(1452 bytes, B) will succeed > >> but sendto(1452 bytes, C) will return EMSGSIZE (except for the first send > >> to C) > >> Yes, at some point, there are icmp packets. > > > > So (being lazy again, sorry) how is the maximum message size communicated > > back to OpenVPN? Ancilliary data again? > > ICMP packets contains the size and ping/ping6 even reports it (this is real > example with mtu=1433 between B & C):
I know that part, but the ICMP packets are seen by the kernel, not by OpenVPN. So how does the information arrive in OpenVPN? sendto() fails, but how does OpenVPN know which max message size will be acceptable? [..] > What I've experienced is that fragmentation is bad for perf and that some > routers on the internet don't route fragmented UDP packets properly, which is > why I've switched to TCP-only for the moment: > > http://git.erp5.org/gitweb/re6stnet.git/commit/cd653523a1474ff9f8956a331c42235454887f65 Of course. Having that functionality for IPv6 is a good thing. I was just trying to understand code that I've not yet had to look into :-) gert -- USENET is *not* the non-clickable part of WWW! //www.muc.de/~gert/ Gert Doering - Munich, Germany g...@greenie.muc.de fax: +49-89-35655025 g...@net.informatik.tu-muenchen.de
pgp_o0QPak_MC.pgp
Description: PGP signature