net/xfrm/xfrm_iptfs.c
Source file repositories/reference/linux-study-clean/net/xfrm/xfrm_iptfs.c
File Facts
- System
- Linux kernel
- Corpus path
net/xfrm/xfrm_iptfs.c- Extension
.c- Size
- 80492 bytes
- Lines
- 2795
- 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.
- Touches user memory; correctness depends on fault-safe copying and privilege boundary handling.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/kernel.hlinux/icmpv6.hlinux/skbuff_ref.hnet/gro.hnet/icmp.hnet/ip6_route.hnet/inet_ecn.hnet/xfrm.hcrypto/aead.hxfrm_inout.htrace_iptfs.h
Detected Declarations
struct xfrm_iptfs_configstruct skb_wseqstruct xfrm_iptfs_datastruct iptfs_skb_frag_walkfunction __trace_ip_protofunction __trace_ip_proto_seqfunction __esp_seqfunction iptfs_alloc_skbfunction iptfs_skb_head_to_fragfunction iptfs_skb_prepare_frag_walkfunction iptfs_skb_reset_frag_walkfunction iptfs_skb_can_add_fragsfunction iptfs_skb_add_fragsfunction iptfs_pskb_add_fragsfunction iptfs_pskb_extract_seqfunction iptfs_input_save_runtfunction __iptfs_iphlenfunction __iptfs_iplenfunction iptfs_complete_inner_skbfunction __iptfs_reassem_donefunction iptfs_reassem_abortfunction iptfs_reassem_donefunction iptfs_reassem_contfunction iptfs_skb_can_add_fragsfunction __input_process_payloadfunction skb_tailroomfunction iptfs_input_orderedfunction __vec_shiftfunction __reorder_pastfunction __reorder_dropfunction __reorder_thisfunction iptfs_set_window_drop_timesfunction __reorder_future_fitsfunction indexfunction __reorder_future_shiftsfunction iptfs_input_reorderfunction iptfs_drop_timerfunction iptfs_inputfunction list_for_each_entry_safefunction list_for_each_entry_safefunction iptfs_enqueuefunction iptfs_get_cur_pmtufunction iptfs_is_too_bigfunction iptfs_output_collectfunction skb_list_walk_safefunction iptfs_output_prepare_skbfunction iptfs_copy_create_fragfunction iptfs_copy_create_frags
Annotated Snippet
module_init(xfrm_iptfs_init);
module_exit(xfrm_iptfs_fini);
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("IP-TFS support for xfrm ipsec tunnels");
Annotation
- Immediate include surface: `linux/kernel.h`, `linux/icmpv6.h`, `linux/skbuff_ref.h`, `net/gro.h`, `net/icmp.h`, `net/ip6_route.h`, `net/inet_ecn.h`, `net/xfrm.h`.
- Detected declarations: `struct xfrm_iptfs_config`, `struct skb_wseq`, `struct xfrm_iptfs_data`, `struct iptfs_skb_frag_walk`, `function __trace_ip_proto`, `function __trace_ip_proto_seq`, `function __esp_seq`, `function iptfs_alloc_skb`, `function iptfs_skb_head_to_frag`, `function iptfs_skb_prepare_frag_walk`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- Implementation status: integration implementation candidate.
- This snippet crosses the user/kernel memory boundary; validate fault handling and access checks before translating the pattern.
- 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.