iftab - static information about the network interfaces
DESCRIPTION
The file
/etc/iftab
contains descriptive information about the various network interfaces.
iftab
is only used by the program
ifrename(8)
to assign a consistent network interface name to each network interface.
/etc/iftab
defines a set of
mappings.
Each mapping contains an interface name and a set of selectors. The
selectors allow
ifrename
to identify each network interface on the system. If a network
interface matches all descriptors of a mapping,
ifrename
attempt to change the name of the interface to the interface name
given by the mapping.
MAPPINGS
Each mapping is described on a separate line, it starts with an
interface name,
and contains a set of
descriptors,
separated by space or tabs.
The relationship between descriptors of a mapping is a
logical and.
A mapping matches a network interface only is all the descriptors
match. If a network interface doesn't support a specific descriptor,
it won't match any mappings using this descriptor.
If you want to use alternate descriptors for an interface name
(logical or), specify two different mappings with the same interface
name (one on each line).
Ifrename
always use the first matching mapping starting from the
end
of
iftab,
therefore more restrictive mapping should be specified last.
INTERFACE NAME
The first part of each mapping is an interface name. If a network
interface matches all descriptors of a mapping,
ifrename
attempt to change the name of the interface to the interface name
given by the mapping.
The interface name of a mapping is either a plain interface name (such as
eth2 or wlan1)
or a interface name pattern containing a single wildcard (such as
eth* or wlan*).
In case of wildcard, the kernel replace the '*' with the lowest
available integer making this interface name unique. Note that
wildcard is only supported for kernel 2.6.1 and 2.4.30 and later.
It is discouraged to try to map interfaces to default interfaces names
such as
eth0, wlan0 or ppp0.
The kernel use those as the default name for any new interface,
therefore most likely an interface will already use this name and
prevent ifrename to use it. Even if you use takeover, the interface
may already be up in some cases. Not using those name will allow you
to immediately spot unconfigured or new interfaces.
Good names are either totally unique and meaningfull,
such as
mydsl or privatehub,
or use larger integer, such as
eth5 or wlan5.
The second type is usually easier to integrate in various network utilities.
DESCRIPTORS
Each descriptor is composed of a descriptor name and descriptor
value. Descriptors specify a static attribute of a network interface,
the goal is to uniquely identify each piece of hardware.
Most users will only use the
mac
selector, other selectors are for more specialised setup.
mac mac address
Matches the MAC Address of the interface with the specified MAC
address. The MAC address of the interface can be shown using
ifconfig(8)
or
ip(8).
The specified MAC address may contain a '*' for wilcard matching.
This is the most common selector, as most interfaces have a unique MAC
address allowing to identify network interfaces without ambiguity.
However, some interfaces don't have a valid MAC address until they are
brought up, in such case using this selector is tricky.
arp arp type
Matches the ARP Type (also called Link Type) of the interface with the
specified ARP type. The ARP Type of the interface can be shown using
ifconfig(8)
or
ip(8).
This selector is useful when a driver create multiple network
interfaces for a single network card.
driver driver name
Matches the Driver Name of the interface with the specified driver
name. The Driver Name of the interface can be shown using
ethtool -i(8).
businfo bus information
Matches the Bus Information of the interface with the specified bus
information. The Bus Information of the interface can be shown using
ethtool -i(8).
firmware firmware revision
Matches the Firmware Revision of the interface with the firmware
revision information. The Firmware Revision of the interface can be
shown using
ethtool -i(8).
baseaddress base address
Matches the Base Address of the interface with the specified base
address. The Base Address of the interface can be shown using
ifconfig(8).
Because most cards use dynamic allocation of the Base Address, this
selector is only useful for ISA and EISA cards.
irq irq line
Matches the IRQ Line (interrupt) of the interface with the specified
IRQ line. The IRQ Line of the interface can be shown using
ifconfig(8).
Because there are IRQ Lines may be shared, this selector is usually
not sufficient to uniquely identify an interface.
iwproto wireless protocol
Matches the Wireless Protocol of the interface with the specified
wireless protocol. The Wireless Protocol of the interface can be shown
using
iwconfig(8).
This selector is only supported on wireless interfaces and is not
sufficient to uniquely identify an interface.
pcmciaslot pcmcia slot
Matches the Pcmcia Socket number of the interface with the specified
slot number. Pcmcia Socket number of the interface can be shown
using
cardctl ident(8).
This selector is usually only supported on 16 bits cards, for 32 bits
cards it is advised to use the selector
businfo.
SYSFS{filename} value
Matches the sysfs attribute given by filename to the specified value. sysfs attributes of the interface can be read in one of the directory in the directory
/sys/class/net/.
For example, the filename
address
is the MAC address of the device and should be identical to the selector
mac.
The sysfs filesystem is only supported with 2.6.X kernel and need to
be mounted. sysfs selectors are not as efficient as other selectors,
therefore they should be avoided for maximum performance.