aarconfig(4)
NAME
aarconfig − ATM Address Resolver configuration file
SYNOPSIS
/etc/aarconfig
DESCRIPTION
The aarconfig file is a local database that associates ATM addresses with IP addresses. The file is used by the ATM Address Resolution setup program, aarsetup(1M), which manages the downloading of local information into the kernel. If changes are made to the aarconfig file, aarsetup(1M) must be rerun for the changes to take effect.
If an ATM ARP server does not exist on a subnet, an ATM/IP address pair must appear in each system’s local aarconfig file in order for the system to communicate with that node.
An ATM ARP server solves the problem of having to explicitly enter ATM/IP address pairs into a table at each node. When client interfaces come up, they register with the ARP server, which then sends an inverse ARP request to the client. The client responds with its IP address; the server then enters the information into its kernel-resident table. Clients may then resolve addresses with the server, using ARP requests. If an ATM ARP server is being used in a subnet, clients only need local information and server information in their own configuration files.
The format of an entry in aarconfig is:
InterfaceHostnameATM-AddressVCFlags
Items are separated by any number of SPACE and/or TAB characters. The first item is the physical interface on the local system which is attached to the subnet for this entry. It should be of the form “device unit;” an example is ba0. Hostname can be an IP hostname or address in the standard dot notation. The ATM address is a 20 byte address; its format is hexadecimal bytes (2 characters) separated by one or more colons (additional colons may be used for readability, if desired). The vc field specifies the virtual connection identifier (vci) for the connection to the host identified by this entry. The flag field gives information regarding the type of entry. Comment lines are allowed; they are indicated by a ‘#’ at the beginning of the line.
ATM addresses are 20 bytes. The first 13 bytes (called the prefix) are used by the switch for routing purposes; in general, they will be the same for addresses in the same subnet. The prefix is assigned by the switch and will be sent to the host when the ATM interface on the host system is configured. The predefined variable ‘prefix’ (see Variables section below) will be assigned the value received by the host from the switch at configuration time; this value may be referenced in the aarconfig file as ‘$prefix’.
The next 6 bytes (called the ESI) are used to uniquely identify a host system; in most of the examples given, the system’s hardware MAC address is used. The MAC address may be referenced in the aarconfig file as ‘$mac’. The final byte is a selector byte that may be used by the host for internal routing of data. Use of the predefined variable ‘sel’ will guarantee that an appropriate value for the given interface will be used.
Depending on the entry type, as determined by the flags field, some or all of the fields are required. All entries must have an interface and flags field; the host, atm address, and vc field vary depending on the entry type. An entry should never have both an ATM address field and a vc field; an ATM address indicates that Switched Virtual Circuits (SVCs) should be used for connections, and a vc indicates that Permanent Virtual Circuits (PVCs) should be used. The following section defines each flag type, and lists which of the host, atm address, and vc fields are required for that type. An empty field should be indicated by a hyphen ‘-’.
OPTIONS
Variables
Because the prefix portion of an ATM address specifies the ATM switch, a number of hosts specified in an aarconfig file may have ATM addresses who share the same prefix. To simplify setting up the aarconfig file, one can define variables that contain part of an ATM address. A variable’s name is an identifier consisting of a collection of no more than 32 letters, digits, and underscores (‘_’). The value associated with the variable is denoted by a dollar sign (‘$’) followed immediately by the variable name.
Variables may only be used in the ATM address field. They may not be used in any of the other fields in an entry.
Multiple variables may be concatenated to represent a single ATM address expression. A colon must be used to concatenate the variables. Thus, if one variable, v1, is set to ‘11:22’ and another, v2, is set to ‘33:44’, the sequence $v1:$v2 represents ‘11:22:33:44’. Hexadecimal numbers may also be included with variables in the expression. The expression ‘45:$v1:$v2’ would have the value ‘45:11:22:33:44’.
Variables are defined in the aarconfig file according to the following format:
set VARIABLE = EXPRESSION
where VARIABLE is the name of a variable and EXPRESSION is an expression concatenating one- or two-digit hexadecimal numbers and/or the values of variables that have been previously defined. The equal sign is optional, but the variable and expression must be separated by either whitespace (spaces or tabs), an equal sign, or both.
Several predefined variables are built in to the SunATM software. They include:
prefix the 13-byte prefix associated with the local switch.
mac the 6-byte MAC address associated with the local host or interface.
sel the default 1-byte Selector for the local interface.
macsel the concatenation of $mac:$sel.
myaddress the concatenation of $prefix:$mac:$sel, resulting in the default address for the local interface.
anymac a wild card representing any 6-byte ESI. Should only be used in ‘a’ entries.
anymacsel a wild card representing any 7-byte ESI and Selector combination. Should only be used in ‘a’ entries.
sunmacselN the concatenation of one of a series of reserved MAC addresses and $sel to create a block of reserved 7-byte ESI and Selector combinations which may be used in ATM ARP server addresses. N should be a decimal number in the range 0 - 199.
localswitch_server
the concatenation of $prefix, a unique reserved MAC address, and $sel. When used as a server address, restricts server access to clients connected to the local switch only.
In most network configurations, the ATM address assigned to the local interface will be myaddress; using this variable in the ‘l’ entry makes it possible to use identical aarconfig files on all clients using a given server.
The sunmacselN variables may be used to create well-known server addresses which are not bound to a particular system. The prefix portion is not included so the addresses may be used on systems connected to different switches. The ESI portion of a sunmacselN variable is one of a range of reserved MAC addresses. The base address is 08:00:20:75:48:10; to calculate the MAC address for any sunmacselN variable, simply add the value of N (converted to a hexadecimal number) to the base address. For example, the ESI portion of sunmacsel20 would be 08:00:20:75:48:10 + 0x14 = 08:00:20:75:48:24.
Finally, localswitch_server may be used as a well-known server address in an isolated net, that is, one in which server access is restricted to clients on the local switch. Thus any host with a network prefix other than that of the local switch will be refused a connection to the ARP server if the ARP server’s address is localswitch_server. The ESI portion of localswitch_server is the reserved MAC address 08:00:20:75:48:08.
Several rules apply to the use of variables in the aarconfig file:
Two variables cannot follow each other in an expression without an intervening colon. Thus, $v1:$v2 is legal whereas $v1$v2 is not.
Fields in each line in the aarconfig file are separated by whitespace. Therefore variables should not be separated from the rest of an ATM address with whitespace. For example, $v1: $v2 is illegal.
Once a variable is defined by a set command, it may not be redefined later in the aarconfig file.
The reserved variable names may not be set. They include ‘prefix’, ‘mac’, ‘sel’, ‘macsel’, ‘myaddress’, ‘anymac’, ‘anymacsel’, ‘sunmacselN’ (where N is a number between 0 and 199), and ‘localswitch_server’.
Basic Configuration Flags
l This flag identifies an entry for a local interface on an ARP client or system that does not use an ARP server.
If SVCs are to be used at all on this interface, the ATM address is required; an empty ATM address field indicates PVCs only on this interface. The host should not be entered; the system will locate the hostname assigned to this physical interface. No vc should be entered either, since there will typically be multiple vcs over the local interface.
L This flag identifies an entry for a local interface on an ARP server.
The ATM address is required. No host or vc should be entered.
t Adds this host to the local table.
The host is required; either an ATM address or a vc field is required, depending on whether a SVC or a PVC connection is desired. If a mixture of SVC and PVC connections is desired, both an ATM address and a vc are allowed.
s Specifies a connection to the ATM ARP Server. This identifies to the ARP client where it should make ARP (address resolution) requests for addresses that are not in its local table.
Either the atm address in the case of a SVC connection, or the vc in the case of a PVC connection, should appear (but not both); the host should not appear.
a On an ARP server, represents an ATM address that may have access to this ARP server. If no ‘a’ entries appear in the server’s aarconfig file, any ATM host may register with the ARP server. Including ‘a’ entries restricts access to known hosts. The wildcard variables described in the variable section (‘anymac’ and ‘anymacsel’) may be used to specify groups of hosts connected to a common switch to be allowed access in a single entry, or specific addresses may listed.
The host and vc should not appear; an ATM address is required.
The required, optional, and illegal fields for the basic flag types are summarized in the following table:
----------------------------------------------- InterfaceHostATM-AddrVCIFLAGS ----------------------------------------------- required illegal optional illegal l required illegal required illegal L required required or or∗ t required illegal xor xor∗∗ s required illegal required illegal a
∗ one or the other is required, but both are also legal. ∗∗ one or the other is required; both are illegal.
Advanced Configuration Flags
The basic configuration flags are sufficient for most standard network configurations. However, since networks are rarely homogeneous, there may be cases in which, for interoperability purposes, a network must be configured with different characteristics than the defaults that are built into the SunATM adapter, or with unusual addressing schemes that require more than the basic configuration flags described above. The following flags may also be used in the aarconfig file to alter the default behavior when necessary.
b Specifies a VCI to be used for back-to-back data connections over which signalling (SVCs) will be used. This entry is required in addition to the ‘t’ entry because the VCI is normally provided by the switch.
Only the vc should appear with the flag and interface name; the host and ATM address should not appear.
B Specifies a VCI to be used for a back-to-back SVC connection between an ARP client and server. This entry is required in addition to the ‘t’ or ‘s’ entry.
Only the vc should appear with the flag and interface name; the host and ATM address should not appear.
c Specifies an alternate client address for ARP traffic only in the server’s aarconfig file. There may be configurations which require that an ATM ARP client have different ATM addresses or PVCs for ARP connections and for regular data connections. In this case, a distinction must be made in the server’s aarconfig file between the two address entries; the ‘c’ flag indicates the ARP address, while the ‘t’ flag identifies the data address.
Either an ATM address or a vc field must appear, and it is optional to have both; the host is also optional.
A Specifies on the server an alternate local identification for ARP traffic only. Much like the situation above in which a client has different addresses for data and ARP connections, it may be that the server also has different addresses. In this case, it is still sufficient to have only an ‘s’ entry in the client’s file, since the client will be able to send ARP requests to the server for the server’s data address. However, the server must be aware of the two different addresses. This is accomplished by using the ‘A’ flag to identify the ARP address, while the ‘L’ flag identifies the data address.
Only the ATM address is required. Neither the host nor the vc should appear.
Advanced Configuration Flags: Changing the Defaults
The following flags change the default behavior of the specified interface. An entry should only contain the interface and the flag; no other information should be specified.
P Turn on the sending of Call_Proceeding message when setting up a connection. This message type is optional according to the UNI 3.0 Specification. However, some switches may not be designed to handle this message type, since it is not required; thus the default behavior of the SunATM signalling software is to not send the message. The use of the Call_Proceeding is desirable if some amount of delay is likely in the processing of setup messages; it essentially prolongs the length of time the caller will wait to receive a connect back before giving up. If your switch supports the Call_Proceeding message, and the feature is desirable, it may be turned on for a particular interface using the ‘P’ flag.
I This option provides additional security. If your ARP server is capable of handling inverse ARP requests (the SunATM implementation is), you may choose to have a client who receives a setup request from a peer do address verification with the server, rather than the calling party. The default behavior is to send the inverse ARP to the calling party; if the ‘I’ flag is set in the aarconfig file for a particular interface, the inverse ARP will be sent to the server instead. This allows the access list for the network to be specified in the server’s aarconfig file; hosts that do not appear there will not be verified by the inverse ARP sent to the server, so the call will not be accepted.
The required, optional, and illegal fields for the advanced flag types are summarized in the following table:
----------------------------------------------- InterfaceHostATM-AddrVCIFLAGS ----------------------------------------------- required illegal illegal required b required illegal illegal required B required optional or or∗ c required illegal required illegal A required illegal illegal illegal P required illegal illegal illegal I
∗ one or the other is required, but both are also legal.
EXAMPLES
The following lines show the simplest case aarconfig files for a single-switch network in which ARP clients use the default address for their interface and all hosts are allowed access to the server:
in the client’s aarconfig:
sa0 - $myaddress - l
sa0 - $localswitch_server - s
in the server’s aarconfig:
sa0 - $localswitch_server - L
The following line defines the local interface for an ARP client which does not use the local MAC address for its ESI on its sa1 port:
sa1 - $prefix:08:00:20:1a:e1:53:$sel - l
The following lines would be placed in the aarconfig files on two machines connected back-to-back over PVC.
in the aarconfig of host1:
sa0 - - - l
sa0 host2 - 100 t
in the aarconfig of host2:
sa0 - - - l
sa0 host1 - 100 t
The following lines identify a server which uses different addresses for data connections and ARP connections in its own aarconfig file and in a client’s aarconfig file. The server’s data address is based on its local MAC address, while the ARP address is one of the predefined "well-known" server addresses. In addition, the server and client are connected to different switches.
in the client’s aarconfig:
set sprefix = 45:00:00:00:00:00:00:00:0f:00:00:00:00
sa0 - $myaddress - l
sa0 - $sprefix:$sunmacsel5 - s
in the server’s aarconfig:
sa0 - $myaddress - L
sa0 - $prefix:$sunmacsel5 - A
The following lines would be placed in the aarconfig file on a server to restrict access to those hosts connected to the local switch or an explicitly identified remote switch. The server is using a predefined server address.
set remote = 45:00:00:00:00:00:00:00:0f:01:02:03:04
sa0 - $prefix:$sunmacsel0 - L
sa0 - $prefix:$anymacsel - a
sa0 - $remote:$anymacsel - a
The following line tells the host to send the Call_Proceeding message when performing call setup over interface sa1.
sa1 - - - P
SEE ALSO
M. Laubach, RFC 1577: Classical IP and ARP over ATM, Network Working Group.
NOTES
In the current implementation, the entries must be grouped by type and in a particular order: if back-to-back (b or B) is used then they should be first, then the local (l or L) entry must follow, then (A) is followed if it is used, then any flags indicating changes in the default behavior (I or P), followed by table (t) entries if used), and finally server (s) entries (and client (c) entries, if used). Other flag types may appear in any order. Also, the ordering need only be maintained among entries for each physical interface; for example, all of the ba0 entries may appear first, and then all of the sa0 entries. This requirement will likely be relaxed in future releases.
Each entry should be entered on one line with no breaks or carriage returns.
SunOS ATM_2.0 — Last change: 7 Dec 1994