fta - DEFTA, DEFPA, and DEFEA FDDI Network Interfaces
config_driver fta
This is the entry in the configuration file.
The fta interface can be a high-speed TURBOchannel
(DEFTA), PCI (DEFPA), or EISA (DEFEA) adapter to a 100
megabit per second Fiber Distributed Data Interface (FDDI)
timed token ring network. The fta interface provides the
host system with a direct FDDI network connection and
enables the host to function as a station capable of
transmitting, receiving, and repeating data on the ring.
The adapter uses DMA transfers for both transmitted and
received data. The driver initializes the DMA engine
before placing the adapter on the ring.
The adapter can operate in full duplex mode. To allow the
fta interface to operate in full duplex mode, connect two
like adapters back-to-back. The full duplex mode is
enabled or disabled by using the fddi_config command.
The host's Internet address is specified at boot time with
an SIOCSIFADDR ioctl. The fta interface employs the
address resolution protocol described in arp(7) to map
dynamically between Internet and physical addresses on the
FDDI ring.
The maximum frame size for the fta interface is 4500
bytes, which is substantially larger that the 1500 bytes
maximum packet size of the Ethernet interfaces. The fta
interface does not support the BSD trailer encapsulation,
which is specific to the VAX architecture.
The SIOCRPHYSADDR ioctl can be used to read the physical
address of the adapter. The physical address of the
adapter can be changed by use of the SIOCSPHYSADDR ioctl.
The SIOCADDMULTI and SIOCDELMULTI ioctls can be used to
add or delete multicast addresses. The adapter supports up
to 62 multicast addresses.
The SIOCRDCTRS ioctl can be used to read the FDDI driver
counters. The adapter status and characteristics can also
be read through this ioctl by providing one of the following
flags: FDDI_STATUS, CTR_FDDI, CTR_FDDI_EXTENDED,
FDDIMIB_PATH, FDDIMIB_SMT, FDDIMIB_MAC, FDDIMIB_PORT, and
FDDIMIB_ATTA. The argument to this ioctl is a pointer to
a counter or status structure, ctrreq, found in
<net/if.h>.
The SIOCENABLBACK and SIOCDISABLBACK ioctls can be used to
enable and disable the interface loopback mode, respectively.
The driver supports internal loopback only.
The SIOCIFRESET ioctl can be used to reset the adapter.
Diagnostic messages contain information provided by the
fta driver and the adapter. The following messages contain
information about the adapter's state, and are printed on
the console, where n is the adapter number:
ftan: Reset
ftan: Upgrade
ftan: DMA Unavailable
ftan: DMA Available
ftan: Link Available
ftan: Link Unavailable
ftan: Halted
Once in the DMA Available state, the adapter goes to the
Link Unavailable state and finally to the Link Available
state.
The following messages contain information about adapter
events: The adapter received a directed beacon. The
adapter has detected a duplicate token. On point-to-point
links, this can occur when going into full-duplex mode,
and is not a problem. There is a parity error on the host
bus. The adapter received an illegal length packet. A
station on the ring is transmitting illegal length packets.
This might indicate a router problem. A link transmit
underrun occurred. A link transmit failure occurred.
The adapter has detected a CRC error. This can be either
a transmit or receive station problem. If this occurs
intermittently, the cable connectors might be dirty. If
this is a steady problem and from the same source, the
transmitting station's adapter is faulty. The adapter has
detected a parity error in the packet memory. A PC Trace
has been initiated. The adapter received a PC trace. The
adapter's receive queue is full and packets are being
dropped. A ring beacon was initiated. A ring purge error
has occurred.
The following are diagnostic error messages about driver
events: The driver could not start the thread that perform
error recovery. This error is not fatal. If an error
occurs, the driver will not reinitialize the adapter. The
adapter cannot transition to the DMA Available state. A
fatal error occurred, and the driver cannot recover. The
driver is off line. The adapter self test failed. The
driver accessed an illegal location on the adapter.
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;
static struct ifdevea devea;
/* Get a socket */
s = socket(AF_INET,SOCK_DGRAM,0);
if (s < 0) {
perror("socket");
exit(1);
}
strcpy(devea.ifr_name,"fta0");
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 reset the adapter, use the SIOCIFRESET 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_name,"fta0");
if (ioctl(s,SIOCIFRESET,&data) < 0) {
perror("SIOCIFRESET:");
exit(1);
}
close(s); }
Commands: netstat(1), fddi_config(8)
Network Information: arp(7), inet(7), intro(7)
fta Subsystem Attributes: sys_attrs_fta(5)
fta(7)
[ Back ] |