ETHER(3) ETHER(3)
NAME
ether - Ethernet device
SYNOPSIS
bind -a #ln /net
/net/ethern/clone
/net/ethern/[0-7]
/net/ethern/[0-7]/data
/net/ethern/[0-7]/ctl
/net/ethern/[0-7]/stats
/net/ethern/[0-7]/type
/net/ethern/[0-7]/ifstats
DESCRIPTION
The Ethernet device #ln serves a three-level directory rep-
resenting a physical Ethernet interface: AMD LANCE, 3Com
3C509, 3Com 3C905, Intel 82557, and others. If n is not
given it is taken to be 0.
The top level directory has a single directory named ethern,
where n is the interface number, starting from 0, assigned
in some platform-dependent way. That directory contains a
conversation directory for each of 8 Ethernet packet types,
and a clone file.
Opening the clone file returns a file descriptor open on the
ctl file of an unused conversation directory. Reading the
ctl file returns a text string representing the number of
the connection. The connection is controlled by writing
textual commands to the associated ctl file:
connect type
Set the type of Ethernet packets received on the con-
nection; the type is expressed as an integer constant
(in hexadecimal if it has a leading 0x, octal if it has
a leading 0, and otherwise decimal). For instance,
Ethernet packets carrying IP version 4 use type 0x800.
The value -1 stands for all types. The value -2 causes
at most the first 64 bytes of all types of packets to
be copied to the conversation. If several conversa-
tions are assigned the same packet type, a copy of the
packet is given to each.
promiscuous
Set the interface to capture all packets regardless of
destination address. An interface normally receives
only packets whose destination address is that of the
interface or is the broadcast address, ffffffffffff.
The interface remains promiscuous until the control
Page 1 Plan 9 (printed 10/30/25)
ETHER(3) ETHER(3)
file is closed. The extra packets are received only by
conversations of the same type as the incoming packet
(or of type -1).
addmulti address
Add the given MAC multicast address to the set of mul-
ticast addresses accepted by the interface. Address is
a twelve digit MAC address in hexadecimal.
remmulti address
Remove address from the set of multicast addresses
accepted by the interface.
Incoming Ethernet packets are demultiplexed by destination
address and packet type and queued for reading by the corre-
sponding open connection(s). Each read of the data file
returns each packet in turn, including the Ethernet header.
A read will terminate at packet boundaries. Each write to
the data file causes a packet to be sent. The Ethernet
address of the interface is inserted into the packet header
as the source address.
Reading the type file returns the decimal value of the
assigned Ethernet packet type.
Reading the stats file returns status information, the value
of counters, the `promiscuous' state, and the Ethernet MAC
address of the interface.
Reading the ifstats file returns statistics and status
information specific to a given hardware interface.
SOURCE
/os/port/devlance.c
/os/port/netif.c
/os/*/devether.c
/os/*/ether*.c
SEE ALSO
ip(3)
Page 2 Plan 9 (printed 10/30/25)