A mirror of Man pages
Go to file
Benjamin Poirier 8341e3a766 ip.7: Improve description of IP_MTU_DISCOVER
I noticed what appears to be a discrepancy between the ip(7)
man page and the kernel code with regards to the IP DF flag
for UDP sockets.

The man page says that "The don't-fragment flag is set on all
outgoing datagrams" and that the ip_no_pmtu_disc sysctl affects
only SOCK_STREAM sockets. This is quickly disproved by doing:

    echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc

firing up netcat and looking at a few outgoing UDP packets in
wireshark (they don't have the DF flag set).

1) in the words of `man 7 ip`:
IP_MTU_DISCOVER (since Linux 2.2)
     Set or receive the Path MTU Discovery  setting  for  a  socket.
     When  enabled, Linux will perform Path MTU Discovery as defined
     in RFC 1191 on this socket.  The don't-fragment flag is set  on
     all  outgoing datagrams.  The system-wide default is controlled
     by the /proc/sys/net/ipv4/ip_no_pmtu_disc file for  SOCK_STREAM
     sockets, and disabled on all others.

2) in net/ipv4/af_inet.c:inet_create():
       if (ipv4_config.no_pmtu_disc)
               inet->pmtudisc = IP_PMTUDISC_DONT;
       else
               inet->pmtudisc = IP_PMTUDISC_WANT;

and pmtudisc is left alone from there on for UDP sockets.

Reviewed-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2011-09-22 06:08:30 +02:00
man1 intro.1, time.1, accept.2, bind.2, connect.2, execve.2, flock.2, getdents.2, getpriority.2, getuid.2, intro.2, ioctl.2, mincore.2, mknod.2, personality.2, ptrace.2, read.2, recv.2, select_tut.2, send.2, sendfile.2, shmctl.2, sigaction.2, signal.2, stat.2, times.2, truncate.2, umask.2, wait.2, MB_CUR_MAX.3, MB_LEN_MAX.3, argz_add.3, btowc.3, clearenv.3, clock.3, cmsg.3, end.3, endian.3, errno.3, exit.3, fgetwc.3, fgetws.3, fopen.3, fputwc.3, fputws.3, fseek.3, fwide.3, getfsent.3, getgrnam.3, gethostid.3, getipnodebyname.3, getmntent.3, getpwnam.3, getwchar.3, grantpt.3, iconv.3, iconv_close.3, iconv_open.3, insque.3, intro.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, malloc.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mkstemp.3, mktemp.3, nl_langinfo.3, openpty.3, posix_openpt.3, printf.3, ptsname.3, putwchar.3, qecvt.3, rcmd.3, readdir.3, rexec.3, rpc.3, setnetgrent.3, shm_open.3, sigpause.3, stdin.3, stpcpy.3, strftime.3, strptime.3, syslog.3, towctrans.3, towlower.3, towupper.3, ttyslot.3, ungetwc.3, unlocked_stdio.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wprintf.3, console_ioctl.4, pts.4, elf.5, filesystems.5, hosts.5, proc.5, ttytype.5, boot.7, capabilities.7, credentials.7, epoll.7, glob.7, koi8-r.7, path_resolution.7, pty.7, signal.7, suffixes.7, time.7, unicode.7, unix.7, uri.7, utf-8.7: global fix: s/Unix/UNIX/ 2010-10-12 06:49:17 +02:00
man2 madvise.2: tfix 2011-09-22 04:58:20 +02:00
man3 wcsnlen.3: tfix 2011-09-21 08:40:16 +02:00
man4 hpsa.4: Minor fixes 2011-09-22 05:20:50 +02:00
man5 fcntl.2, recv.2, crypt.3, err.3, strtoul.3, proc.5: tstamp 2011-09-16 07:02:06 +02:00
man6 Wrapped long source lines 2008-07-06 15:10:32 +00:00
man7 ip.7: Improve description of IP_MTU_DISCOVER 2011-09-22 06:08:30 +02:00
man8 add_key.2, keyctl.2, request_key.2, stime.2, time.2, ctime.3, difftime.3, ftime.3, getspnam.3, mq_receive.3, mq_send.3, rtime.3, sem_wait.3, string.3, timeradd.3, tzset.3, rtc.4, core.5, icmp.7, time.7, zic.8: Updated .TH timestamp 2010-02-25 10:43:57 +01:00
scripts find_repeated_words.sh: Fix bug 2010-08-29 14:41:52 +02:00
Changes Start of man-pages-3.34: updating Changes and Changes.old 2011-09-17 06:05:09 +02:00
Changes.old Changes.old: wfix 2011-09-17 07:33:42 +02:00
Makefile POSIX man pages are now in a separate package. 2008-06-05 09:52:50 +00:00
README README: Point directly at contributing.html 2010-08-29 07:40:29 +02:00
man-pages-3.34.Announce Start of man-pages-3.34: updating .Announce and .lsm files 2011-09-17 06:05:08 +02:00
man-pages-3.34.lsm Start of man-pages-3.34: updating .Announce and .lsm files 2011-09-17 06:05:08 +02:00

README

This package contains Linux man pages for sections
2, 3, 4, 5, and 7. Some more information is given in the
`Announce' file.

Install by copying to your favourite location.
"make install" will just copy them to /usr/share/man/man[1-8].
"make" will move the pages from this package that are older than
the already installed ones to a subdirectory `not_installed',
then remove old versions (compressed or not),
compress the pages, and copy them to /usr/share/man/man[1-8].


Note that you may have to remove preformatted pages.

Note that sometimes these pages are duplicates of pages
also distributed in other packages. This has been reported
about dlclose.3, dlerror.3, dlopen.3, dlsym.3 (found in ld.so),
about resolver.3, resolv.conf.5 (found in bind-utils),
and about passwd.5, and mailaddr.7. Be careful not to
overwrite more up-to-date versions.
Reports on further duplicates are welcome.
Formerly present and now removed duplicates:
 exports.5 (found in nfs-server-2.2*),
 fstab.5, nfs.5 (found in util-linux-2.12*),
 lilo.8, lilo.conf.5 (found in lilo-21.6*).

Copyrights: These man pages come under various copyrights.
All pages are freely distributable when the nroff source is included.

If you have corrections and additions to suggest, see
http://www.kernel.org/doc/man-pages/contributing.html