netconfig(4) File Formats netconfig(4)
netconfig - network configuration database
The network configuration database, /etc/netconfig, is a system file
used to store information about networks that are connected to the sys-
tem. The netconfig database and the routines that access it (see get-
netconfig(3NSL)) are part of the Network Selection component. The Net-
work Selection component also includes getnetpath(3NSL) routines to
provide application-specific network search paths. These routines
access the netconfig database based on the environment variable NET-
PATH. See environ(5).
netconfig contains an entry for each network available on the system.
Entries are separated by newlines. Fields are separated by whitespace
and occur in the order in which they are described below. Whitespace
can be embedded as ``\fRblank'' or ``\fRtab''. Backslashes may be
embedded as ``\''. Lines in /etc/netconfig that begin with a # (hash)
in column 1 are treated as comments.
Each of the valid lines in the netconfig database correspond to an
available transport. Each entry is of the form:
network ID semantics flag protocol-family
protocol-name network-device translation-libraries
network ID A string used to uniquely identify a network.
network ID consists of non-null characters, and
has a length of at least 1. No maximum length
is specified. This namespace is locally signif-
icant and the local system administrator is the
naming authority. All network IDs on a system
must be unique.
semantics The semantics field is a string identifying
the ``semantics'' of the network, that is, the
set of services it supports, by identifying the
service interface it provides. The semantics
field is mandatory. The following semantics are
tpi_clts Transport Provider Interface,
tpi_cots Transport Provider Interface,
tpi_cots_ord Transport Provider Interface,
connection oriented, supports
flag The flag field records certain two-valued
(``true'' and ``false'') attributes of net-
works. flag is a string composed of a combina-
tion of characters, each of which indicates the
value of the corresponding attribute. If the
character is present, the attribute is
``true.'' If the character is absent, the
attribute is ``false.'' ``-'' indicates that
none of the attributes are present. Only one
character is currently recognized:
v Visible (``default'') network.
Used when the environment vari-
able NETPATH is unset.
protocol family The protocol family and protocol name fields
are provided for protocol-specific applica-
tions. The protocol family field contains a
string that identifies a protocol family. The
protocol family identifier follows the same
rules as those for network IDs; the string con-
sists of non-null characters, it has a length
of at least 1, and there is no maximum length
specified. A ``-'' in the protocol family
field indicates that no protocol family identi-
fier applies (the network is experimental).
The following are examples:
loopback Loopback (local to host).
inet Internetwork: UDP, TCP, and the
inet6 Internetwork over IPv6: UDP,
TCP, and the like.
implink ARPANET imp addresses
pup PUP protocols: for example, BSP
chaos MIT CHAOS protocols
ns XEROX NS protocols
nbs NBS protocols
ecma European Computer Manufacturers
datakit DATAKIT protocols
ccitt CCITT protocols, X.25, and the
sna IBM SNA
dli Direct data link interface
hylink NSC Hyperchannel
appletalk Apple Talk
nit Network Interface Tap
ieee802 IEEE 802.2; also ISO 8802
osi Umbrella for all families used
by OSI (for example, protosw
x25 CCITT X.25 in particular
osinet AFI = 47, IDI = 4
gosip U.S. Government OSI
protocol name The protocol name field contains a string that
identifies a protocol. The protocol name iden-
tifier follows the same rules as those for net-
work IDs; that is, the string consists of non-
NULL characters, it has a length of at least 1,
and there is no maximum length specified. A
``-'' indicates that none of the names listed
apply. The following protocol names are recog-
tcp Transmission Control Protocol
udp User Datagram Protocol
icmp Internet Control Message Proto-
network device The network device is the full pathname of the
device used to connect to the transport
provider. Typically, this device will be in the
/dev directory. The network device must be
translation libraries The name-to-address translation libraries sup-
port a ``directory service'' (a name-to-address
mapping service) for the network. A ``-'' in
this field indicates the absence of any trans-
lation libraries. This has a special meaning
for networks of the protocol family inet : its
name-to-address mapping is provided by the name
service switch based on the entries for hosts
and services in nsswitch.conf(4). For networks
of other families, a ``-'' indicates non-func-
tional name-to-address mapping. Otherwise, this
field consists of a comma-separated list of
pathnames to dynamically linked libraries. The
pathname of the library can be either absolute
or relative. See dlopen(3C).
Each field corresponds to an element in the struct netconfig structure.
struct netconfig and the identifiers described on this manual page are
defined in <<netconfig.h>>. This structure includes the following mem-
char *nc_netid Network ID, including NULL
unsigned long nc_semantics Semantics.
unsigned long nc_flag Flags.
char *nc_protofmly Protocol family.
char *nc_proto Protocol name.
char *nc_device Full pathname of the network
unsigned long nc_nlookups Number of directory lookup
char **nc_lookups Names of the name-to-address
unsigned long nc_unused Reserved for future expansion.
The nc_semantics field takes the following values, corresponding to
the semantics identified above:
NC_TPI_COTS_ORD The nc_flag field is a bitfield. The fol-
lowing bit, corresponding to the attribute identified above,
is currently recognized. NC_NOFLAG indicates the absence of
Example 1: A Sample netconfig File
Below is a sample netconfig file:
# The "Network Configuration" File.
# Each entry is of the form:
# <networkid> <semantics> <flags> <protofamily> <protoname> <device>
# The "-" in <nametoaddrlibs> for inet family transports indicates
# redirection to the name service switch policies for "hosts" and
# "services". The "-" may be replaced by nametoaddr libraries that
# comply with the SVr4 specs, in which case the name service switch
# will not be used for netdir_getbyname, netdir_getbyaddr,
# gethostbyname, gethostbyaddr, getservbyname, and getservbyport.
# There are no nametoaddr_libs for the inet family in Solaris anymore.
udp6 tpi_clts v inet6 udp /dev/udp6 -
tcp6 tpi_cots_ord v inet6 tcp /dev/tcp6 -
udp tpi_clts v inet udp /dev/udp -
tcp tpi_cots_ord v inet tcp /dev/tcp -
rawip tpi_raw - inet - /dev/rawip -
ticlts tpi_clts v loopback - /dev/ticlts straddr.so
ticotsord tpi_cots_ord v loopback - /dev/ticotsord straddr.so
ticots tpi_cots v loopback - /dev/ticots straddr.so
dlopen(3C), getnetconfig(3NSL), getnetpath(3NSL), nsswitch.conf(4)
System Administration Guide: IP Services
SunOS 5.10 18 Nov 2003 netconfig(4)