Module Name:    src
Committed By:   christos
Date:           Sat Sep 24 18:27:10 UTC 2011

Modified Files:
        src/share/man/man4: udp.4

Log Message:
Document rfc6056 (and other missing) sockopts.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/share/man/man4/udp.4

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man4/udp.4
diff -u src/share/man/man4/udp.4:1.10 src/share/man/man4/udp.4:1.11
--- src/share/man/man4/udp.4:1.10	Thu Aug  7 06:31:04 2003
+++ src/share/man/man4/udp.4	Sat Sep 24 14:27:10 2011
@@ -1,4 +1,4 @@
-.\"	$NetBSD: udp.4,v 1.10 2003/08/07 10:31:04 agc Exp $
+.\"	$NetBSD: udp.4,v 1.11 2011/09/24 18:27:10 christos Exp $
 .\"
 .\" Copyright (c) 1983, 1991, 1993
 .\"	The Regents of the University of California.  All rights reserved.
@@ -29,7 +29,7 @@
 .\"
 .\"     @(#)udp.4	8.1 (Berkeley) 6/5/93
 .\"
-.Dd June 5, 1993
+.Dd September 24, 2011
 .Dt UDP 4
 .Os
 .Sh NAME
@@ -94,6 +94,56 @@ network supports this) by using a reserv
 this address
 is network interface dependent.
 .Pp
+There are two
+.Tn UDP-level
+.Xr setsockopt 2 Ns / Ns Xr getsockopt 2
+options.
+.Dv UDP_OPTIONS
+may be used to change the default behavior of the socket.
+For example:
+.Bd -literal
+setsockopt(s, IPPROTO_UDP, UDP_OPTIONS, NULL, 0);
+.Ed
+.Pp
+The
+.Dv UDP_ENCAP
+option can be used to encapsulate
+.Tn ESP
+packets in
+.Tn UDP .
+There are two valid enapsulation options:
+.Tn UDP_ENCAP_ESPINUDP_NON_IKE
+from draft-ietf-ipsec-nat-t-ike-00/01 and
+.Tn UDP_ENCAP_ESPINUDP
+from draft-ietf-ipsec-udp-encaps-06
+defined in
+.In netinet/udp.h .
+.Pp
+The
+.Dv UDP_RFC6056ALGO
+can be used to randomize the port selection.
+Valid algorithms are described in
+.Xr rfc6056 7
+and their respective constants are in
+.In netinet/rfc6056.h .
+For example,
+.Bd -literal
+int algo = RFC6056_ALGO_RANDOM_PICK;       /* see \*[Lt]netinet/rfc6056.h\*[Gt] */
+setsockopt(s, IPPROTO_UDP, UDP_RFC6056ALGO, \*[Am]algo, sizeof(algo));
+.Ed
+.Pp
+The port selection can be also controlled at a global level for all
+.Tn UDP
+or
+.Tn UDP6
+sockets using the following
+.Xr sysctl 7
+variables:
+.Dv netinet.udp.rfc6056.selected
+and
+.Dv netinet6.udp6.rfc6056.selected
+respectively.
+.Pp
 Options at the
 .Tn IP
 transport level may be used with
@@ -133,7 +183,9 @@ for which no network interface exists.
 .Xr inet6 4 ,
 .Xr intro 4 ,
 .Xr ip 4 ,
-.Xr ip6 4
+.Xr ip6 4 ,
+.Xr rfc6056 7 ,
+.Xr sysctl 7
 .Rs
 .%R RFC
 .%N 768

Reply via email to