netlink_socket/
protocols.rs

1pub const NETLINK_ROUTE: isize = 0;
2pub const NETLINK_UNUSED: isize = 1;
3pub const NETLINK_USERSOCK: isize = 2;
4pub const NETLINK_FIREWALL: isize = 3;
5pub const NETLINK_SOCK_DIAG: isize = 4;
6pub const NETLINK_NFLOG: isize = 5;
7pub const NETLINK_XFRM: isize = 6;
8pub const NETLINK_SELINUX: isize = 7;
9pub const NETLINK_ISCSI: isize = 8;
10pub const NETLINK_AUDIT: isize = 9;
11pub const NETLINK_FIB_LOOKUP: isize = 10;
12pub const NETLINK_CONNECTOR: isize = 11;
13pub const NETLINK_NETFILTER: isize = 12;
14pub const NETLINK_IP6_FW: isize = 13;
15pub const NETLINK_DNRTMSG: isize = 14;
16pub const NETLINK_KOBJECT_UEVENT: isize = 15;
17pub const NETLINK_GENERIC: isize = 16;
18pub const NETLINK_SCSITRANSPORT: isize = 18;
19pub const NETLINK_ECRYPTFS: isize = 19;
20pub const NETLINK_RDMA: isize = 20;
21pub const NETLINK_CRYPTO: isize = 21;
22// pub const NETLINK_SMC: isize = 22;
23// pub const NETLINK_INET_DIAG: isize = 4;
24
25/// List of netlink protocols
26pub enum Protocol {
27    /// Receives routing and link updates and may be used to modify the routing tables (both IPv4
28    /// and IPv6), IP addresses, link parameters, neighbor setups, queueing disciplines, traffic
29    /// classes  and  packet  classifiers  (see rtnetlink(7)).
30    Route = NETLINK_ROUTE,
31    Unused = NETLINK_UNUSED,
32    /// Reserved for user-mode socket protocols.
33    UserSock = NETLINK_USERSOCK,
34    /// Transport  IPv4  packets  from  netfilter  to  user  space.  Used by ip_queue kernel
35    /// module.  After a long period of being declared obsolete (in favor of the more advanced
36    /// nfnetlink_queue feature), it was  removed in Linux 3.5.
37    Firewall = NETLINK_FIREWALL,
38    /// Query information about sockets of various protocol families from the kernel (see sock_diag(7)).
39    SockDiag = NETLINK_SOCK_DIAG,
40    /// Netfilter/iptables ULOG.
41    NfLog = NETLINK_NFLOG,
42    /// IPsec.
43    Xfrm = NETLINK_XFRM,
44    /// SELinux event notifications.
45    SELinux = NETLINK_SELINUX,
46    /// Open-iSCSI.
47    ISCSI = NETLINK_ISCSI,
48    /// Auditing.
49    Audit = NETLINK_AUDIT,
50    /// Access to FIB lookup from user space.
51    FibLookup = NETLINK_FIB_LOOKUP,
52    /// Kernel connector. See `Documentation/connector/*` in the Linux kernel source tree for further information.
53    Connector = NETLINK_CONNECTOR,
54    /// Netfilter subsystem.
55    Netfilter = NETLINK_NETFILTER,
56    /// Transport IPv6 packets from netfilter to user space.  Used by ip6_queue kernel module.
57    Ip6Fw = NETLINK_IP6_FW,
58    /// DECnet routing messages.
59    Decnet = NETLINK_DNRTMSG,
60    /// Kernel messages to user space.
61    KObjectUevent = NETLINK_KOBJECT_UEVENT,
62    ///  Generic netlink family for simplified netlink usage.
63    Generic = NETLINK_GENERIC,
64    /// SCSI transpots
65    ScsiTransport = NETLINK_SCSITRANSPORT,
66    ///
67    Ecryptfs = NETLINK_ECRYPTFS,
68    /// Infiniband RDMA.
69    Rdma = NETLINK_RDMA,
70    /// Netlink interface to request information about ciphers registered with the kernel crypto
71    /// API as well as allow configuration of the kernel crypto API.
72    Crypto = NETLINK_CRYPTO,
73}