aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/socket_netlink.txt
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-01-09 21:24:02 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-01-09 21:24:30 +0100
commit1f60c8289d52323ee321586fb3e96bb91a0de542 (patch)
treed573f16528bbb9f23587d3cf86597b455b98571b /sys/linux/socket_netlink.txt
parent6bfc81c14289d715fe77ecf3e5437169446592b5 (diff)
sys/linux: add AF_NETLINK/NETLINK_NETFILTER descriptions
Diffstat (limited to 'sys/linux/socket_netlink.txt')
-rw-r--r--sys/linux/socket_netlink.txt49
1 files changed, 47 insertions, 2 deletions
diff --git a/sys/linux/socket_netlink.txt b/sys/linux/socket_netlink.txt
index f7b4120a1..195b45936 100644
--- a/sys/linux/socket_netlink.txt
+++ b/sys/linux/socket_netlink.txt
@@ -83,13 +83,55 @@ iovec_nl {
netlink_msg {
len len[parent, int32]
- type int16
+ type int16[NLMSG_MIN_TYPE:NLMSG_MAX_TYPE]
flags flags[netlink_msg_flags, int16]
seq netlink_seq
pid netlink_port_id
- data array[int8]
+# No body. Generic attribute can represent a random body.
+ attrs array[nl_generic_attr]
} [align_4]
+nl_generic_attr [
+ generic array[int8]
+ flag nl_generic_attr_flag
+ typed nl_generic_attr_typed
+ nested nl_generic_attr_nested
+] [varlen]
+
+nl_generic_attr_flag {
+ nla_len len[parent, int16]
+# NL80211 has 150 attributes.
+ nla_type int16[0:150]
+} [align_4]
+
+nl_generic_attr_typed {
+ nla_len len[parent, int16]
+ nla_type int16[0:150]
+ data nl_generic_attr_data
+} [align_4]
+
+nl_generic_attr_data [
+ u32 int32
+ u64 int64
+ fd fd
+ pid pid
+ uid uid
+ str string
+ binary array[int8]
+] [varlen]
+
+nl_generic_attr_nested {
+ nla_len len[parent, int16]
+ nla_type int16[0:150]
+ data array[nl_generic_attr_nonested]
+} [align_4]
+
+nl_generic_attr_nonested [
+ generic array[int8]
+ flag nl_generic_attr_flag
+ typed nl_generic_attr_typed
+] [varlen]
+
nl_mmap_req {
bsize int32
bnumber int32
@@ -97,6 +139,9 @@ nl_mmap_req {
fnumber int32
}
+# Some approximation for protocols for which we don't have precise descriptions.
+define NLMSG_MAX_TYPE NLMSG_MIN_TYPE + 50
+
# Removed (if __KERNEL__ defined) in next-20160229 (commit d1b4c689)
define NETLINK_RX_RING 6
define NETLINK_TX_RING 7