ETHERNET(7) ETHERNET(7)
NAME
ethernet - Ethernet controllers
DESCRIPTION
IRIX supports local-area networking with Ethernet. The Ethernet protocol
is supported with a hardware controller and a kernel driver. Though the
controllers are different among the various hardware platforms, their
drivers provide the same programming interface to networking routines.
Most ethernet controllers are named using the following convention: the
prefix is `e' and the suffix ('N') is the controller unit number.
However, not all drivers follow this, as shown below:
Name Type Model
ec0 on-board Indigo, Indigo2, Indy, CHALLENGE S/M (10baseT)
ec0 on-board O2 (10/100baseTX)
ec1 PCI O2 (10/100baseTX)
et0 on-board POWER Series, Challenge/Onyx systems (10baseT)
etN HIO POWER Series, Challenge/Onyx systems (10baseT)
ef0 on-board OCTANE, Origin Series Fast Ethernet (10/100baseTX)
efN XIO OCTANE, Origin Series Fast Ethernet (10/100baseTX)
epN HIO CHALLENGE/Onyx, POWER CHALLENGE/POWER Onyx (10baseT)
fxpN VME CHALLENGE/Onyx, POWER CHALLENGE/POWER Onyx (10baseT)
gfeN GIO Indy, Indigo, Indigo2, CHALLENGE S (10/100baseTX)
vfeN VME CHALLENGE/Onyx, POWER CHALLENGE/POWER Onyx (10/100baseTX)
Depending on the model, several Ethernet controllers are supported,
allowing the system to act as a gateway among different local networks.
The Ethernet boards are initialized during system startup from
/etc/init.d/network (see network(1M) for details).
IRIX implements the Ethernet encapsulation format. Each packet has a
14-byte header, as defined in the #include file <netinet/if_ether.h>:
struct ether_header {
u_char ether_dhost[6]; /* destination address */
u_char ether_shost[6]; /* source address */
u_short ether_type; /* packet type */
};
The packet type determines which kernel protocol routine is called to
process the packet data. Examples of common packet types are IP, ARP,
and DECnet.
On systems with 10/100baseTX capability, auto-negotiation is enabled by
default; through auto-negotiation, the ethernet transceiver will select
the highest performance common connection technology between a local host
and a remote host. For the OCTANE and Origin systems, refer to
/var/sysgen/master.d/if_ef if the manual selection of ethernet speed and
duplex mode is desired. For the O2 on-board ethernet, the PROM variable
Page 1
ETHERNET(7) ETHERNET(7)
'ec0mode' can be used to select the desired speed (legal values are: 10,
100, f100, and h100). For the O2 add-on ethernet, refer to
/var/sysgen/master.d/if_ecf if the manual selection of ethernet speed and
duplex mode is desired.
DIAGNOSTICS
Various error messages are printed by the kernel when a problem is
encountered. The message is preceded by the controller name, e.g., et0.
Serious errors are flagged with a dagger (†). If they occur repeatedly,
contact your product support service for assistance. By default, many
non-serious errors will not cause a diagnostic message to be displayed on
the console. To enable all driver diag messages, use the command
ifconfig xxx debug where xxx is the ethernet network interface name.
The following error messages are common to all controllers:
packet too small (length = X)
packet too large (length = X)
The controller received a packet that was smaller than the
minimum Ethernet packet size of 60 bytes or larger than the
maximum of 1514. This problem is caused by another machine with
a bad Ethernet controller or transceiver.
stray interrupt
early interrupt
The controller interrupted the kernel before the device was
initialized. This error is innocuous; it occurs after booting a
kernel over the network from the PROM monitor.
died and restarted
The controller failed to respond after a certain amount of time
and the driver had to reset it.
cannot handle address family
This message indicates an error in the kernel protocol handling
routines.†
The following messages are specific to the ec and et controllers.
no carrier: check Ethernet cable
Carrier was not detected when attempting to transmit, probably
because the Ethernet cable is unplugged from the machine (but
possibly due to a broken transceiver, transceiver cable, or
10baseT hub).
late collision
The controller tried to transmit a packet but received a late
collision signal from another machine. Usually indicates a
problem in the Ethernet cable layout.
Page 2
ETHERNET(7) ETHERNET(7)
transmit buffer error
receive buffer error
transmit underflow
receive packet overflow
The controller ran out of memory when trying to transmit or
receive a packet.†
unknown interrupt
The controller interrupted the kernel but the reason for the
interrupt is missing.†
babbling
The kernel tried to transmit a packet larger than the maximum
size.†
machine has bad Ethernet address: x:x:x:x:x:x
The Ethernet address obtained from non-volatile RAM during
controller initialization was corrupted.†
memory timeout
The LANCE Ethernet chip failed to access its local memory.†
Counts of Ethernet input and output errors can be displayed with the
command netstat -i (see netstat(1M)). Typically, output errors and
collisions occur due to mismatched controller and transceiver
configurations. Input error statistics include counts of the errors
listed above and counts of protocol input queue overflows.
Configuring additional ethernet ports on Challenge/Onyx L/XL systems
Onyx and Challenge L/XL systems only enable the ethernet on the master
IO4 by default. To activate the ethernet interfaces on other IO4 boards,
a vector line must be added to /var/sysgen/system/irix.sm. The following
vector line configures the ethernet interface on the IO4 in slot 13 as
et1:
VECTOR: bustype=EPC module=epcether unit=1 slot=13
The first two options (bustype and module) are mandatory and tell lboot
that you're configuring an ethernet interface. The "unit" option
specifies the ethernet unit number. The unit number must be greater than
0. The "slot" option specifies the slot of the IO4 whose ethernet
interface is being configured as et1.
After updating the irix.sm file, autoconfig(1m) should be executed to
reconfigure the kernel. To make the new interface available, reboot the
machine with the new kernel.
SEE ALSO
netstat(1M), network(1M), socket(2), ip(7P), raw(7P), snoop(7P),
drain(7P), ioconfig(1M)
Page 3
ETHERNET(7) ETHERNET(7)
NOTE
IEEE 802.3 Ethernet encapsulation is not currently supported. Some
Ethernet controllers will support IEEE 802.3 and Ethernet v.1/v.2
electrical specifications. Contact your product support service for more
information.
Page 4