# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2024-06-01 06:06+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "netlink" msgstr "" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "netlink - communication between kernel and user space (AF_NETLINK)" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B<#include Easm/types.hE>\n" "B<#include Esys/socket.hE>\n" "B<#include Elinux/netlink.hE>\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BIB<, >IB<);>\n" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Netlink is used to transfer information between the kernel and user-space " "processes. It consists of a standard sockets-based interface for user space " "processes and an internal kernel API for kernel modules. The internal " "kernel interface is not documented in this manual page. There is also an " "obsolete netlink interface via netlink character devices; this interface is " "not documented here and is provided only for backward compatibility." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Netlink is a datagram-oriented service. Both B and B " "are valid values for I. However, the netlink protocol does not " "distinguish between datagram and raw sockets." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I selects the kernel module or netlink group to communicate " "with. The currently assigned netlink families are:" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Receives routing and link updates and may be used to modify the routing " "tables (both IPv4 and IPv6), IP addresses, link parameters, neighbor setups, " "queueing disciplines, traffic classes, and packet classifiers (see " "B(7))." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (Linux 2.6.13 to Linux 2.16.17)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Messages from 1-wire subsystem." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Reserved for user-mode socket protocols." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (up to and including Linux 3.4)" msgstr "" #. removed by commit d16cf20e2f2f13411eece7f7fb72c17d141c4a84 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Transport IPv4 packets from netfilter to user space. Used by I " "kernel module. After a long period of being declared obsolete (in favor of " "the more advanced I feature), B was " "removed in Linux 3.5." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.3)" msgstr "" #. commit 7f1fb60c4fc9fb29fbb406ac8c4cfb4e59e168d6 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Query information about sockets of various protocol families from the kernel " "(see B(7))." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.14)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "An obsolete synonym for B." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (up to and including Linux 3.16)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Netfilter/iptables ULOG." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. FIXME More details on NETLINK_XFRM needed. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "IPsec." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.4)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "SELinux event notifications." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.15)" msgstr "" #. FIXME More details on NETLINK_ISCSI needed. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Open-iSCSI." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.6)" msgstr "" #. FIXME More details on NETLINK_AUDIT needed. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Auditing." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.13)" msgstr "" #. FIXME More details on NETLINK_FIB_LOOKUP needed. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Access to FIB lookup from user space." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.14)" msgstr "" #. commit baa293e9544bea71361950d071579f0e4d5713ed #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Kernel connector. See I (or I in Linux 5.2 and earlier) in the Linux " "kernel source tree for further information." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.14)" msgstr "" #. FIXME More details on NETLINK_NETFILTER needed. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Netfilter subsystem." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.19)" msgstr "" #. commit 84314fd4740ad73550c76dee4a9578979d84af48 #. FIXME More details on NETLINK_SCSITRANSPORT needed. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "SCSI Transports." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.0)" msgstr "" #. commit b2cbae2c248776d81cc265ff7d48405b6a4cc463 #. FIXME More details on NETLINK_RDMA needed. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Infiniband RDMA." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (up to and including Linux 3.4)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Transport IPv6 packets from netfilter to user space. Used by I " "kernel module." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "DECnet routing messages." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.10)" msgstr "" #. FIXME More details on NETLINK_KOBJECT_UEVENT needed. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Kernel messages to user space." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.15)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Generic netlink family for simplified netlink usage." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 3.2)" msgstr "" #. commit a38f7907b926e4c6c7d389ad96cc38cec2e5a9e9 #. Author: Steffen Klassert #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Netlink interface to request information about ciphers registered with the " "kernel crypto API as well as allow configuration of the kernel crypto API." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Netlink messages consist of a byte stream with one or multiple I " "headers and associated payload. The byte stream should be accessed only " "with the standard B macros. See B(3) for further " "information." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In multipart messages (multiple I headers with associated payload " "in one byte stream) the first and all following headers have the " "B flag set, except for the last header which has the type " "B." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "After each I the payload follows." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct nlmsghdr {\n" " __u32 nlmsg_len; /* Length of message including header */\n" " __u16 nlmsg_type; /* Type of message content */\n" " __u16 nlmsg_flags; /* Additional flags */\n" " __u32 nlmsg_seq; /* Sequence number */\n" " __u32 nlmsg_pid; /* Sender port ID */\n" "};\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I can be one of the standard message types: B " "message is to be ignored, B message signals an error and the " "payload contains an I structure, B message terminates " "a multipart message. Error messages get the original request appended, " "unless the user requests to cap the error message, and get extra error data " "if requested." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct nlmsgerr {\n" " int error; /* Negative errno or 0 for acknowledgements */\n" " struct nlmsghdr msg; /* Message header that caused the error */\n" " /*\n" " * followed by the message contents\n" " * unless NETLINK_CAP_ACK was set\n" " * or the ACK indicates success (error == 0).\n" " * For example Generic Netlink message with attributes.\n" " * message length is aligned with NLMSG_ALIGN()\n" " */\n" " /*\n" " * followed by TLVs defined in enum nlmsgerr_attrs\n" " * if NETLINK_EXT_ACK was set\n" " */\n" "};\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A netlink family usually specifies more message types, see the appropriate " "manual pages for that, for example, B(7) for B." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Standard flag bits in I" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "_" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_REQUEST" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Must be set on all request messages." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_MULTI" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "The message is part of a multipart message terminated by\n" "B." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_ACK" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Request for an acknowledgement on success." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_ECHO" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Echo this request." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Additional flag bits for GET requests" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_ROOT" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Return the complete table instead of a single entry." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_MATCH" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "Return all entries matching criteria passed in message content.\n" "Not implemented yet." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_ATOMIC" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Return an atomic snapshot of the table." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_DUMP" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "Convenience macro; equivalent to\n" "(NLM_F_ROOT|NLM_F_MATCH)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that B requires the B capability or an " "effective UID of 0." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Additional flag bits for NEW requests" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_REPLACE" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Replace existing matching object." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_EXCL" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Don't replace if the object already exists." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_CREATE" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Create object if it doesn't already exist." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NLM_F_APPEND" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Add to the end of the object list." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I and I are used to track messages. I " "shows the origin of the message. Note that there isn't a 1:1 relationship " "between I and the PID of the process if the message originated " "from a netlink socket. See the B
section for further " "information." msgstr "" #. FIXME Explain more about nlmsg_seq and nlmsg_pid. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Both I and I are opaque to netlink core." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Netlink is not a reliable protocol. It tries its best to deliver a message " "to its destination(s), but may drop messages when an out-of-memory condition " "or other error occurs. For reliable transfer the sender can request an " "acknowledgement from the receiver by setting the B flag. An " "acknowledgement is an B packet with the error field set to 0. " "The application must generate acknowledgements for received messages " "itself. The kernel tries to send an B message for every failed " "packet. A user process should follow this convention too." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "However, reliable transmissions from kernel to user are impossible in any " "case. The kernel can't send a netlink message if the socket buffer is full: " "the message will be dropped and the kernel and the user-space process will " "no longer have the same view of kernel state. It is up to the application " "to detect when this happens (via the B error returned by " "B(2)) and resynchronize." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Address formats" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I structure describes a netlink client in user space or in " "the kernel. A I can be either unicast (only sent to one peer) " "or sent to netlink multicast groups (I not equal 0)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct sockaddr_nl {\n" " sa_family_t nl_family; /* AF_NETLINK */\n" " unsigned short nl_pad; /* Zero */\n" " pid_t nl_pid; /* Port ID */\n" " __u32 nl_groups; /* Multicast groups mask */\n" "};\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is the unicast address of netlink socket. It's always 0 if the " "destination is in the kernel. For a user-space process, I is " "usually the PID of the process owning the destination socket. However, " "I identifies a netlink socket, not a process. If a process owns " "several netlink sockets, then I can be equal to the process ID only " "for at most one socket. There are two ways to assign I to a netlink " "socket. If the application sets I before calling B(2), then " "it is up to the application to make sure that I is unique. If the " "application sets it to 0, the kernel takes care of assigning it. The kernel " "assigns the process ID to the first netlink socket the process opens and " "assigns a unique I to every netlink socket that the process " "subsequently creates." msgstr "" #. commit d629b836d151d43332492651dd841d32e57ebe3b #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I is a bit mask with every bit representing a netlink group " "number. Each netlink family has a set of 32 multicast groups. When " "B(2) is called on the socket, the I field in the " "I should be set to a bit mask of the groups which it wishes to " "listen to. The default value for this field is zero which means that no " "multicasts will be received. A socket may multicast messages to any of the " "multicast groups by setting I to a bit mask of the groups it " "wishes to send to when it calls B(2) or does a B(2). " "Only processes with an effective UID of 0 or the B capability " "may send or listen to a netlink multicast group. Since Linux 2.6.13, " "messages can't be broadcast to multiple groups. Any replies to a message " "received for a multicast group should be sent back to the sending PID and " "the multicast group. Some Linux kernel subsystems may additionally allow " "other users to send and/or receive messages. As at Linux 3.0, the " "B, B, B, and " "B groups allow other users to receive messages. No groups " "allow other users to send messages." msgstr "" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Socket options" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To set or get a netlink socket option, call B(2) to read or " "B(2) to write the option with the option level argument set to " "B. Unless otherwise noted, I is a pointer to an I." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.14)" msgstr "" #. commit 9a4595bc7e67962f13232ee55a64e063062c3a99 #. Author: Patrick McHardy #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Enable B control messages for received packets to get the " "extended destination group number." msgstr "" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.14)" msgstr "" #. commit 9a4595bc7e67962f13232ee55a64e063062c3a99 #. Author: Patrick McHardy #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Join/leave a group specified by I." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.2)" msgstr "" #. commit b42be38b2778eda2237fc759e55e3b698b05b315 #. Author: David Herrmann #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Retrieve all groups a socket is a member of. I is a pointer to " "B<__u32> and I is the size of the array. The array is filled with " "the full membership set of the socket, and the required array size is " "returned in I." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.30)" msgstr "" #. commit be0c22a46cfb79ab2342bb28fde99afa94ef868e #. Author: Pablo Neira Ayuso #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When not set, B only reports B errors and " "silently ignore B errors." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.30)" msgstr "" #. commit 38938bfe3489394e2eed5e40c9bb8f66a2ce1405 #. Author: Pablo Neira Ayuso #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "This flag can be used by unicast and broadcast listeners to avoid receiving " "B errors." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.2)" msgstr "" #. commit 59324cf35aba5336b611074028777838a963d03b #. Author: Nicolas Dichtel #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When set, this socket will receive netlink notifications from all network " "namespaces that have an I assigned into the network namespace where " "the socket has been opened. The I is sent to user space via an " "ancillary data." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.3)" msgstr "" #. commit 0a6a3a23ea6efde079a5b77688541a98bf202721 #. Author: Christophe Ricard #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The kernel may fail to allocate the necessary room for the acknowledgement " "message back to user space. This option trims off the payload of the " "original netlink message. The netlink message header is still included, so " "the user can guess from the sequence number which message triggered the " "acknowledgement." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The socket interface to netlink first appeared Linux 2.2." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Linux 2.0 supported a more primitive device-based netlink interface (which " "is still available as a compatibility option). This obsolete interface is " "not described here." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "It is often better to use netlink via I or I than via the " "low-level kernel interface." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "This manual page is not complete." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following example creates a B netlink socket which will " "listen to the B (network interface create/delete/up/down " "events) and B (IPv4 addresses add/delete events) " "multicast groups." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "struct sockaddr_nl sa;\n" "\\&\n" "memset(&sa, 0, sizeof(sa));\n" "sa.nl_family = AF_NETLINK;\n" "sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;\n" "\\&\n" "fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);\n" "bind(fd, (struct sockaddr *) &sa, sizeof(sa));\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The next example demonstrates how to send a netlink message to the kernel " "(pid 0). Note that the application must take care of message sequence " "numbers in order to reliably track acknowledgements." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "struct nlmsghdr *nh; /* The nlmsghdr with payload to send */\n" "struct sockaddr_nl sa;\n" "struct iovec iov = { nh, nh-Enlmsg_len };\n" "struct msghdr msg;\n" "\\&\n" "msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n" "memset(&sa, 0, sizeof(sa));\n" "sa.nl_family = AF_NETLINK;\n" "nh-Enlmsg_pid = 0;\n" "nh-Enlmsg_seq = ++sequence_number;\n" "/* Request an ack from kernel by setting NLM_F_ACK */\n" "nh-Enlmsg_flags |= NLM_F_ACK;\n" "\\&\n" "sendmsg(fd, &msg, 0);\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "And the last example is about reading netlink message." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "int len;\n" "/* 8192 to avoid message truncation on platforms with\n" " page size E 4096 */\n" "struct nlmsghdr buf[8192/sizeof(struct nlmsghdr)];\n" "struct iovec iov = { buf, sizeof(buf) };\n" "struct sockaddr_nl sa;\n" "struct msghdr msg;\n" "struct nlmsghdr *nh;\n" "\\&\n" "msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n" "len = recvmsg(fd, &msg, 0);\n" "\\&\n" "for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);\n" " nh = NLMSG_NEXT (nh, len)) {\n" " /* The end of multipart message */\n" " if (nh-Enlmsg_type == NLMSG_DONE)\n" " return;\n" "\\&\n" " if (nh-Enlmsg_type == NLMSG_ERROR)\n" " /* Do some error handling */\n" " ...\n" "\\&\n" " /* Continue with parsing payload */\n" " ...\n" "}\n" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(3), B(3), B(7), B(7), " "B(7)" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "E<.UR ftp://ftp.inr.ac.ru\\:/ip-routing\\:/iproute2*> information about " "libnetlink E<.UE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "E<.UR http://www.infradead.org\\:/\\[ti]tgr\\:/libnl/> information about " "libnl E<.UE>" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "RFC 3549 \"Linux Netlink as an IP Services Protocol\"" msgstr "" #. type: TH #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "2023-02-05" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "" #. type: TP #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "B,\\ B (since Linux 2.6.14)" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "struct sockaddr_nl sa;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "memset(&sa, 0, sizeof(sa));\n" "sa.nl_family = AF_NETLINK;\n" "sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);\n" "bind(fd, (struct sockaddr *) &sa, sizeof(sa));\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "struct nlmsghdr *nh; /* The nlmsghdr with payload to send */\n" "struct sockaddr_nl sa;\n" "struct iovec iov = { nh, nh-Enlmsg_len };\n" "struct msghdr msg;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n" "memset(&sa, 0, sizeof(sa));\n" "sa.nl_family = AF_NETLINK;\n" "nh-Enlmsg_pid = 0;\n" "nh-Enlmsg_seq = ++sequence_number;\n" "/* Request an ack from kernel by setting NLM_F_ACK */\n" "nh-Enlmsg_flags |= NLM_F_ACK;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "sendmsg(fd, &msg, 0);\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int len;\n" "/* 8192 to avoid message truncation on platforms with\n" " page size E 4096 */\n" "struct nlmsghdr buf[8192/sizeof(struct nlmsghdr)];\n" "struct iovec iov = { buf, sizeof(buf) };\n" "struct sockaddr_nl sa;\n" "struct msghdr msg;\n" "struct nlmsghdr *nh;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "msg = { &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };\n" "len = recvmsg(fd, &msg, 0);\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "for (nh = (struct nlmsghdr *) buf; NLMSG_OK (nh, len);\n" " nh = NLMSG_NEXT (nh, len)) {\n" " /* The end of multipart message */\n" " if (nh-Enlmsg_type == NLMSG_DONE)\n" " return;\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (nh-Enlmsg_type == NLMSG_ERROR)\n" " /* Do some error handling */\n" " ...\n" msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /* Continue with parsing payload */\n" " ...\n" "}\n" msgstr "" #. type: TH #: fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr ""