/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 | 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 | 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 …]
|
H A D | netlink.c | 37 #include <net/netlink.h> 47 /* Synchronizes between ongoing netlink commands and netlink client 71 * RDMA netlink protocol without updating the array above. in is_nl_msg_valid() 87 * Currently only NLDEV client is supporting netlink commands in in get_cb_table() 101 request_module("rdma-netlink-subsys-%u", type); in get_cb_table() 203 * It calls to the callback for the netlink messages without NLM_F_REQUEST 227 * runs backward netlink scheme. Kernel initiates messages in rdma_nl_rcv_skb() 305 "Netlink client %d wasn't released prior to unloading %s\n", in rdma_nl_exit()
|
/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/include/net/ |
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 messag [all...] |
H A D | rtnetlink.h | 7 #include <net/netlink.h> 113 * @peer_type: Peer device specific netlink attribute number (e.g. VETH_INFO_PEER) 114 * @maxtype: Highest device specific netlink attribute number 115 * @policy: Netlink policy for device specific attribute validation 116 * @validate: Optional validation function for netlink/changelink parameters 126 * specific netlink attributes 127 * @fill_info: Function to dump device specific netlink attributes 212 * specific netlink attributes. 214 * netlink attributes.
|
/linux/tools/net/ynl/pyynl/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 …]
|
/linux/include/uapi/linux/netfilter/ |
H A D | nf_tables.h | 73 * enum nf_tables_msg_types - nf_tables netlink message types 151 * enum nft_list_attributes - nf_tables generic list netlink attributes 163 * enum nft_hook_attributes - nf_tables netfilter hook netlink attributes 197 * enum nft_table_attributes - nf_tables table netlink attributes 203 * @NFTA_TABLE_OWNER: owner of this table through netlink portID (NLA_U32) 228 * enum nft_chain_attributes - nf_tables chain netlink attributes 261 * enum nft_rule_attributes - nf_tables rule netlink attributes 380 * enum nft_set_attributes - nf_tables set netlink attributes 440 * enum nft_set_elem_attributes - nf_tables set element netlink attributes 471 * enum nft_set_elem_list_attributes - nf_tables set element list netlink attribute [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# 25 description: Specification of a raw netlink protocol 31 description: Name of the netlink family. 37 enum: [ netlink-raw ] # Trim 38 # Start netlink-raw 40 description: Protocol number to use for netlink-raw 42 # End netlink-raw 136 The netlink attribute type. Members of type 'binary' or 'pad' 231 description: The netlink attribute type 299 # 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/batman-adv/ |
H A D | bat_v.c | 21 #include <linux/netlink.h> 30 #include <net/netlink.h> 41 #include "netlink.h" 120 * @msg: Netlink message to dump into 121 * @portid: Port making netlink request 122 * @seq: Sequence number of netlink message 166 * @msg: Netlink message to dump into 167 * @portid: Port making netlink request 168 * @seq: Sequence number of netlink message 204 * @msg: Netlink message to dump into [all …]
|
H A D | netlink.c | 7 #include "netlink.h" 26 #include <linux/netlink.h> 34 #include <net/netlink.h> 170 * @msg: Netlink message to dump into 216 * @msg: Netlink message to dump into 219 * @portid: Port making netlink request 402 * @skb: Netlink message with request data 431 * @skb: Netlink message with request data 620 * @msg: netlink message to be sent back 635 * batadv_netlink_tpmeter_notify() - send tp_meter result via netlink to client [all …]
|
H A D | bat_algo.c | 12 #include <linux/netlink.h> 18 #include <net/netlink.h> 22 #include "netlink.h" 152 * @msg: netlink message to be sent back 183 * @msg: netlink message to be sent back 184 * @cb: Parameters to the netlink request
|
/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/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/net/netlabel/ |
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 …]
|
H A D | netlabel_calipso.c | 24 #include <net/netlink.h> 48 /* NetLabel Generic NETLINK CALIPSO family */ 51 /* NetLabel Netlink attribute policy */ 83 * @info: the Generic NETLINK info block 112 * @skb: the NETLINK buffer 113 * @info: the Generic NETLINK info block 147 * @skb: the NETLINK buffer 148 * @info: the Generic NETLINK info block 247 * @skb: the NETLINK buffer 248 * @cb: the NETLINK callback [all …]
|
/linux/samples/bpf/ |
H A D | xdp_router_ipv4_user.c | 5 #include <linux/netlink.h> 88 /* Function to parse the route entry returned by netlink 269 fprintf(stderr, "open netlink socket: %s\n", strerror(errno)); in get_route_table() 275 fprintf(stderr, "bind netlink socket: %s\n", strerror(errno)); in get_route_table() 295 fprintf(stderr, "send to netlink: %s\n", strerror(errno)); in get_route_table() 302 fprintf(stderr, "recv from netlink: %s\n", strerror(nll)); in get_route_table() 313 /* Function to parse the arp entry returned by netlink 405 fprintf(stderr, "open netlink socket: %s\n", strerror(errno)); in get_arp_table() 411 fprintf(stderr, "bind netlink socket: %s\n", strerror(errno)); in get_arp_table() 430 fprintf(stderr, "send to netlink: %s\n", strerror(errno)); in get_arp_table() [all …]
|
/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
|
/linux/lib/ |
H A D | nlattr.c | 3 * NETLINK Netlink attributes 17 #include <net/netlink.h> 214 pr_warn_ratelimited("netlink: '%s': attribute type %d has an invalid length.\n", in nla_validate_range_unsigned() 414 pr_warn_ratelimited("netlink: '%s': attribute type %d has an invalid length.\n", in validate_nla() 647 pr_warn_ratelimited("netlink: %d bytes leftover after parsing attributes in process `%s'.\n", in __nla_validate_parse() 688 * to allocated Netlink buffers roughly the size of the actual 826 * nla_memcpy - Copy a netlink attribute into another memory area 828 * @src: netlink attribute to copy from 850 * @nla: netlink attribute 868 * @nla: netlink string attribute [all …]
|
/linux/tools/lib/bpf/ |
H A D | nlattr.h | 4 * NETLINK Netlink attributes 15 #include <linux/netlink.h> 19 /* avoid multiple definition of netlink features */ 82 * @nla: netlink attribute 116 * @nla: netlink attribute
|