The /etc/netconfig file
The system administrator is responsible for maintaining
the network configuration database file /etc/netconfig.
Entries in the netconfig file
contain the following fields in the order shown here:
network_id semantics flags protofamily protoname device nametoaddr_libs
The fields correspond to elements of the netconfig structure.
Pointers returned by network selection library routines are pointers
to netconfig entries in netconfig format.
See
netconfig(4bnu)
for more information.
The
netconfig(4bnu)
manual page also describes the elements of the
struct netconfig structure.
All symbolic names, structure definitions, and constant values for the
network selection feature are defined in the header files:
-
/usr/include/netconfig.h
-
/usr/include/sys/netconfig.h
-
/usr/include/netdir.h
netconfig fields are defined as follows:
- network_id
-
A string used to identify a transport provider.
network_id consists of non-null characters
and has a length of at least 1.
No maximum length is specified.
This name space is locally significant
and the local system administrator is the naming authority
responsible for ensuring that each network_id
on a system is unique.
- semantics
-
A string that identifies the semantics
of the transport provider,
that is, the set of services it supports, by
identifying the service interface it provides.
This is closely related to, but not identical with,
the API with which applications are supposed to
access the network.
Typically, an application will specify its API by
pushing an appropriate STREAMS module
(such as timod)
and using an appropriate user-level library
(such as the Transport Layer Interface (TLI) library).
The semantics field is mandatory.
The following semantics are recognized:
- tpi_clts
-
Transport Provider Interface, connectionless
- tpi_cots
-
Transport Provider Interface, connection-oriented
- tpi_cots_ord
-
Transport Provider Interface, connection-oriented and supports
orderly release
- tpi_raw
-
Transport Provider Interface, raw
- flags
-
The flags field contains two-valued (true and false)
attributes of transport providers.
flags is a string of characters,
each of which specifies
the value of the corresponding attribute.
If the character is present, the attribute is true.
If the character is absent, the attribute is false.
A dash (-) indicates no attributes are present.
The characters currently recognized are:
- v
-
Visible network.
Used to establish a default list of networks to search
when the environment variable
NETPATH
is unset.
See
``The NETPATH environment variable'',
for a description of how the v flag is used.
- b
-
Enable Remote Procedure Call (RPC) broadcast.
Used by rpc_broadcast (see
rpc_clnt_calls(3rpc)).
- protofamily
-
The protofamily and protoname fields
are provided for protocol-specific applications.
The protofamily field
contains a string that identifies a protocol family.
The protofamily identifier
follows the rules for network_ids:
it is a string of non-null characters
with a length of at least 1.
No maximum length is specified.
A dash (-) in the protofamily field
indicates that none of
the available protocol family identifiers applies,
that is, the transport provider is experimental.
An application that wants to have family characteristics
can match on the protofamily field
when selecting a network.
(For example, an application can search for an
OSI family.)
In this case,
the application is not protocol-independent, since
it has searched only for OSI entries.
The following are examples of protocol family identifiers:
- loopback
-
Loopback (local to host)
- inet
-
Internetwork:
UDP, TCP, and so on
- netware
-
NetWare protocols
- implink
-
ARPANET
imp addresses
- pup
-
PUP
protocols: for example,
BSP
- chaos
-
MIT
CHAOS
protocols
- ns
-
XEROX
NS
protocols
- nbs
-
National Bureau of Standards
(NBS)
protocols
- ecma
-
European Computer Manufacturers Association
- datakit
-
Datakit
protocols
- ccitt
-
CCITT
protocols, X.25, and so on.
- sna
-
IBM
SNA
- decnet
-
DECNET
- dli
-
Direct data link interface
- lat
-
LAT
- 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
- x25
-
CCITT
X.25 in particular
- osinet
-
AFI
= 47,
IDI
= 4
- gosip
-
US Government
OSI
- protoname
-
The protoname field
contains a string that identifies a protocol.
This field is currently used only for
the inet family.
For any other family,
the protocol name field contains a dash (-).
The protoname identifier
follows the same rules as network_ids:
The string consists of non-null characters
and has a length of at least 1.
No maximum length is specified.
The protoname field may contain:
- icmp
-
Internet Control Message Protocol
- tcp
-
Transmission Control Protocol
- udp
-
User Datagram Protocol
- ipx
-
Internet Packet Exchange Protocol
- spx
-
Sequenced Packet Exchange Protocol
- device
-
The device is the full pathname of
the device used to connect to the remote machine
via the transport provider.
Typically, this device will be in the
/dev
directory.
The device must be specified.
- nametoaddr_libs
-
The nametoaddr_libs
support a directory service
(that is, a name-to-address mapping service)
for the network.
This service is implemented by
the name-to-address mapping feature.
If a transport is not provided with such a library,
that is, if the nametoaddr_libs field
in the netconfig file
contains only a dash,
the network selection request will fail.
The nametoaddr_libs field consists of
a comma-separated list of full pathnames
to dynamically linked libraries.
Literal commas may be embedded as ``\,'';
backslashes as ``\\''
Lines in /etc/netconfig
that begin with a hash sign (#)
in the first column are comments.
The system administrator determines the order of the entries in the
netconfig database.
Because the network selection library routines that access netconfig
directly return entries in order, beginning at the top of the
/etc/netconfig file, the order in which networks are entered in the
file by the system administrator becomes the default search path for
applications choosing networks to which they will connect.
#network_id semantics flags protofamily protoname device nametoaddr_libs
#
ticlts tpi_clts v loopback - /dev/ticlts /usr/lib/straddr.so
ticots tpi_cots v loopback - /dev/ticots /usr/lib/straddr.so
ticotsord tpi_cots_ord v loopback - /dev/ticotsord /usr/lib/straddr.so
tcp tpi_cots_ord v inet tcp /dev/tcp /usr/lib/tcpip.so,/usr/lib/resolv.so
udp tpi_clts v inet udp /dev/udp /usr/lib/tcpip.so,/usr/lib/resolv.so
icmp tpi_raw - inet icmp /dev/icmp /usr/lib/tcpip.so,/usr/lib/resolv.so
rawip tpi_raw - inet - /dev/rawip /usr/lib/tcpip.so,/usr/lib/resolv.so
ipx tpi_clts v netware ipx /dev/ipx / usr/lib/novell.so
spx tpi_cots_ord v netware spx /dev/nspx2 / usr/lib/novell.so
© 1999 The Santa Cruz Operation, Inc. All rights reserved.
UnixWare 7 Release 7.1.1 - 5 November 1999