 |
Index for Section 7 |
|
 |
Alphabetical listing for F |
|
 |
Bottom of page |
|
fza(7)
NAME
fza - DEFZA FDDI Network Interface
SYNOPSIS
config_driver fza
DESCRIPTION
The fza interface is a high speed TURBOchannel bus to a 100 Mbit/second
Fiber Distributed Data Interface (FDDI) timed token ring network adapter.
The fza interface allows the host system to be an FDDI single attachment
station.
The host's Internet address is specified at boot time with an SIOCSIFADDR
ioctl. The fza interface employs the address resolution protocol described
in arp(7) to map dynamically between Internet and FDDI addresses on the
local network.
The Maximum Transmit Unit (MTU) size for fza interface is 4352 bytes, which
is substantially larger that the 1500 bytes maximum packet size of the
Ethernet interfaces. The fza interface does not support the BSD trailer
encapsulation.
The SIOCRPHYSADDR ioctl can be used to read the physical address of the
DEFZA adapter. The physical address of the DEFZA adapter cannot be changed.
The SIOCADDMULTI and SIOCDELMULTI ioctls can be used to add or delete
multicast addresses. The DEFZA supports up to 64 multicast addresses. The
argument to the latter ioctls is a pointer to an ifreq structure found in
<net/if.h>.
The SIOCRDCTRS ioctl can be used to read the FDDI driver counters. The
DEFZA adapter status and characteristics can also be read through this
ioctl by providing an FDDI_STATUS flag. 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 SIOCEEUPDATE ioctl can be used to update the adapter's firmware.
The SIOCIFRESET ioctl can be used to reset the adapter.
Some of the FDDI link characteristics can be changed by the SIOCIFSETCHAR
ioctl. These characteristics include Request Token Rotation Time (T_REQ),
Valid Transmission Time, Link Error Monitor (LEM) Threshold, Restricted
Token Timeout, and Ring Purger Enable. The latter two characteristics are
supported by the firmware revision V1.2 and higher. The T_REQ, Valid
Transmission Time, and Restricted Token Timeout value are based on 80 ns
units. The setable FDDI attributes are shown in the following table.
____________________________________________________________________
Attribute Name Range Default Value
____________________________________________________________________
Requested Token Rotation Time 4.0ms to 167.77208ms 8.0ms
Valid Transmission Time 2.35ms to 5.2224ms 2.621ms
Restricted Token Timeout 0ms to 10000ms 1000ms
LEM Threshold 5 to 8 8
Ring Purger Enable True or False True
____________________________________________________________________
For a LEM Threshold attribute value of N, the threshold value is 10 of
power -N. The Ring Purger can be disabled by setting the Ring Purger
Enable field value to zero. The unchanged characteristics need to be filled
by a -1 or 0xffffffff value. The argument to this ioctl is a pointer to an
ifchar structure found in <net/if.h>. To set the FDDI link characteristics,
use the following form:
ioctl(s, SIOCIFSETCHAR, ifchar)
struct ifchar *ifchar;
The following example changes the Restricted Token Timeout value to 16ms
and disables the Ring Purger mode:
int s ;
struct ifchar ifchar;
if((s = socket( AF_INET, SOCK_DGRAM, 0 )) < 0 )
exit(1);
strcpy(&ifchar.ifc_name[0],"fza0");
ifchar.ifc_treq = 200000 ; /* 200000 * 80 ns = 16 ms */
ifchar.ifc_rtoken = -1; /* unchanged */
ifchar.ifc_tvx = -1; /* unchanged */
ifchar.ifc_lem = -1; /* unchanged */
ifchar.ifc_ring_purger = 0 ; /* disable the ring purger */
if(ioctl( s, SIOCIFSETCHAR, &ifchar) < 0 )
exit(1);
The FDDI link characteristics can be displayed by using the following
command:
netstat -I interface -s
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,"fza0");
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,"fza0");
if (ioctl(s,SIOCIFRESET,&data) < 0) {
perror("SIOCIFRESET:");
exit(1);
}
close(s);
}
ERRORS
Diagnostic error messages contain information provided by the fza driver.
For example:
fzan: fzaprobe selftest failed
The DEFZA adapter did not pass the power-up selftest during
autoconfiguration.
fzan: port init failed
The DEFZA adapter cannot be initialized.
fzan: port in the Halt State -> CNS hardware fault
The DEFZA adapter went to the Halt state because of an adapter firmware
fault.
fzan: LINK unavailable
The network link went down which means than the station is not on the
FDDI ring.
fzan: Ring Init Received
A Ring Initialization unsolicited event has been received from the
fza%d interface.
fzan: Invalid T_REQ value
An invalid T_REQ value was discovered by the adapter while user was
trying to change the FDDI link characteristics.
SEE ALSO
netstat(1), arp(7), inet(7), fddi_config(8)
 |
Index for Section 7 |
|
 |
Alphabetical listing for F |
|
 |
Top of page |
|