NetBSD/share/man/man4/strip.4
2004-12-05 13:24:10 +00:00

245 lines
5.9 KiB
Groff

.\" $NetBSD: strip.4,v 1.13 2004/12/05 13:24:10 peter Exp $
.\"
.\" Copyright 1996 The Board of Trustees of The Leland Stanford
.\" Junior University. All Rights Reserved.
.\"
.\" Author: Jonathan Stone
.\"
.\" Permission to use, copy, modify, and distribute this
.\" software and its documentation for any purpose and without
.\" fee is hereby granted, provided that the above copyright
.\" notice and the above authorship notice appear in all copies.
.\" Stanford University makes no representations about the suitability
.\" of this software for any purpose. It is provided "as is" without
.\" express or implied warranty.
.Dd December 5, 2004
.Dt STRIP 4
.Os
.Sh NAME
.Nm strip
.Nd Metricom Ricochet packet radio wireless network device
.Sh SYNOPSIS
.Cd pseudo-device strip
.Sh DESCRIPTION
The
.Nm
driver takes outbound network packets, encapsulates them using the
.Tn Metricom
.Qq star mode
framing, and sends the packets out an
.Tn RS-232
interface to a
.Tn Metricom
.Em Ricochet
packet radio.
Packets arriving from the packet radio via the serial link are decapsulated
and then passed up to the local host's networking stack.
.Pp
.Nm
is an acronym for
.Sy ST Ns armode
.Sy R Ns adio
.Sy IP .
.Pp
The
.Nm
interfaces can be created by using the
.Xr ifconfig 8
.Cm create
command.
Each
.Nm
interface is a pseudo-device driver for the
.Tn Metricom
.Em Ricochet
packet radio, operating in peer-to-peer packet mode.
.Pp
In many ways,
the
.Nm
driver is very much like the
.Xr sl 4
SLIP pseudo-device driver.
A
.Nm
device is attached to a tty line with
.Xr slattach 8 .
Once attached, the interface is configured via
.Xr ifconfig 8 .
The major difference between the
.Xr sl 4
SLIP pseudo-device driver and the
.Nm
driver is that SLIP works only between two hosts over
a dedicated point-to-point connection.
.Pp
In contrast,
.Nm
sends packets to a frequency-hopping packet radio, which can address
packets to any peer
.Tn Metricom
.Em Ricochet
packet radio, rather than just to a single host at the other end
of a point-to-point line.
Thus, one
.Nm
pseudo-device is usually sufficient for any kernel.
.Pp
In other respects, a
.Nm
interface is rather like an
.Tn Ethernet
interface.
Packets are individually addressed, and subsequent packets can
be sent independently to different MAC addresses.
However, the
.Qq star mode
framing and MAC addressing are not in any way compatible with
.Tn Ethernet .
Broadcast or multicast to more than one packet radio is not possible,
due to the independent frequency-hopping operation of the packet radios.
The interface flags
.Dv IFF_POINTOPOINT
and
.Dv IFF_BROADCAST
are not supported on the
.Nm
interface.
.Pp
In other words,
.Nm
implements a multiple-access, non-broadcast device, accessed via
an RS-232 serial line, using a proprietary packet framing scheme.
.Pp
This version of the
.Nm
driver maps
.Tn IP
addresses to
.Tn Metricom
.Em Ricochet
packet radio addresses using statically configured entries in the
normal routing table.
These entries map
.Tn IP
addresses of peer packet radios to the MAC-level addresses.
The exact syntax of this mapping and an example are discussed below.
The Internet Assigned Numbers Authority
.Pq Tn IANA
has allocated an
.Tn ARP
type code for use with STRIP.
A future version of this driver will support
.Xr arp 4
to obtain the
.Tn IP
address of reachable peer packet radios dynamically.
.Sh ADDRESS CONFIGURATION
This version of the STRIP driver requires static pre-configuration of
the mapping from
.Tn IP
addresses to packet radio MAC addresses.
The
.Xr route 8
command should be used to bind a peer STRIP host's packet radio
.Tn IP
address to the peer's link-level packet radio address.
.Pp
Radio addresses are encoded using the hex equivalent of the packet
radio's decimal
.Tn ASCII
address.
For example, the following route command will configure a routing
entry to a packet radio with a MAC address of 1234-5678, and an
.Tn IP
address 10.11.12.13, reachable via the
.Em strip0
interface:
.Pp
.br
.in 10
route add -host 10.11.12.13 -link strip0:1:2:3:4:5:6:7:8
.br
.in 5
.Pp
Generalising from this example to other
.Tn IP
addresses and to other 8-digit MAC addresses should be clear.
.Sh RADIO CONFIGURATION
The
.Tn Metricom
.Em Ricochet
packet radios can auto-baud at speeds up to 38.4K baud.
At higher speeds -- 57600 or 115200 -- the packet radio cannot autobaud.
When running at high speeds, the packet radio's serial port should be
manually configured to permanently run at the desired speed.
Use a terminal emulator and the Hayes command
.Ic ATS304=115200
to set the serial baudrate to the specified number (or 0 for autobaud).
The command
.Ic AT\*[Am]W
will then save the current packet radio state in non-volatile memory.
.Pp
.Tn Metricom
.Em Ricochet
packet radios can operate in either
.Dq modem-emulation
mode or in packet mode (i.e.
.Qq star mode ) .
The
.Nm
driver automatically detects if the packet radio has fallen out of
.Qq star mode ,
and resets it back into
.Qq star mode ,
if the baud rate was set correctly by
.Xr slattach 8 .
.\" .Sh DIAGNOSTICS
.Sh SEE ALSO
.Xr arp 4 ,
.Xr inet 4 ,
.Xr sl 4 ,
.Xr ifconfig 8 ,
.Xr route 8 ,
.Xr slattach 8
.Sh HISTORY
.Nm
was originally developed for the
.Tn Linux
kernel by Stuart Cheshire of Stanford's Operating Systems and
Networking group, as part of Mary Baker's MosquitoNet
.Sy http://mosquitonet.stanford.edu/mosquitonet.html
project.
.Pp
This
.Nm
driver was ported to
.Nx
by Jonathan Stone at Stanford's Distributed Systems Group and first
distributed with
.Nx 1.2 .
.Sh BUGS
Currently,
.Nm
is IP-only.
Encapsulations for
.Tn AppleTalk
and
.Tn ARP
have been defined, but are not yet implemented in this driver.
.Pp
.Nm
has not been widely tested on a variety of lower-level serial drivers.
.Pp
The detection and resetting of packet radios that crash out of
.Qq star mode
does not always work in this version of the driver.
One workaround is to kill the
.Xr slattach 8
process,
.Xr ifconfig 8
the
.Nm
interface down, and then start a new slattach and rerun ifconfig
to enable the interface again.