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