xr(7) CLIX xr(7)
NAME
xr - STREAMS IDP and RIP multiplexor
DESCRIPTION
The xr device is a STREAMS driver that provides the services of the
Internet Datagram Protocol (IDP) to applications and other protocols on
the host machine. It automatically updates the XNS routing tables
maintained in the kernel by listening to XNS Routing Information Protocol
(RIP) network traffic. IDP is the connectionless network layer protocol
of the Xerox Network System (XNS) Protocol suite.
The clone opens may be performed on the xr device to find the first
available free minor device.
The xr device communicates on its upper streams using the AT&T Transport
Provider Interface (TPI), providing support for the AT&T Transport Layer
Interface (TLI) to applications. The xr device provides the T_CLTS
connectionless protocol service (as specified by TPI/TLI) to its upstream
clients. The xr device communicates on its lower streams using the AT&T
Logical Link Interface (LLI) expecting that its lower streams are bound to
the Service Access Point (SAP) XNS_SAP (0x600) before they are linked.
The address format used in the bind, unit datagram (unitdata) request, and
unitdata indication operations is an array of 12 bytes. The network
number is contained in the first four bytes of the array, the host address
is contained in the next six bytes of the array, and the socket number is
contained in the last two bytes of the array. Each of the three numbers
(network, host, and socket) is filled in with network order (most
significant byte first.)
For example, to fill in an address structure with the network address
0x000134ab, host address 08-00-36-ab-cd-03, and socket number 0x0045, the
following C code is used:
char addr[12];
addr[0] = 0x00;
addr[1] = 0x01;
addr[2] = 0x34;
addr[3] = 0xAB;
addr[4] = 0x08;
addr[5] = 0x00;
addr[6] = 0x36;
addr[7] = 0xAB;
addr[8] = 0xCD;
addr[9] = 0x03;
addr[10] = 0x00;
addr[11] = 0x45;
Only the socket part of the address is meaningful in bind requests,
2/94 - Intergraph Corporation 1
xr(7) CLIX xr(7)
telling xr which socket to bind. On return from a successful bind, the
entire bound address will be placed in the ret address parameter buffer.
The socket number returned may be different than the one requested if that
socket is already in use elsewhere in the system.
The xr device supports TLI options associated with unitdata requests. The
options format is the following xropts_s structure defined in
<sys/xns/xns.h>:
typedef unsigned char u8;
typedef struct xropts_s {
u8 xro_radius; /* Send to nets radius hops away */
char xro_pad[3]; /* Force 4 byte alignment */
} XR_OPTS;
The xro_radius field contains the number of hops away to send a broadcast
or multicast datagram. The xr device sends the packet to all networks
that are radius hops away. This parameter is used to perform expanding
rings.
FILES
/dev/xr
Special device for xr.
/usr/include/sys/xns/xns.h
XNS header file.
/usr/include/sys/xns/common.h
XNS common definitions header file.
/usr/include/sys/xns/mi.h
XNS miscellaneous header file.
NOTES
On CLIX systems, incd is usually responsible for creating the network
configuration of streams drivers/modules/multiplexors, including xr.
Manual configuration is necessary only in rare circumstances.
RELATED INFORMATION
Commands: incd(8)
Files: xpe(7), xs(7), clone(7)
2 Intergraph Corporation - 2/94