net/ipv4/raw_diag.c
Source file repositories/reference/linux-study-clean/net/ipv4/raw_diag.c
File Facts
- System
- Linux kernel
- Corpus path
net/ipv4/raw_diag.c- Extension
.c- Size
- 6278 bytes
- Lines
- 260
- Domain
- Networking Core
- Bucket
- Sockets, Protocols, Packet Path, And Network Policy
- Inferred role
- Networking Core: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/module.hlinux/inet_diag.hlinux/sock_diag.hnet/inet_sock.hnet/raw.hnet/rawv6.h
Detected Declarations
function raw_get_hashinfofunction raw_lookupfunction sk_for_each_rcufunction raw_diag_dump_onefunction sk_diag_dumpfunction raw_diag_dumpfunction sk_for_each_rcufunction raw_diag_get_infofunction raw_diag_destroyfunction __check_inet_diag_req_rawfunction raw_diag_initfunction raw_diag_exitmodule init raw_diag_init
Annotated Snippet
module_init(raw_diag_init);
module_exit(raw_diag_exit);
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("RAW socket monitoring via SOCK_DIAG");
MODULE_ALIAS_NET_PF_PROTO_TYPE(PF_NETLINK, NETLINK_SOCK_DIAG, 2-255 /* AF_INET - IPPROTO_RAW */);
MODULE_ALIAS_NET_PF_PROTO_TYPE(PF_NETLINK, NETLINK_SOCK_DIAG, 10-255 /* AF_INET6 - IPPROTO_RAW */);
Annotation
- Immediate include surface: `linux/module.h`, `linux/inet_diag.h`, `linux/sock_diag.h`, `net/inet_sock.h`, `net/raw.h`, `net/rawv6.h`.
- Detected declarations: `function raw_get_hashinfo`, `function raw_lookup`, `function sk_for_each_rcu`, `function raw_diag_dump_one`, `function sk_diag_dump`, `function raw_diag_dump`, `function sk_for_each_rcu`, `function raw_diag_get_info`, `function raw_diag_destroy`, `function __check_inet_diag_req_raw`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- Implementation status: integration implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.