No empty .Rs/.Re
[netbsd-mini2440.git] / share / man / man4 / clnp.4
blob7dccbc13c9262e1439fb80ec76907e0d7512f589
1 .\"     $NetBSD: clnp.4,v 1.8 2003/04/16 13:35:16 wiz Exp $
2 .\"
3 .\" Copyright (c) 1990, 1991, 1993
4 .\"     The Regents of the University of California.  All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\"    may be used to endorse or promote products derived from this software
16 .\"    without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" SUCH DAMAGE.
29 .\"
30 .\"     @(#)clnp.4      8.2 (Berkeley) 4/2/94
31 .\"
32 .Dd April 2, 1994
33 .Dt CLNP 4
34 .Os
35 .Sh NAME
36 .Nm clnp
37 .Nd Connectionless-Mode Network Protocol
38 .Sh SYNOPSIS
39 .In sys/socket.h
40 .In netiso/iso.h
41 .In netiso/clnp.h
42 .Ft int
43 .Fn socket AF_ISO SOCK_RAW 0
44 .Sh DESCRIPTION
45 .Tn CLNP
46 is the connectionless-mode network protocol used by the
47 connectionless-mode network service.
48 This protocol is specified in
49 .Tn ISO
50 8473.
51 It may be accessed
52 through a
53 .Dq raw socket
54 for debugging purposes only.
55 .Tn CLNP
56 sockets are connectionless,
57 and are normally used with the
58 .Xr sendto 2
59 and
60 .Xr recvfrom 2
61 system calls, though the
62 .Xr connect 2
63 call may also be used to fix the destination for future
64 packets (in which case the
65 .Xr read 2
67 .Xr recv 2
68 and
69 .Xr write 2
71 .Xr send 2
72 system calls may be used).
73 .Pp
74 Outgoing packets automatically have a
75 .Tn CLNP
76 header prepended to them.
77 Incoming packets received by the user contain the full
78 .Tn CLNP
79 header.
80 The following
81 .Xr setsockopt 2
82 options apply to
83 .Tn CLNP :
84 .Bl -tag -width CLNPOPT_FLAGS
85 .It Dv CLNPOPT_FLAGS
86 Sets the flags which are passed to clnp when sending a datagram.
87 Valid flags are:
88 .Pp
89 .Bl -tag -width "CLNP_NO_CKSUM" -offset indent -compact
90 .It Dv CLNP_NO_SEG
91 Do not allow segmentation
92 .It Dv CLNP_NO_ER
93 Suppress ER pdus
94 .It Dv CLNP_NO_CKSUM
95 Do not generate the
96 .Tn CLNP
97 checksum
98 .El
99 .Pp
100 .It Dv CLNPOPT_OPTS
101 Sets
102 .Tn CLNP
103 options.
104 The options must be formatted exactly as specified by
105 .Tn ISO
106 8473, section 7.5
107 .Dq Options Part .
108 Once an option has been set, it will
109 be sent on all packets until a different option is set.
111 .Sh CONGESTION EXPERIENCE BIT
112 Whenever a packet is transmitted, the globally unique quality of
113 service option is added to the packet.
114 The sequencing preferred bit and the low transit delay bit are set
115 in this option.
117 If a packet is forwarded containing the globally unique quality of
118 service option, and the interface through which the packet will be
119 transmitted has a queue length greater than
120 .Em congest_threshold ,
121 then the congestion experienced bit is set in the quality of service option.
123 The threshold value stored in
124 .Em congest_threshold
125 may be tuned.
127 When a packet is received with the
128 globally unique quality of service option present, and the
129 congestion experienced bit is set, then the transport congestion
130 control function is called.
131 .Sh DIAGNOSTICS
132 A socket operation may fail with one of the following errors returned:
133 .Bl -tag -width [EADDRNOTAVAIL]
134 .It Bq Er EISCONN
135 When trying to establish a connection on a socket which
136 already has one, or when trying to send a datagram with the destination
137 address specified and the socket is already connected;
138 .It Bq Er ENOTCONN
139 When trying to send a datagram, but
140 no destination address is specified, and the socket hasn't been
141 connected;
142 .It Bq Er ENOBUFS
143 When the system runs out of memory for
144 an internal data structure;
145 .It Bq Er EADDRNOTAVAIL
146 When an attempt is made to create a
147 socket with a network address for which no network interface
148 exists;
149 .It Bq Er EHOSTUNREACH
150 When trying to send a datagram, but no route to the destination
151 address exists.
152 .It Bq Er EINVAL
153 When specifying unsupported options.
155 .Sh SEE ALSO
156 .Xr recv 2 ,
157 .Xr send 2 ,
158 .Xr intro 4 ,
159 .Xr iso 4
160 .Sh BUGS
161 Packets are sent with the type code of 0x1d (technically an invalid
162 packet type) for lack of a better way to identify raw
163 .Tn CLNP
164 packets.
166 No more than
167 .Dv MLEN
168 bytes of options can be specified.