include/linux/ipv6.h
Source file repositories/reference/linux-study-clean/include/linux/ipv6.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/ipv6.h- Extension
.h- Size
- 9047 bytes
- Lines
- 389
- 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.
- 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
uapi/linux/ipv6.hlinux/cache.hlinux/tcp.hlinux/udp.hnet/inet_sock.h
Detected Declarations
struct ipv6_devconfstruct ipv6_stable_secretstruct ipv6_paramsstruct inet6_skb_parmstruct tcp6_request_sockstruct ipv6_mc_sockliststruct ipv6_ac_sockliststruct ipv6_fl_sockliststruct ipv6_pinfostruct raw6_sockstruct udp6_sockstruct tcp6_sockstruct tcp6_timewait_sockfunction ipv6_transport_lenfunction ipv6_payload_lenfunction skb_ipv6_payload_lenfunction ipv6_set_payload_lenfunction ipv6_l3mdev_skbfunction ipv6_l3mdev_skbfunction inet6_iiffunction inet6_is_jumbogramfunction inet6_sdiffunction ipv6_mod_enabledfunction inet6_skfunction inet_v6_ipv6onlyfunction ipv6_mod_enabledfunction inet6_sk
Annotated Snippet
struct ipv6_devconf {
/* RX & TX fastpath fields. */
__cacheline_group_begin(ipv6_devconf_read_txrx);
__s32 disable_ipv6;
__s32 hop_limit;
__s32 mtu6;
__s32 forwarding;
__s32 force_forwarding;
__s32 disable_policy;
__s32 proxy_ndp;
__cacheline_group_end(ipv6_devconf_read_txrx);
__s32 accept_ra;
__s32 accept_redirects;
__s32 autoconf;
__s32 dad_transmits;
__s32 rtr_solicits;
__s32 rtr_solicit_interval;
__s32 rtr_solicit_max_interval;
__s32 rtr_solicit_delay;
__s32 force_mld_version;
__s32 mldv1_unsolicited_report_interval;
__s32 mldv2_unsolicited_report_interval;
__s32 use_tempaddr;
__s32 temp_valid_lft;
__s32 temp_prefered_lft;
__s32 regen_min_advance;
__s32 regen_max_retry;
__s32 max_desync_factor;
__s32 max_addresses;
__s32 accept_ra_defrtr;
__u32 ra_defrtr_metric;
__s32 accept_ra_min_hop_limit;
__s32 accept_ra_min_lft;
__s32 accept_ra_pinfo;
__s32 ignore_routes_with_linkdown;
#ifdef CONFIG_IPV6_ROUTER_PREF
__s32 accept_ra_rtr_pref;
__s32 rtr_probe_interval;
#ifdef CONFIG_IPV6_ROUTE_INFO
__s32 accept_ra_rt_info_min_plen;
__s32 accept_ra_rt_info_max_plen;
#endif
#endif
__s32 accept_source_route;
__s32 accept_ra_from_local;
#ifdef CONFIG_IPV6_OPTIMISTIC_DAD
__s32 optimistic_dad;
__s32 use_optimistic;
#endif
#ifdef CONFIG_IPV6_MROUTE
atomic_t mc_forwarding;
#endif
__s32 drop_unicast_in_l2_multicast;
__s32 accept_dad;
__s32 force_tllao;
__s32 ndisc_notify;
__s32 suppress_frag_ndisc;
__s32 accept_ra_mtu;
__s32 drop_unsolicited_na;
__s32 accept_untracked_na;
struct ipv6_stable_secret {
bool initialized;
struct in6_addr secret;
} stable_secret;
__s32 use_oif_addrs_only;
__s32 keep_addr_on_down;
__s32 seg6_enabled;
#ifdef CONFIG_IPV6_SEG6_HMAC
__s32 seg6_require_hmac;
#endif
__u32 enhanced_dad;
__u32 addr_gen_mode;
__s32 ndisc_tclass;
__s32 rpl_seg_enabled;
__u32 ioam6_id;
__u32 ioam6_id_wide;
__u8 ioam6_enabled;
__u8 ndisc_evict_nocarrier;
__u8 ra_honor_pio_life;
__u8 ra_honor_pio_pflag;
struct ctl_table_header *sysctl_header;
};
struct ipv6_params {
__s32 disable_ipv6;
__s32 autoconf;
};
extern struct ipv6_params ipv6_defaults;
Annotation
- Immediate include surface: `uapi/linux/ipv6.h`, `linux/cache.h`, `linux/tcp.h`, `linux/udp.h`, `net/inet_sock.h`.
- Detected declarations: `struct ipv6_devconf`, `struct ipv6_stable_secret`, `struct ipv6_params`, `struct inet6_skb_parm`, `struct tcp6_request_sock`, `struct ipv6_mc_socklist`, `struct ipv6_ac_socklist`, `struct ipv6_fl_socklist`, `struct ipv6_pinfo`, `struct raw6_sock`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source 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.