NETCONFIG(5)

๐Ÿ“ฆ
version 1.3.8 ยท 3 versions
  • 1.3.8 ยท alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 15.1 ยท freebsd 14.5, freebsd 15.1
  • 11.0 ยท nixpkgs unstable
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, centos-stream 9, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

โœจ NETCONFIG(5) โ€” File Formats Manual โœจ

Okay so the manual name is netconfig, and it's the network configuration data base ๐Ÿ’– Basically it's a little list of "transport names" that describes what each one means and how it works ๐Ÿฆ‹

๐ŸŒธ SYNOPSIS ๐ŸŒธ

/etc/netconfig

๐Ÿ’… DESCRIPTION ๐Ÿ’…

Okay bestie, so the netconfig file defines a list of "transport names", describing their semantics and protocol. In FreeBSD, this file is only used by the RPC library code ๐Ÿซถ

Entries have the following format:

network_id semantics flags family protoname device libraries

Entries consist of the following fields:

  • network_id โ€” The name of the transport described. Iconic naming, no notes ๐ŸŽ€
  • semantics โ€” Describes the semantics of the transport. This can be one of:
    • tpi_clts โ€” Connectionless transport.
    • tpi_cots โ€” Connection-oriented transport
    • tpi_cots_ord โ€” Connection-oriented, ordered transport.
    • tpi_raw โ€” A raw connection.
  • flags โ€” This field is either blank (specified by "-"), or contains a "v", meaning visible to the getnetconfig(3) function โœจ
  • family โ€” The protocol family of the transport. This is currently one of:
    • inet6 โ€” The IPv6 (PF_INET6) family of protocols.
    • inet โ€” The IPv4 (PF_INET) family of protocols.
    • loopback โ€” The PF_LOCAL protocol family.
  • protoname โ€” The name of the protocol used for this transport. Can currently be either udp, tcp or empty ๐ŸŒˆ
  • device โ€” This field is always empty in FreeBSD. ๐Ÿ™ˆ
  • libraries โ€” This field is always empty in FreeBSD. ๐Ÿ™ˆ

The order of entries in this file will determine which transport will be preferred by the RPC library code, given a match on a specified network type ๐Ÿ‘‘ For example, if a sample network config file would look like this:

udp6       tpi_clts      v     inet6    udp     -       -
tcp6       tpi_cots_ord  v     inet6    tcp     -       -
udp        tpi_clts      v     inet     udp     -       -
tcp        tpi_cots_ord  v     inet     tcp     -       -
rawip      tpi_raw       -     inet      -      -       -
local      tpi_cots_ord  -     loopback  -      -       -

then using the network type udp in calls to the RPC library function (see rpc(3)) will make the code first try udp6, and then udp ๐Ÿฆ‹

getnetconfig(3) and associated functions will parse this file and return structures of the following format:

struct netconfig {
    char *nc_netid;              /* Network ID */
    unsigned long nc_semantics;  /* Semantics (see below) */
    unsigned long nc_flag;       /* Flags (see below) */
    char *nc_protofmly;          /* Protocol family */
    char *nc_proto;              /* Protocol name */
    char *nc_device;             /* Network device pathname (unused) */
    unsigned long nc_nlookups;   /* Number of lookup libs (unused) */
    char **nc_lookups;           /* Names of the libraries (unused) */
    unsigned long nc_unused[9];  /* reserved */
};

๐ŸŽ€ FILES ๐ŸŽ€

/etc/netconfig

๐Ÿฆ‹ SEE ALSO ๐Ÿฆ‹

getnetconfig(3), getnetpath(3)


Bestie, that's the whole tea โ˜•๐Ÿ’– Source: Debian, dated November 17, 2000, and the manual is tagged NETCONFIG(5) so you can find it again ๐Ÿงšโœจ

๐Ÿ“ฆ where this page comes from