net/vmw_vsock/hyperv_transport.c
Source file repositories/reference/linux-study-clean/net/vmw_vsock/hyperv_transport.c
File Facts
- System
- Linux kernel
- Corpus path
net/vmw_vsock/hyperv_transport.c- Extension
.c- Size
- 25669 bytes
- Lines
- 993
- 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.
- 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/module.hlinux/vmalloc.hlinux/hyperv.hnet/sock.hnet/af_vsock.hhyperv/hvhdk.h
Detected Declarations
struct vmpipe_proto_headerstruct hvs_recv_bufstruct hvs_send_bufstruct hvsockfunction is_valid_srv_idfunction get_port_by_srv_idfunction hvs_addr_initfunction hvs_set_channel_pending_send_sizefunction hvs_channel_readablefunction hvs_channel_readable_payloadfunction hvs_channel_writable_bytesfunction __hvs_send_datafunction hvs_send_datafunction hvs_channel_cbfunction hvs_do_close_lock_heldfunction hvs_close_connectionfunction hvs_open_connectionfunction hvs_get_local_cidfunction hvs_sock_initfunction hvs_connectfunction hvs_shutdown_lock_heldfunction hvs_shutdownfunction hvs_close_timeoutfunction hvs_close_lock_heldfunction hvs_releasefunction hvs_destructfunction hvs_dgram_bindfunction hvs_dgram_dequeuefunction hvs_dgram_enqueuefunction hvs_dgram_allowfunction hvs_update_recv_datafunction hvs_stream_dequeuefunction hvs_stream_enqueuefunction hvs_stream_has_datafunction hvs_stream_has_spacefunction hvs_stream_rcvhiwatfunction hvs_stream_is_activefunction hvs_stream_allowfunction hvs_notify_poll_infunction hvs_notify_poll_outfunction hvs_notify_recv_initfunction hvs_notify_recv_pre_blockfunction hvs_notify_recv_pre_dequeuefunction hvs_notify_recv_post_dequeuefunction hvs_notify_send_initfunction hvs_notify_send_pre_blockfunction hvs_notify_send_pre_enqueuefunction hvs_notify_send_post_enqueue
Annotated Snippet
module_init(hvs_init);
module_exit(hvs_exit);
MODULE_DESCRIPTION("Hyper-V Sockets");
MODULE_VERSION("1.0.0");
MODULE_LICENSE("GPL");
MODULE_ALIAS_NETPROTO(PF_VSOCK);
Annotation
- Immediate include surface: `linux/module.h`, `linux/vmalloc.h`, `linux/hyperv.h`, `net/sock.h`, `net/af_vsock.h`, `hyperv/hvhdk.h`.
- Detected declarations: `struct vmpipe_proto_header`, `struct hvs_recv_buf`, `struct hvs_send_buf`, `struct hvsock`, `function is_valid_srv_id`, `function get_port_by_srv_id`, `function hvs_addr_init`, `function hvs_set_channel_pending_send_size`, `function hvs_channel_readable`, `function hvs_channel_readable_payload`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- Implementation status: integration implementation candidate.
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.