Manual Page Result
0
Command: vb | Section: 7 | Source: Digital UNIX | File: vb.7.gz
vb(7) Miscellaneous Information Manual vb(7)
NAME
vb - VME backplane driver Ethernet interface
SYNOPSIS
controller vb0 at vba0
DESCRIPTION
The vb interface provides access to an Ethernet network through the VME
backplane driver, which acts as an Ethernet Datalink Layer driver.
This interface allows VME-based systems to communicate directly over
the VMEbus to other VME-based systems on the same backplane, or on
other Ethernet connected systems outside the backplane through a gate-
way node on the backplane.
The VME backplane interface requires the user to modify the
/etc/sysconfigtab file on the target node in order to correctly config-
ure the driver.
Configuring the vb Network Driver
The vb driver attributes are configurable on a per-node or per-vb-net-
work basis, as described in this section. If you wish to change a vb
driver attribute from its default or current value, you enter the at-
tribute and its value between the label vb: and the vb driver's VBA_Op-
tion entry in sysconfigtab.
You also must edit the following VMEbus address space parameters in
/etc/sysconfigtab to configure unique system VMEbus windows for every
node in a vb network: A32_Base, A32_Size, A24_Base, A24_Size, and
A16_Mask. These parameters are described in the vme_manual_setup(7)
reference page.
The following vb driver attributes are configurable on a per-node basis
in sysconfigtab; values can differ on each node: Specifies the driver
name as an unquoted ASCII string. The default value is vb. Specifies
the startup state of this driver. The default value is 0 (off). You
must change this value to 1 (on) to startup the vb network. Specifies
address modifiers for the VMEbus address space used for the client
node's message queues. You must specify the numerical equivalent of
the desired set of address modifier (AM_) flags, among the following:
AM_A24 (0x1), AM_SUPER (0x2), and AM_DATA (0x4).
You can map a node's queue memory to the VMEbus in either the
A24 or A32 address space (AM_A24 set or clear), either in super-
visory mode or user mode (AM_SUPER set or clear), and either in
data or program space (AM_DATA set or clear). The default is
AM_A24|AM_SUPER|AM_DATA, which equals 0x7. A32 program space in
user mode would be represented as 0x0 (no flags set). Specifies
the size (in bytes) of an area within the system VMEbus window
(as characterized by VB_Client_Addr_Type) to be used by the vb
driver for its communication queues. The bigger the size, the
greater the number of message packets that will be preallocated
for communication.
The default size is 0x40000 (256 KB), which is enough for 150
packets to be reserved for the queues. If there are 10 nodes in
the network, this default allows for 15 packets to be devoted
exclusively to communication between the local node and each of
the other nodes. Specifies an interface for determining whether
messages have been sent to the vb driver's queues: interrupt (1)
or polled (0). You should use the default value of 1 for better
performance. The vb driver uses module switch interrupts.
If you use the interrupt interface, you must ensure that the A16
system VMEbus base address for your DIGITAL AXPvme or Alpha VME
system is unique among the nodes in the backplane, as configured
in /etc/sysconfigtab. Specifies the milliseconds interval be-
tween remote node liveness tests. By default, a node checks
whether a remote node is still alive every 10000 milliseconds
(10 seconds).
Be careful if you modify this value. An interval that is too
short could cause nodes to lose liveness with each other too
easily, and a lost node must be rebooted to resume communica-
tion. An interval that is too long (or 0, which specifies no
liveness checking) could cause delays in determining that a re-
mote node has gone down. The node could attempt to communicate
with a shut down node after the VMEbus mapping is no longer
valid. Specifies the A16 offset for inbound module switch in-
terrupts. You use module switches to create vb driver inter-
rupts on the backplane. You can use four module switches for
interrupts for each system VMEbus A16 base address. For each
module switch, a particular A16 offset value must be specified
for VB_Mailbox_Offset and a particular vector number must be
specified in the Vector field of the VBA_Option entry: A16 off-
set 0x21, VBA_Option vector 0x1140 A16 offset 0x23, VBA_Option
vector 0x1150 A16 offset 0x25, VBA_Option vector 0x1160 A16 off-
set 0x27, VBA_Option vector 0x1170
The default offset is 0x23 (switch 1). If the A16 system VMEbus
base address for a given node A is 0x300, remote nodes can use
offset 0x23 added to 0x300, or 0x323, to cause an interrupt on
node A when the vb driver writes to the address. The A16 system
VMEbus base address must be unique among all nodes in the back-
plane. However, the offset need not be unique.
If you change the module switch from the default of 1, this
change must be reflected in both the VB_Mailbox_Offset attribute
and the Vector field of the VBA_Option entry for interrupts to
work on the system. Specifies the maximum number of nodes al-
lowed in the vb network. The default value is 10. The maximum
you specify cannot exceed 32. This value is examined by the vb
box manager only, and determines the maximum number of nodes
that may enter the vb network while the box manager is booted.
All other client nodes adjust their maximum-nodes value accord-
ing to the box manager's value and do not have to know the box
manager's value ahead of time. Specifies the offset from the
base VMEbus window address (A24 or A32, as characterized by
VB_Client_Addr_Type) at which to map client queues for other
nodes to see. The default is 0x0, which maps the queues at the
beginning of the base address.
You must be able to adjust queue mappings because, if other VME-
bus drivers in the system map memory to specific VMEbus ad-
dresses, there may be conflicts. In the event of a conflict,
you can either adjust a system VMEbus window base address or
modify the offset value such that the queues start at a differ-
ent VMEbus address.
If you are not planning to use any other VMEbus devices in your
systems, leave the default at 0x0 for all nodes. If you must
change the offset, make sure the value is on a page boundary
(0x2000 bytes). Specifies the Ethernet hardware address of the
node as an unquoted ASCII string; for example, 08-00-2b-
e2-48-48. You must fill in this field with the correct Ethernet
hardware address. The vb network address is derived from the
unique Ethernet hardware address and is the shadow Ethernet ad-
dress. If this value is not filled in, the vb driver does not
start up and an error message is displayed.
One way to obtain the Ethernet hardware address of a running
system is netstat -I ln0 (or tu0 or other Ethernet device). You
can also obtain the Ethernet address at the console prompt of a
nonbooted system as follows: >>> show dev Specifies whether the
vb driver's probing of the box manager's well-known address
should time out after the number of minutes specified in
VB_Probe_Period or continue until the box manager comes up. The
default is to time out (1). You can modify the value to con-
tinue probing indefinitely (0). Specifies the number of minutes
to probe the box manager's well-known address before timing out
and exiting the driver. The default value is 1 minute. This
value is ignored if VB_Give_Up is set to 0. Specifies whether
to display information whenever the driver maps to a new node or
unmaps from a node. The default is not to display state changes
(0). If the vb driver starts up with this value set to 1, you
can track state changes beginning at startup. Reserved for fu-
ture use
The following vb driver attributes are configurable on a per-network
basis in sysconfigtab; values must match exactly on every node that
participates in the vb network: Specifies the well-known VMEbus address
of the box manager, to which the box manager maps global VMEbus data.
The default is 0xa40000. Be careful when modifying this value, as it
must match on every node in the vb network for communication to occur.
Specifies address modifiers for the box manager's well-known VMEbus ad-
dress. You must specify the numerical equivalent of the desired set of
address modifier (AM_) flags, among the following: AM_A24 (0x1),
AM_SUPER (0x2), and AM_DATA (0x4).
You can map the box manager's global data to the VMEbus in ei-
ther the A24 or A32 address space (AM_A24 set or clear), either
in supervisory mode or user mode (AM_SUPER set or clear), and
either in data or program space (AM_DATA set or clear). The de-
fault is AM_A24|AM_SUPER|AM_DATA, which equals 0x7. Be careful
when modifying this value, as it must match on every node in the
vb network. If you modify this value, make sure the address is
on a page boundary (0x2000 bytes). Specifies the maximum trans-
mit unit (mtu) size. Do not modify this value; it is not cur-
rently configurable.
The following code example shows a sample vb: entry in /etc/syscon-
figtab, including the associated VBA_Option bus configuration struc-
ture. (The use of VBA_Option is unchanged from previous releases in
the Version 4.0 stream.) Line breaks have been added to the VBA_Option
entry for clarity.
To change a vb driver attribute from its default or current value, you
edit /etc/sysconfigtab, search for the label vb:, and enter the at-
tribute and its value between the label vb: and the vb driver's VBA_Op-
tion entry. In this example, only the VB_Startup_State and VB_Netid
parameters have been modified from their defaults. These modifications
enable the vb driver to start up and participate in a vb network. Af-
ter you complete your modifications, you close the file and reboot the
system. vb: # # %%%VB #
VB_Startup_State = 1
VB_Netid = 08-00-2b-e2-48-48
VBA_Option = Manufact_Name - 'DIGITAL',
Product_Name - 'VME Backplane Network Driver',
Bus_Instance - 0, Driver_Name - vb, Driver_Instance -
0,
Csr1 - 0, Csr2 - 0, Vector - 0x1150, Bus_Priority - 7,
Type - C, Adpt_Config - N
Related ioctl Commands
The host's Internet address is specified at boot time with an SIOCSI-
FADDR ioctl. The vb interface employs the address resolution protocol
described in arp(7) to map dynamically between Internet and Ethernet
addresses on the local network.
The SIOCRPHYSADDR ioctl can be used to read the physical address of the
VME backplane node. The SIOCSPHYSADDR ioctl can not be used to change
the physical address of the VME backplane node. The VME backplane net-
work does not support DECnet.
The SIOCADDMULTI and SIOCDELMULTI ioctls can be used to add or delete
multicast addresses. The VME backplane driver recognizes a maximum of
64 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.
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,"vb0");
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); }
DIAGNOSTIC MESSAGES
The following diagnostic messages contain relevant information provided
by the VME backplane driver, and are not errors:
VB: VME Backplane Driver The backplane driver is not configured to run.
Reconfigure the VB_Startup_State attribute to 1 in the vb: backplane
driver subsystem in sysconfigtab. Driver exiting.... The VME back-
plane driver is not configured on this system. This is the default
state of the VME driver, since it must be configured, by setting
VB_Startup_State to 1, in order to run. This message is not an error.
This node's VME address space contains the user-configured address for
the box manager node as specified in the sysconfigtab file. Therefore,
this is the box manager node. One and only one node in a backplane
network should have this message appear at startup. This message will
appear on a node that has succesfully entered the backplane network.
This message will appear when a node in the VME backplane network is
shutdown. This is a normal diagnostic message.
ERRORS
The following error messages may appear at system startup: The back-
plane driver has been configured to be turned on, but the Ethernet ad-
dress in the file sysconfigtab has not been changed to reflect the Eth-
ernet hardware address of the node. This information must be supplied
in order for the node to be entered in the VME Backplane network. An-
other device is mapped to the address specified as the box manager well
known address in the sysconfigtab file. Be sure to reconfigure the box
manager address such that it does not overlap another devices's CSR ad-
dress range.
The following error messages may appear after system startup: These
messages indicate that the vb driver was unable to allocate memory for
internal data structures. These VME mapping errors are generally
caused by misconfigured systems on the backplane network. The vb dri-
ver was unable to initialize the network interface. Too many multicast
requests have been made.
RELATED INFORMATION
Interfaces: vme_manual_setup(7) delim off
vb(7)