address_families(7)

๐ŸŽ€ address_families(7) ๐ŸŽ€

okay bestie, so this is the Miscellaneous Information Manual page for address_families โ€” socket address families, a.k.a. domains โ€” and it's literally the master list of every communication domain your kernel might vibe with. ๐Ÿ’…


โœจ NAME โœจ

address_families โ€” socket address families (domains) ๐Ÿฆ‹


โœจ SYNOPSIS โœจ

#include <sys/types.h>          /* See NOTES */
#include <sys/socket.h>

int socket(int domain, int type, int protocol);

โœจ DESCRIPTION โœจ

so the domain argument of socket(2)? that's the thing that picks your communication domain, and it decides which protocol family gets used for the chatting. ๐ŸŒธ these families live in <sys/socket.h>. the formats the Linux kernel currently understands include, in this exact order:

  • AF_UNIX, AF_LOCAL โ€” local communication. more deets, go read unix(7). ๐Ÿ’œ
  • AF_INET โ€” IPv4 internet protocols. for further information, see ip(7).
  • AF_AX25 โ€” Amateur radio AX.25 protocol. for further information, see ax25(4).
  • AF_IPX โ€” IPX - Novell protocols.
  • AF_APPLETALK โ€” AppleTalk. for further information, see ddp(7).
  • AF_NETROM โ€” AX.25 packet layer protocol. for further information, see netrom(4), The Packet Radio Protocols and Linux and the AX.25, NET/ROM, and ROSE network programming chapters of the Linux Amateur Radio AX.25 HOWTO. ๐Ÿ“ป
  • AF_BRIDGE โ€” literally can't be used for creating sockets; mostly used for bridge links in rtnetlink(7) protocol commands. so like, look but don't touch. ๐Ÿ™ˆ
  • AF_ATMPVC โ€” access to raw ATM Permanent Virtual Circuits (PVCs). for further information, see the ATM on Linux HOWTO.
  • AF_X25 โ€” ITU-T X.25 / ISO/IEC 8208 protocol. for further information, see x25(7).
  • AF_INET6 โ€” IPv6 internet protocols. for further information, see ipv6(7).
  • AF_ROSE โ€” RATS (Radio Amateur Telecommunications Society). Open Systems environment (ROSE) AX.25 packet layer protocol. for further information, see the resources listed for AF_NETROM.
  • AF_DECnet โ€” support was removed in Linux 6.1. it's gone bestie, rest in peace. ๐Ÿ’€
  • AF_NETBEUI โ€” reserved for "802.2LLC project"; never used. not once. not ever.
  • AF_SECURITY โ€” this was a short-lived (between Linux 2.1.30 and 2.1.99pre2) protocol family for firewall upcalls. blink and you missed it.
  • AF_KEY โ€” key management protocol, originally developed for usage with IPsec (since Linux 2.1.38). this has no relation to keyctl(2) and the in-kernel key storage facility. see RFC 2367 PF_KEY Key Management API, Version 2 for details. ๐Ÿ”‘
  • AF_NETLINK โ€” kernel user interface device. for further information, see netlink(7).
  • AF_PACKET โ€” low-level packet interface. for further information, see packet(7).
  • AF_ECONET โ€” Acorn Econet protocol (removed in Linux 3.5). see the Econet documentation for details.
  • AF_ATMSVC โ€” access to ATM Switched Virtual Circuits (SVCs). see the ATM on Linux HOWTO for details.
  • AF_RDS โ€” Reliable Datagram Sockets (RDS) protocol (since Linux 2.6.30). RDS over RDMA has no relation to AF_SMC or AF_XDP. for further information, see rds(7), rds-rdma(7), and Documentation/networking/rds.rst in the Linux kernel source tree.
  • AF_IRDA โ€” socket interface over IrDA (moved to staging in Linux 4.14, removed in Linux 4.17). for further information, see irda(7).
  • AF_PPPOX โ€” generic PPP transport layer, for setting up L2 tunnels (L2TP and PPPoE). see Documentation/networking/l2tp.rst in the Linux kernel source tree for details.
  • AF_WANPIPE โ€” legacy protocol for wide area network (WAN) connectivity that was used by Sangoma WAN cards (called "WANPIPE"); removed in Linux 2.6.21. ๐Ÿ‘‹
  • AF_LLC โ€” Logical link control (IEEE 802.2 LLC) protocol, upper part of data link layer of ISO/OSI networking protocol stack (since Linux 2.4); has no relation to AF_PACKET. see chapter 13.5.3. Logical Link Control in Understanding Linux Kernel Internals (O'Reilly Media, 2006) and IEEE Standards for Local Area Networks: Logical Link Control (The Institute of Electronics and Electronics Engineers, Inc., New York, New York, 1985) for details. see also some historical notes regarding its development.
  • AF_IB โ€” InfiniBand native addressing (since Linux 3.11).
  • AF_MPLS โ€” Multiprotocol Label Switching (since Linux 4.1); mostly used for configuring MPLS routing via netlink(7), as it doesn't expose ability to create sockets to user space.
  • AF_CAN โ€” Controller Area Network automotive bus protocol (since Linux 2.6.25). see Documentation/networking/can.rst in the Linux kernel source tree for details. ๐Ÿš—
  • AF_TIPC โ€” TIPC, "cluster domain sockets" protocol (since Linux 2.6.16). see TIPC Programmer's Guide and the protocol description for details.
  • AF_BLUETOOTH โ€” Bluetooth low-level socket protocol (since Linux 3.11). see Bluetooth Management API overview and An Introduction to Bluetooth Programming by Albert Huang for details. ๐Ÿฆ‹โœจ
  • AF_IUCV โ€” IUCV (inter-user communication vehicle) z/VM protocol for hypervisor-guest interaction (since Linux 2.6.21); has no relation to AF_VSOCK and/or AF_SMC. see IUCV protocol overview for details.
  • AF_RXRPC โ€” Rx, Andrew File System remote procedure call protocol (since Linux 2.6.22). see Documentation/networking/rxrpc.rst in the Linux kernel source tree for details.
  • AF_ISDN โ€” new "modular ISDN" driver interface protocol (since Linux 2.6.27). see the mISDN wiki for details.
  • AF_PHONET โ€” Nokia cellular modem IPC/RPC interface (since Linux 2.6.31). see Documentation/networking/phonet.rst in the Linux kernel source tree for details.
  • AF_IEEE802154 โ€” IEEE 802.15.4 WPAN (wireless personal area network) raw packet protocol (since Linux 2.6.31). see Documentation/networking/ieee802154.rst in the Linux kernel source tree for details.
  • AF_CAIF โ€” Ericsson's Communication CPU to Application CPU interface (CAIF) protocol (since Linux 2.6.36). see Documentation/networking/caif/linux_caif.rst in the Linux kernel source tree for details.
  • AF_ALG โ€” interface to kernel crypto API (since Linux 2.6.38). see Documentation/crypto/userspace-if.rst in the Linux kernel source tree for details.
  • AF_VSOCK โ€” VMWare VSockets protocol for hypervisor-guest interaction (since Linux 3.9); has no relation to AF_IUCV and AF_SMC. for further information, see vsock(7).
  • AF_KCM โ€” KCM (kernel connection multiplexer) interface (since Linux 4.6). see Documentation/networking/kcm.rst in the Linux kernel source tree for details.
  • AF_QIPCRTR โ€” Qualcomm IPC router interface protocol (since Linux 4.7).
  • AF_SMC โ€” SMC-R (shared memory communications over RDMA) protocol (since Linux 4.11), and SMC-D (shared memory communications, direct memory access) protocol for intra-node z/VM quest interaction (since Linux 4.19); has no relation to AF_RDS, AF_IUCV or AF_VSOCK. see RFC 7609 IBM's Shared Memory Communications over RDMA (SMC-R) Protocol for details regarding SMC-R. see SMC-D Reference Information for details regarding SMC-D.
  • AF_XDP โ€” XDP (express data path) interface (since Linux 4.18). see Documentation/networking/af_xdp.rst in the Linux kernel source tree for details.
  • AF_MCTP โ€” MCTP (Management Component Transport Protocol) interface (since Linux 5.15), as defined by the DMTF specification DSP0236. for further information, see mctp(7).

โœจ SEE ALSO โœจ

socket(2), socket(7) ๐Ÿซถ


and that's the whole vibe check, bestie โ€” go pick a domain and slay ๐Ÿ’– this was Linux man-pages 6.20, dated 2026-02-08, from your girl address_families(7). periodt. ๐Ÿ’…๐ŸŒˆโญ

๐Ÿ“ฆ where this page comes from
  • arch rolling: man-pages 6.20-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
  • nixpkgs unstable: man-pages 6.20
  • ๐Ÿ“œ the page's license: Linux-man-pages-copyleft
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms