/openbmc/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 | 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 26 opening a netlink socket. 33 protocol: netlink-raw
|
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 19 See also :ref:`Documentation/core-api/netlink.rst <kernel_netlink>`.
|
/openbmc/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 …]
|
/openbmc/linux/include/rdma/ |
H A D | rdma_netlink.h | 6 #include <linux/netlink.h> 27 /* Define this module as providing netlink services for NETLINK_RDMA, with 37 MODULE_ALIAS("rdma-netlink-subsys-" __stringify(_val)) 40 * Register client in RDMA netlink. 48 * Remove a client from IB netlink. 55 * @skb: The netlink skb. 56 * @nlh: Pointer to put the header of the new netlink message. 59 * @client: Calling IB netlink client. 67 * @skb: The netlink skb. 68 * @nlh: Header of the netlink message to append the attribute to. [all …]
|
/openbmc/linux/include/net/ |
H A D | genetlink.h | 6 #include <net/netlink.h> 12 * struct genl_multicast_group - generic netlink multicast group 27 * struct genl_family - generic netlink family 32 * @policy: netlink policy 97 * @snd_portid: netlink portid of sender 98 * @family: generic netlink family 99 * @nlhdr: netlink message header 100 * @genlhdr: generic netlink message header 101 * @attrs: netlink attributes 152 * struct genl_small_ops - generic netlink operations (small version) [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_free() free a netlink message 64 * nlmsg_next(nlh, remaining) get next netlink message 68 * nlmsg_validate() validate netlink message incl. attrs 89 * struct nlattr netlink attribute header [all …]
|
/openbmc/linux/tools/net/ynl/lib/ |
H A D | ynl.py | 17 # Generic Netlink code which should really be in some library, but I can't quickly find one. 21 class Netlink: class 22 # Netlink socket 30 # Netlink message 84 return f"Netlink error: {os.strerror(-self.nl_msg.error)}\n{self.nl_msg}" 102 self.type = self._type & ~Netlink.NLA_TYPE_MASK 199 if self.nl_type == Netlink.NLMSG_ERROR: 203 elif self.nl_type == Netlink.NLMSG_DONE: 209 if self.nl_flags & Netlink.NLM_F_ACK_TLVS and extack_off: 213 if extack.type == Netlink.NLMSGERR_ATTR_MSG: [all …]
|
/openbmc/phosphor-networkd/src/ |
H A D | netlink.hpp | 2 #include <linux/netlink.h> 16 namespace netlink namespace 33 /** @brief Receives all outstanding messages on a netlink socket 62 /** @brief Performs a netlink request of the specified type with the given 65 * @param[in] protocol - The netlink protocol to use when opening the socket 66 * @param[in] type - The netlink message type 67 * @param[in] flags - Additional netlink flags for the request 90 } // namespace netlink
|
H A D | netlink.cpp | 1 #include "netlink.hpp" 3 #include <linux/netlink.h> 21 namespace netlink namespace 102 "netlink sendmsg"); in requestSend() 110 auto sock = socket(SocketDomain::Netlink, SocketType::Raw, in makeSocket() 132 // it gets truncated. The netlink docs guarantee packets will not exceed 8K in receive() 157 "netlink recvmsg"); in receive() 163 throw std::runtime_error("netlink recvmsg: Got empty payload"); in receive() 177 throw std::runtime_error("Extra unprocessed netlink messages"); in receive() 202 } // namespace netlink
|
H A D | rtnetlink.cpp | 3 #include "netlink.hpp" 8 namespace phosphor::network::netlink namespace 21 auto [hdr, data] = netlink::extractRtAttr(msg); in parseVlanInfo() 36 auto [hdr, data] = netlink::extractRtAttr(msg); in parseLinkInfo() 56 const auto& ifinfo = netlink::extractRtData<ifinfomsg>(msg); in intfFromRtm() 63 auto [hdr, data] = netlink::extractRtAttr(msg); in intfFromRtm() 164 const auto& ndm = netlink::extractRtData<ndmsg>(msg); in neighFromRtm() 171 auto [hdr, data] = netlink::extractRtAttr(msg); in neighFromRtm() 184 } // namespace phosphor::network::netlink
|
/openbmc/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 …]
|
/openbmc/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
|
/openbmc/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_mgmt.c | 24 #include <net/netlink.h> 48 /* NetLabel Generic NETLINK CIPSOv4 family */ 51 /* NetLabel Netlink attribute policy */ 67 * @info: the Generic NETLINK info block 272 * @skb: the NETLINK buffer 413 * @skb: the NETLINK buffer 414 * @info: the Generic NETLINK info block 445 * @skb: the NETLINK buffer 446 * @info: the Generic NETLINK info block 506 * @skb: the NETLINK buffer [all …]
|
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
|
/openbmc/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 191 * enum nft_table_attributes - nf_tables table netlink attributes 197 * @NFTA_TABLE_OWNER: owner of this table through netlink portID (NLA_U32) 222 * enum nft_chain_attributes - nf_tables chain netlink attributes 255 * enum nft_rule_attributes - nf_tables rule netlink attributes 374 * enum nft_set_attributes - nf_tables set netlink attributes 430 * enum nft_set_elem_attributes - nf_tables set element netlink attributes 461 * enum nft_set_elem_list_attributes - nf_tables set element list netlink attributes [all …]
|
/openbmc/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()
|
/openbmc/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 123 description: The netlink attribute type 196 description: The netlink attribute type 296 header. This header is placed in a message after the netlink and [all …]
|
/openbmc/openbmc/poky/meta/recipes-extended/ethtool/ |
H A D | ethtool_6.11.bb | 22 PACKAGECONFIG ?= "netlink" 23 PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl," 32 if ${@bb.utils.contains('PACKAGECONFIG', 'netlink', 'false', 'true', d)}; then
|
/openbmc/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 …]
|
/openbmc/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
|