Index Click this button to go to the index for this section.


mfa(7)

NAME

mfa - DEMFA FDDI Network Interface

SYNOPSIS

controller mfa0 at xmi? vector mfaintr

DESCRIPTION

The mfa interface is a high speed XMI adapter to a 100 Mbit/second Fiber Distributed Data Interface (FDDI) timed token ring network adapter. The mfa 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 mfa interface employs the address resolution protocol described in arp(7) to map dynamically between Internet and FDDI addresses on the local network. The maximum frame size for the mfa interface is 4500 bytes, which is substantially larger that the 1500 bytes maximum packet size of the Ethernet interfaces. The mfa 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 DEMFA adapter. The physical address of the DEMFA 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 DEMFA supports up to 15 multicast addresses. The SIOCRDCTRS ioctl can be used to read the FDDI driver counters. The DEMFA adapter status and characteristics can also be read through this ioctl by providing a FDDISTATUS 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 SIOCIFRESET ioctl can be used to reset the adapter.

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; 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,"mfa0"); 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,"mfa0"); if (ioctl(s,SIOCIFRESET,&data) < 0) { perror("SIOCIFRESET:"); exit(1); } close(s); }

ERRORS

Diagnostic error messages contain information provided by the mfa driver. For example: mfan: port self test failed (string) The DEMFA adapter did not pass the power-up selftest during autoconfiguration. mfan: failed to allocate resources (string) The DEMFA is unable to allocate system memory or cluster mbufs for device initialization. mfan: port init (string) failed The DEMFA cannot transition to the initialized state. mfan: stray interrupt An interrupt has been received with no packets found. mfan: command (type = n) timed out An internal command to the device has failed to complete on time. mfan: command (type = n) failed, error code: 0xxx An internal command to the device has returned an error. mfan: Unsolicited Event: #n (unknown) The DEMFA has received an unknown type of unsolicited interrupt about the FDDI ring state. mfan: Unsolicited Event: string (state is n) The DEMFA has received an unsolicited interrupt, the FDDI ring state has been changed. mfan: Can't transition to Uninitialized State The DEMFA was unable to change FDDI characteristics and restart. mfan: multicast list full An attempt was made to add more than 15 multicast addresses to the device. mfan: port reset failed (string) The DEMFA has failed internal self test during a reset operation. mfan: port init failed (string) The DEMFA has failed to re-initialize after a reset operation. mfan: port halted (string) The DEMFA has encountered a hard error which should cause the device to reset.

RELATED INFORMATION

netstat(1), arp(7), inet(7), intro(7), fddi_config(8)