include/uapi/linux/ip_vs.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/ip_vs.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/ip_vs.h- Extension
.h- Size
- 14133 bytes
- Lines
- 475
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.h
Detected Declarations
struct ip_vs_service_userstruct ip_vs_dest_userstruct ip_vs_stats_userstruct ip_vs_getinfostruct ip_vs_service_entrystruct ip_vs_dest_entrystruct ip_vs_get_destsstruct ip_vs_get_servicesstruct ip_vs_timeout_userstruct ip_vs_daemon_userstruct ip_vs_flags
Annotated Snippet
struct ip_vs_service_user {
/* virtual service addresses */
__u16 protocol;
__be32 addr; /* virtual ip address */
__be16 port;
__u32 fwmark; /* firwall mark of service */
/* virtual service options */
char sched_name[IP_VS_SCHEDNAME_MAXLEN];
unsigned int flags; /* virtual service flags */
unsigned int timeout; /* persistent timeout in sec */
__be32 netmask; /* persistent netmask */
};
struct ip_vs_dest_user {
/* destination server address */
__be32 addr;
__be16 port;
/* real server options */
unsigned int conn_flags; /* connection flags */
int weight; /* destination weight */
/* thresholds for active connections */
__u32 u_threshold; /* upper threshold */
__u32 l_threshold; /* lower threshold */
};
/*
* IPVS statistics object (for user space)
*/
struct ip_vs_stats_user {
__u32 conns; /* connections scheduled */
__u32 inpkts; /* incoming packets */
__u32 outpkts; /* outgoing packets */
__u64 inbytes; /* incoming bytes */
__u64 outbytes; /* outgoing bytes */
__u32 cps; /* current connection rate */
__u32 inpps; /* current in packet rate */
__u32 outpps; /* current out packet rate */
__u32 inbps; /* current in byte rate */
__u32 outbps; /* current out byte rate */
};
/* The argument to IP_VS_SO_GET_INFO */
struct ip_vs_getinfo {
/* version number */
unsigned int version;
/* size of connection hash table */
unsigned int size;
/* number of virtual services */
unsigned int num_services;
};
/* The argument to IP_VS_SO_GET_SERVICE */
struct ip_vs_service_entry {
/* which service: user fills in these */
__u16 protocol;
__be32 addr; /* virtual address */
__be16 port;
__u32 fwmark; /* firwall mark of service */
/* service options */
char sched_name[IP_VS_SCHEDNAME_MAXLEN];
unsigned int flags; /* virtual service flags */
unsigned int timeout; /* persistent timeout */
__be32 netmask; /* persistent netmask */
/* number of real servers */
unsigned int num_dests;
/* statistics */
struct ip_vs_stats_user stats;
};
struct ip_vs_dest_entry {
__be32 addr; /* destination address */
__be16 port;
unsigned int conn_flags; /* connection flags */
int weight; /* destination weight */
__u32 u_threshold; /* upper threshold */
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct ip_vs_service_user`, `struct ip_vs_dest_user`, `struct ip_vs_stats_user`, `struct ip_vs_getinfo`, `struct ip_vs_service_entry`, `struct ip_vs_dest_entry`, `struct ip_vs_get_dests`, `struct ip_vs_get_services`, `struct ip_vs_timeout_user`, `struct ip_vs_daemon_user`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source 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.