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}