MI MTU size for lo(4)

2014-05-13 Thread Claudio Jeker
With KAME the MTU size of the loopback interface became strange and is
actually dependend on the architecture. I see no point in all this
just go back to the way it was long long long ago and just use 32k as the
MTU. AFAIK all of this was only done to test large IPv6 packets but why
MHLEN and MLEN were added is still beyond my imagination.

-- 
:wq Claudio

Index: net/if_loop.c
===
RCS file: /cvs/src/sys/net/if_loop.c,v
retrieving revision 1.54
diff -u -p -r1.54 if_loop.c
--- net/if_loop.c   19 Apr 2014 11:01:37 -  1.54
+++ net/if_loop.c   12 May 2014 21:29:07 -
@@ -143,11 +143,7 @@
 #include net/bpf.h
 #endif
 
-#if defined(LARGE_LOMTU)
-#define LOMTU  (131072 +  MHLEN + MLEN)
-#else
-#defineLOMTU   (32768 +  MHLEN + MLEN)
-#endif
+#defineLOMTU   32768
 
 intloop_clone_create(struct if_clone *, int);
 intloop_clone_destroy(struct ifnet *);



Re: MI MTU size for lo(4)

2014-05-13 Thread Mike Belopuhov
On 13 May 2014 15:45, Claudio Jeker cje...@diehard.n-r-g.com wrote:
 With KAME the MTU size of the loopback interface became strange and is
 actually dependend on the architecture. I see no point in all this
 just go back to the way it was long long long ago and just use 32k as the
 MTU. AFAIK all of this was only done to test large IPv6 packets but why
 MHLEN and MLEN were added is still beyond my imagination.


In fact this comes from this commit in NetBSD originally:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/net/if_loop.c#rev1.20

Comment says Add MHLEN + MLEN extra space to LOMTU for IP and
transport headers.  This doesn't make me understand why this
is needed however.  So unless this clues you in, I'm OK with
setting it to 32k everywhere.



Re: MI MTU size for lo(4)

2014-05-13 Thread Mike Belopuhov
On 13 May 2014 16:05, Mike Belopuhov m...@belopuhov.com wrote:
 On 13 May 2014 15:45, Claudio Jeker cje...@diehard.n-r-g.com wrote:
 With KAME the MTU size of the loopback interface became strange and is
 actually dependend on the architecture. I see no point in all this
 just go back to the way it was long long long ago and just use 32k as the
 MTU. AFAIK all of this was only done to test large IPv6 packets but why
 MHLEN and MLEN were added is still beyond my imagination.


 In fact this comes from this commit in NetBSD originally:
 http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/net/if_loop.c#rev1.20

 Comment says Add MHLEN + MLEN extra space to LOMTU for IP and
 transport headers.  This doesn't make me understand why this
 is needed however.  So unless this clues you in, I'm OK with
 setting it to 32k everywhere.

And purely for your amusement: FreeBSD have decreased MTU from
64k to 16k in '95:

http://svnweb.freebsd.org/base/head/sys/net/if_loop.c?r1=6875r2=6876

Perhaps (and I'm somewhat speculating here) because of TCP
performance problems, like so:

http://marc.info/?l=netbsd-current-usersm=102684186303106w=2
(fixed diff is in the next mail though)