 |
Index for Section 7 |
|
 |
Alphabetical listing for L |
|
 |
Bottom of page |
|
le(7)
NAME
le - LeMAC Ethernet interface
SYNOPSIS
config_driver le
DESCRIPTION
The le interface provides access to a 10 Mb/s Ethernet network through the
LeMAC controller.
The host's Internet address is specified at boot time with an SIOCSIFADDR
ioctl. The le interface employs the address resolution protocol described
in arp(7) to map dynamically between Internet and Ethernet addresses on the
local network.
The SIOCSPHYSADDR ioctl can be used to change the physical address of the
LeMAC. The SIOCRPHYSADDR ioctl can be used to read the physical address of
the LeMAC.
The SIOCADDMULTI and SIOCDELMULTI ioctls can be used to add or delete
multicast addresses. The LeMAC recognizes a maximum of 12 multicast
addresses.
The SIOCRDCTRS and SIOCRDZCTRS ioctls can be used to read or ``read and
clear'' the Ethernet driver counters. The argument to these two ioctls is a
pointer to a counter structure, ctrreq, found in <net/if.h>.
The SIOCENABLBACK and SIOCDISABLBACK ioctls can be used to enable and
disable the interface loopback mode respectively.
ERRORS
The diagnostic error messages contain relevant information provided by the
LeMAC.
[le%d: can't handle af%d]
The interface was handed a message with addresses formatted in an
unsuitable address family, and the packet was dropped.
[le%d: leprobe: failed to get buffer memory for softc
The le driver was unable to allocate memory for internal data
structures.
[le%d: failed to get IRQ config valve]
The IRQ for the LeMAC is missing from the CMOS configuration data or is
incorrect.
[le%d: bad IRQ, must be one of 5, 10, 11, or 15
The IRQ for the LeMAC is missing from the CMOS configuration data or is
incorrect.
[le%d: SIOCADDMULTI failed, multicast list full
Too many multicast requests have been made.
[le%d: failed to get memory info]
The shared memory block for the LeMAC's local RAM buffer is missing
from the CMOS configuration data.
[le%d: cannot read station address]
The station address PROM on the LeMAC is corrupt or inaccessible.
[le%d: queue overflow, dropping one TX buf, count=%d
The hardware transmit queue has been overflowed.
[le%d: I refuse to delete the broadcast address from my hash table
An attempt was made to delete the Ethernet broadcast address of ff-ff-
ff-ff-ff.
EXAMPLES
To obtain the physical address of the adapter, use the SIOCRPHYSADDR ioctl
as in the following program example:
#include <stdio.h> /* standard I/O */
#include <errno.h> /* error numbers */
#include <sys/socket.h> /* socket definitions */
#include <sys/ioctl.h> /* ioctls */
#include <net/if.h> /* generic interface structures */
main() {
int s,i;
struct ifdevea devea;
/* Get a socket */
s = socket(AF_INET,SOCK_DGRAM,0);
if (s < 0) {
perror("socket");
exit(1);
}
strcpy(devea.ifr_name,"le0");
if (ioctl(s,SIOCRPHYSADDR,&devea) < 0) {
perror(&devea.ifr_name[0]);
exit(1);
}
printf("Address is ");
for (i = 0; i < 6; i++)
printf("%X ", devea.default_pa[i] & 0xff);
printf("\n");
close(s);
}
To enable external loopback, use the SIOCENABLEBACK ioctl as in the
following program example:
#include <stdio.h> /* standard I/O */
#include <errno.h> /* error numbers */
#include <sys/socket.h> /* socket definitions */
#include <sys/ioctl.h> /* ioctls */
#include <net/if.h> /* generic interface structures */
main() {
int s;
struct ifreq data;
/* Get a socket */
s = socket(AF_INET,SOCK_DGRAM,0);
if (s < 0) {
perror("socket");
exit(1);
}
strcpy(data.ifr,"le0");
if (ioctl(s,SIOCENABLEBACK,&data) < 0) {
perror("SIOCENABLEBACK:");
exit(1);
}
close(s);
}
SEE ALSO
arp(7), inet(7), netintro(7)
 |
Index for Section 7 |
|
 |
Alphabetical listing for L |
|
 |
Top of page |
|