/linux/Documentation/userspace-api/netlink/ |
H A D | intro.rst | 4 Introduction to Netlink 7 Netlink is often described as an ioctl() replacement. 12 To achieve this Netlink uses a minimal fixed-format metadata header 18 netlink as it is used today and dives into more "historical" uses 24 Netlink communication happens over sockets, a socket needs to be 36 A very simplified flow of a Netlink "call" will therefore look 48 Netlink also provides natural support for "dumping", i.e. communicating 70 it is opening a Netlink socket, with all headers provided by the user 71 (hence NETLINK, RAW). The last argument is the protocol within Netlink. 75 Classic vs Generic Netlink [all …]
|
H A D | netlink-raw.rst | 4 Netlink specification support for raw Netlink families 7 This document describes the additional properties required by raw Netlink 8 families such as ``NETLINK_ROUTE`` which use the ``netlink-raw`` protocol 14 The netlink-raw schema extends the :doc:`genetlink-legacy <genetlink-legacy>` 16 multicast IDs used by raw netlink families. See :ref:`classic_netlink` for more 17 information. The raw netlink families also make use of type-specific 27 opening a netlink socket. 34 protocol: netlink-raw 64 Several raw netlink families such as 84 the wrapper attr has very similar characteristics to a netlink message. It may [all …]
|
H A D | specs.rst | 4 Netlink protocol specifications (in YAML) 7 Netlink protocol specifications are complete, machine readable descriptions of 8 Netlink protocols written in YAML. The goal of the specifications is to allow 9 separating Netlink parsing from user space logic and minimize the amount of 10 hand written Netlink code for each new family, command, attribute. 11 Netlink specs should be complete and not depend on any other spec 22 YAML specifications can be found under ``Documentation/netlink/specs/`` 34 There are four schema levels for Netlink specs, from the simplest used 45 - ``genetlink-legacy`` - Generic Netlink catch all schema supporting quirks of 47 - ``netlink-raw`` - catch all schema supporting pre-Generic Netlink protocols [all …]
|
H A D | intro-specs.rst | 4 Using Netlink protocol specifications 7 This document is a quick starting guide for using Netlink protocol 14 developing Netlink related code. The tool is implemented in Python 15 and can use a YAML specification to issue Netlink requests 16 to the kernel. Only Generic Netlink is supported. 26 YAML specs can be found under ``Documentation/netlink/specs/``. 30 $ ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/ethtool.yaml \ 45 Python-pretty-printed. This is because some Netlink types can't 49 The spec and Netlink internals are factored out as a standalone 67 /* Documentation/netlink/specs/fou.yaml */ [all …]
|
H A D | index.rst | 4 Netlink Handbook 7 Netlink documentation for users. 17 netlink-raw 20 - :ref:`Documentation/core-api/netlink.rst <kernel_netlink>`
|
/linux/drivers/infiniband/core/ |
H A D | iwpm_util.h | 47 #include <net/netlink.h> 97 * iwpm_get_nlmsg_request - Allocate and initialize netlink message request 98 * @nlmsg_seq: Sequence number of the netlink message 99 * @nl_client: The index of the netlink client 102 * Returns the newly allocated netlink request object if successful, 109 * iwpm_free_nlmsg_request - Deallocate netlink message request 110 * @kref: Holds reference of netlink message request 115 * iwpm_find_nlmsg_request - Find netlink message request in the request list 116 * @echo_seq: Sequence number of the netlink request to find 118 * Returns the found netlink message request, [all …]
|
H A D | iwpm_msg.c | 52 * iwpm_register_pid - Send a netlink query to userspace 55 * @nl_client: The index of the netlink client 83 err_str = "Unable to allocate netlink request"; in iwpm_register_pid() 113 skb = NULL; /* skb is freed in the netlink send-op handling */ in iwpm_register_pid() 130 * iwpm_add_mapping - Send a netlink add mapping request to 133 * @nl_client: The index of the netlink client 166 err_str = "Unable to allocate netlink request"; in iwpm_add_mapping() 198 skb = NULL; /* skb is freed in the netlink send-op handling */ in iwpm_add_mapping() 218 * @nl_client: The index of the netlink client 251 err_str = "Unable to allocate netlink request"; in iwpm_add_and_query_mapping() [all …]
|
/linux/include/net/ |
H A D | genetlink.h | 6 #include <net/netlink.h> 12 /* Non-parallel generic netlink requests are serialized by a global lock. */ 25 * struct genl_multicast_group - generic netlink multicast group 38 * struct genl_family - generic netlink family 43 * @policy: netlink policy 52 * @bind: called when family multicast group is added to a netlink socket 53 * @unbind: called when family multicast group is removed from a netlink socket 121 * @snd_portid: netlink portid of sender 122 * @family: generic netlink family 123 * @nlhdr: netlink message header [all …]
|
H A D | netlink.h | 6 #include <linux/netlink.h> 11 * Netlink Messages and Attributes Interface (As Seen On TV) 34 * struct nlmsghdr netlink message header 37 * nlmsg_new() create a new netlink message 38 * nlmsg_put() add a netlink message to an skb 40 * nlmsg_end() finalize netlink message 44 * nlmsg_consume() free a netlink message (expected) 45 * nlmsg_free() free a netlink message (drop) 65 * nlmsg_next(nlh, remaining) get next netlink message 69 * nlmsg_validate() validate netlink message incl. attrs [all …]
|
H A D | rtnetlink.h | 7 #include <net/netlink.h> 79 * @peer_type: Peer device specific netlink attribute number (e.g. VETH_INFO_PEER) 80 * @maxtype: Highest device specific netlink attribute number 81 * @policy: Netlink policy for device specific attribute validation 82 * @validate: Optional validation function for netlink/changelink parameters 92 * specific netlink attributes 93 * @fill_info: Function to dump device specific netlink attributes 180 * specific netlink attributes. 182 * netlink attributes.
|
/linux/include/rdma/ |
H A D | rdma_netlink.h | 6 #include <linux/netlink.h> 29 /* Define this module as providing netlink services for NETLINK_RDMA, with 39 MODULE_ALIAS("rdma-netlink-subsys-" __stringify(_val)) 42 * Register client in RDMA netlink. 50 * Remove a client from IB netlink. 57 * @skb: The netlink skb. 58 * @nlh: Pointer to put the header of the new netlink message. 61 * @client: Calling IB netlink client. 69 * @skb: The netlink skb. 70 * @nlh: Header of the netlink message to append the attribute to. [all …]
|
/linux/tools/net/ynl/lib/ |
H A D | ynl.py | 22 # Generic Netlink code which should really be in some library, but I can't quickly find one. 26 class Netlink: class 27 # Netlink socket 35 # Netlink message 109 return f"Netlink error: {os.strerror(self.error)}\n{self.nl_msg}" 131 self.type = self._type & ~Netlink.NLA_TYPE_MASK 132 self.is_nest = self._type & Netlink.NLA_F_NESTED 204 if self.nl_type == Netlink.NLMSG_ERROR: 208 elif self.nl_type == Netlink.NLMSG_DONE: 214 if self.nl_flags & Netlink.NLM_F_ACK_TLVS and extack_off: [all …]
|
H A D | nlspec.py | 14 """Netlink spec element. 16 Abstract element of the Netlink spec. Implements the dictionary interface 61 """ Entry within an enum declared in the Netlink spec. 150 """ Single Netlink attribute type 189 """ Netlink Attribute Set class. 191 Represents a ID space of attributes within Netlink. 267 """Netlink struct type 292 """ Netlink sub-message definition 314 """ Netlink sub-message format definition 332 """Netlink Operatio [all...] |
/linux/include/uapi/linux/netfilter/ |
H A D | nf_tables.h | 73 * enum nf_tables_msg_types - nf_tables netlink message types 149 * enum nft_list_attributes - nf_tables generic list netlink attributes 161 * enum nft_hook_attributes - nf_tables netfilter hook netlink attributes 195 * enum nft_table_attributes - nf_tables table netlink attributes 201 * @NFTA_TABLE_OWNER: owner of this table through netlink portID (NLA_U32) 226 * enum nft_chain_attributes - nf_tables chain netlink attributes 259 * enum nft_rule_attributes - nf_tables rule netlink attributes 378 * enum nft_set_attributes - nf_tables set netlink attributes 434 * enum nft_set_elem_attributes - nf_tables set element netlink attributes 465 * enum nft_set_elem_list_attributes - nf_tables set element list netlink attributes [all …]
|
/linux/Documentation/driver-api/ |
H A D | connector.rst | 7 Kernel connector - new netlink based userspace <-> kernel space easy 11 netlink based network. One must register a callback and an identifier. 12 When the driver receives a special netlink message with the appropriate 25 netlink based networking for inter-process communication in a significantly 63 netlink group to the user which is equal to its id.idx. 102 Netlink itself is not a reliable protocol. That means that messages can 111 2.6.14 has a new netlink socket implementation, which by default does not 112 allow people to send data to netlink groups other than 1. 113 So, if you wish to use a netlink socket (for example using connector) 138 2.6.14 netlink code only allows to select a group which is less or equal to [all …]
|
/linux/Documentation/netlink/ |
H A D | netlink-raw.yaml | 4 $id: http://kernel.org/schemas/netlink/netlink-raw.yaml# 19 description: Specification of a raw netlink protocol 25 description: Name of the netlink family. 31 enum: [ netlink-raw ] # Trim 32 # Start netlink-raw 34 description: Protocol number to use for netlink-raw 36 # End netlink-raw 130 The netlink attribute type. Members of type 'binary' or 'pad' 222 description: The netlink attribute type 290 # Start netlink-raw [all …]
|
/linux/tools/lib/thermal/ |
H A D | thermal_nl.h | 6 #include <netlink/netlink.h> 7 #include <netlink/genl/genl.h> 8 #include <netlink/genl/mngt.h> 9 #include <netlink/genl/ctrl.h> 30 * Low level netlink
|
/linux/net/netlabel/ |
H A D | netlabel_user.h | 3 * NetLabel NETLINK Interface 5 * This file defines the NETLINK interface for the NetLabel system. The 23 #include <net/netlink.h> 27 /* NetLabel NETLINK helper functions */ 30 * netlbl_netlink_auditinfo - Fetch the audit information from a NETLINK msg 40 /* NetLabel NETLINK I/O functions */
|
H A D | netlabel_user.c | 3 * NetLabel NETLINK Interface 5 * This file defines the NETLINK interface for the NetLabel system. The 25 #include <net/netlink.h> 37 * NetLabel NETLINK Setup Functions 41 * netlbl_netlink_init - Initialize the NETLINK communication channel 45 * commands with the Generic NETLINK mechanism. Returns zero on success and
|
H A D | netlabel_cipso_v4.c | 23 #include <net/netlink.h> 47 /* NetLabel Generic NETLINK CIPSOv4 family */ 49 /* NetLabel Netlink attribute policy */ 71 * @info: the Generic NETLINK info block 112 * @info: the Generic NETLINK info block 317 * @info: the Generic NETLINK info block 356 * @info: the Generic NETLINK info block 395 * @skb: the NETLINK buffer 396 * @info: the Generic NETLINK info block 433 * @skb: the NETLINK buffer [all …]
|
/linux/net/batman-adv/ |
H A D | bat_v.c | 21 #include <linux/netlink.h> 30 #include <net/netlink.h> 41 #include "netlink.h" 122 * @msg: Netlink message to dump into 123 * @portid: Port making netlink request 124 * @seq: Sequence number of netlink message 168 * @msg: Netlink message to dump into 169 * @portid: Port making netlink request 170 * @seq: Sequence number of netlink message 206 * @msg: Netlink message to dump into [all …]
|
/linux/fs/smb/client/ |
H A D | netlink.c | 3 * Netlink routines for CIFS 11 #include "netlink.h" 60 * cifs_genl_init - Register generic netlink family 70 cifs_dbg(VFS, "%s: failed to register netlink family\n", in cifs_genl_init() 79 * cifs_genl_exit - Unregister generic netlink family 87 cifs_dbg(VFS, "%s: failed to unregister netlink family\n", in cifs_genl_exit()
|
/linux/tools/net/ynl/ |
H A D | cli.py | 11 from lib import YnlFamily, Netlink, NlError 25 YNL CLI utility - a general purpose netlink utility that uses YAML 30 in the same netlink payload. 54 const=Netlink.NLM_F_REPLACE) 56 const=Netlink.NLM_F_EXCL) 58 const=Netlink.NLM_F_CREATE) 60 const=Netlink.NLM_F_APPEND)
|
/linux/Documentation/filesystems/ |
H A D | quota.rst | 23 Quota netlink interface 29 Thus quota netlink interface has been designed to pass information about 33 The interface uses generic netlink framework (see 35 more details about this layer). The name of the quota generic netlink interface 37 the quota netlink protocol is not namespace aware, quota netlink messages are
|
/linux/Documentation/accounting/ |
H A D | taskstats.rst | 6 Taskstats is a netlink-based interface for sending per-task and 30 To get statistics during a task's lifetime, userspace opens a unicast netlink 39 to be limited and assists in flow control over the netlink interface and is 67 The data exchanged between user and kernel space is a netlink message belonging 68 to the NETLINK_GENERIC family and using the netlink attributes interface. 146 2. Defining separate statistic structs and using the netlink attributes 147 interface to return them. Since userspace processes each netlink attribute 155 processing new netlink attributes. But if the new fields expand the existing 170 - increase the receive buffer sizes for the netlink sockets opened by
|