Merge branch 'vendor/OPENSSH'
[dragonfly.git] / sbin / slattach / slattach.8
1 .\" Copyright (c) 1986, 1991 The Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)slattach.8  6.4 (Berkeley) 3/16/91
33 .\"
34 .\" $FreeBSD: src/sbin/slattach/slattach.8,v 1.16.2.6 2003/02/23 21:17:43 trhodes Exp $
35 .\" $DragonFly: src/sbin/slattach/slattach.8,v 1.4 2008/05/09 20:31:04 swildner Exp $
36 .\"
37 .Dd April 4, 1993
38 .Dt SLATTACH 8
39 .Os
40 .Sh NAME
41 .Nm slattach
42 .Nd attach serial lines as network interfaces
43 .Sh SYNOPSIS
44 .Nm
45 .Op Fl a
46 .Op Fl c
47 .Op Fl e Ar exit-command
48 .Op Fl f
49 .Op Fl h
50 .Op Fl l
51 .Op Fl n
52 .Op Fl z
53 .Op Fl L
54 .Op Fl r Ar redial-command
55 .Op Fl s Ar baudrate
56 .Op Fl u Ar unit-command
57 .Op Fl K Ar keepalive
58 .Op Fl O Ar outfill
59 .Op Fl S Ar unit
60 .Ar ttyname
61 .Sh DESCRIPTION
62 The
63 .Nm
64 utility is used to assign a tty line to a network interface,
65 and to define the network source and destination addresses.
66 .Pp
67 The following options are available:
68 .Bl -tag -width indent
69 .It Fl a
70 Autoenable the VJ header compression option, if the other end of the link
71 is capable of VJ header compression then it will be used otherwise normal
72 headers will be used.
73 .It Fl c
74 Enable the VJ header compression option.  Note that both ends of the link
75 must be able to use VJ header compression for this to work.
76 .It Fl e Ar exit-command
77 Specify a command to be invoked within a shell
78 .Ql sh \-c Ar exit-command
79 before
80 .Nm
81 exits.
82 .It Fl f
83 Disable the invocation of daemon() to run
84 .Nm
85 in the background.
86 .It Fl h
87 Turn on cts/rts style flow control on the slip port, by default no flow
88 control is done.
89 .It Fl l
90 Disable modem control (CLOCAL) and ignore carrier detect on the slip
91 port.  By default the
92 .Ar redial-command
93 is invoked upon carrier drop and
94 .Nm
95 aborts if no
96 .Ar redial-command
97 is specified.
98 .It Fl n
99 Throw away ICMP packets.  The slip interface will ignore ICMP packets
100 to prevent slow lines being saturated by ICMP responses.
101 .It Fl r Ar redial-command
102 Specify a command to be invoked within a shell
103 .Ql sh \-c Ar redial-command
104 whenever carrier is lost on the modem line.
105 Empty
106 .Ar redial-command
107 (i.e.\&
108 .Fl r Qq "" )
109 cause connection reestablishing on leased line
110 without any external command invoked.
111 .It Fl s Ar baudrate
112 Specify the speed of the connection.
113 If not specified, the
114 default of 9600 is used.
115 .It Fl u Ar unit-command
116 When the line is switched to slip discipline, run
117 .Dq Nm "sh -c" Ar unit-command old new
118 where
119 .Ar old
120 and
121 .Ar new
122 are the slip unit numbers when the line was
123 last opened and the unit number of the current slip connection
124 respectively.  The unit number can change after redialing if you are
125 using more than one slip line.
126 When
127 .Nm
128 is connected for the first time,
129 .Dq Nm "sh -c" Ar unit-command \-1 new
130 is run.
131 When
132 .Nm
133 is disconnected,
134 .Dq Nm "sh -c" Ar unit-command old \-1
135 is run.
136 The
137 .Nm
138 utility will abort if the unit number
139 changes and
140 .Dq Fl u Ar \%unit-command
141 was not specified.
142 .It Fl z
143 Force redial
144 .Ar redial-command
145 upon startup irrespective of carrier.
146 .It Fl L
147 Use uucp-style device locking.
148 You need it unless you start
149 .Nm
150 from external program which already does uucp locking.
151 Default case is no uucp locking to satisfy such programs.
152 .It Fl K Ar keepalive
153 Set SLIP "keep alive" timeout in seconds.
154 If FRAME_END is not received in
155 this amount of time, re-connect occurs.
156 The default value is no timeout.
157 .It Fl O Ar outfill
158 Set SLIP "out fill" timeout in seconds.  It forces at least one FRAME_END
159 to be sent during this time period, which is necessary for the "keep alive"
160 timeout on the remote side.
161 The default value is no timeout.
162 .It Fl S Ar unit
163 Set the SLIP unit number directly.
164 Use with caution, because no check is made
165 for two interfaces with same number.
166 By default sliplogin dynamically assigns the unit number.
167 .It Ar ttyname
168 Specify the name of the tty device.
169 .Ar Ttyname
170 should be a string of the form
171 .Ql ttyXX
172 or
173 .Ql /dev/ttyXX .
174 .El
175 .Pp
176 Only the super-user may attach a network interface.
177 .Pp
178 To detach the interface, use
179 .Dq Li ifconfig interface-name down
180 after killing off the
181 .Nm
182 process using
183 .Ql kill -INT .
184 .Ar Interface-name
185 is the name that is shown by
186 .Xr netstat 1 .
187 .Pp
188 To setup
189 .Nm
190 to redial the phone when carrier is lost, use the
191 .Fl r Ar redial-command
192 option to specify a script or executable that will reconnect the
193 serial line to the slip server.  For example, the script could redial
194 the server and log in, etc.
195 .Pp
196 To reconfigure the network interface in case the slip unit number
197 changes, use the
198 .Fl u Ar unit-command
199 option to specify a script or executable that will be invoked as
200 .Ql sh \-c Ar unit-command old new
201 where
202 .Ar old
203 and
204 .Ar new
205 are the slip unit numbers before and after
206 reconnecting the line.  The unit number can change if you have more
207 than one line disconnect at the same time.  The first to succeed in
208 reconnecting will get the lowest unit number.
209 .Pp
210 To kill
211 .Nm
212 use
213 .Ql kill -INT
214 .Dv ( SIGINT )
215 which causes it to close the tty and exit.
216 .Pp
217 To force a redial, use
218 .Ql kill -HUP
219 .Dv ( SIGHUP )
220 which causes
221 .Nm
222 to think carrier was lost and thus invoke
223 .Ql sh \-c Ar redial-command
224 to reconnect to the server.
225 .Pp
226 If you use a hard-wired connection rather than a modem, invoke
227 .Nm
228 with the
229 .Fl l
230 option in order to ignore carrier on the slip line.
231 .Sh FILES
232 .Bl -tag -width /usr/share/examples/slattach/* -compact
233 .It Pa /var/run/slattach.<tty>.pid
234 with
235 .Ar tty
236 replaced by the terminal path name component of
237 .Ar ttyname .
238 This file contains the numerical process ID of the
239 .Nm
240 process and can be examined by scripts in order to send a signal to
241 .Nm
242 .It Pa /usr/share/examples/slattach/*
243 .El
244 .Sh EXAMPLES
245 .Bd -literal -offset indent -compact
246 slattach ttyd8
247 slattach \-s 4800 /dev/ttyd1
248 slattach \-c \-s 38400 /dev/cuaa1
249 slattach \-r 'kermit -y dial.script >kermit.log 2>&1'
250 .Ed
251 .Sh DIAGNOSTICS
252 Look for error messages in
253 .Pa /var/log/messages
254 .No ( Nm
255 is a daemon).
256 Messages indicating the specified interface does not exit, the
257 requested address is unknown, the user is not privileged and tried to
258 alter an interface's configuration are logged there.
259 The
260 .Nm
261 utility
262 also logs failure to set the controlling terminal or failure to install
263 signal handlers.  Upon connection and redial the ttyname and baud rate
264 are logged and on shutdown the ttyname is logged.
265 .Sh SEE ALSO
266 .Xr netstat 1 ,
267 .Xr startslip 1 ,
268 .Xr uustat 1 ,
269 .Xr netintro 4 ,
270 .Xr ifconfig 8 ,
271 .Xr rc 8 ,
272 .Xr sliplogin 8
273 .Sh HISTORY
274 The
275 .Nm
276 utility appeared in
277 .Bx 4.3 .