include/net/flow_offload.h
Source file repositories/reference/linux-study-clean/include/net/flow_offload.h
File Facts
- System
- Linux kernel
- Corpus path
include/net/flow_offload.h- Extension
.h- Size
- 20679 bytes
- Lines
- 748
- Domain
- Networking Core
- Bucket
- Sockets, Protocols, Packet Path, And Network Policy
- Inferred role
- Networking Core: implementation source
- Status
- source 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/kernel.hlinux/list.hlinux/netlink.hnet/flow_dissector.h
Detected Declarations
struct flow_matchstruct flow_match_metastruct flow_match_basicstruct flow_match_controlstruct flow_match_eth_addrsstruct flow_match_vlanstruct flow_match_arpstruct flow_match_ipv4_addrsstruct flow_match_ipv6_addrsstruct flow_match_ipstruct flow_match_portsstruct flow_match_ports_rangestruct flow_match_icmpstruct flow_match_tcpstruct flow_match_ipsecstruct flow_match_mplsstruct flow_match_enc_keyidstruct flow_match_enc_optsstruct flow_match_ctstruct flow_match_pppoestruct flow_match_l2tpv3struct flow_rulestruct flow_action_cookiestruct flow_action_policestruct flow_action_entrystruct flow_actionstruct flow_rulestruct flow_statsstruct flow_blockstruct netlink_ext_ackstruct flow_block_offloadstruct flow_block_cbstruct flow_block_indrstruct flow_block_cbstruct flow_cls_common_offloadstruct flow_cls_offloadstruct flow_offload_actionenum flow_action_idenum flow_action_mangle_baseenum flow_action_hw_stats_bitenum flow_action_hw_statsenum flow_block_commandenum flow_block_binder_typeenum tc_setup_typeenum flow_cls_commandenum offload_act_commandfunction flow_action_has_entriesfunction flow_offload_has_one_action
Annotated Snippet
struct flow_match {
struct flow_dissector *dissector;
void *mask;
void *key;
};
struct flow_match_meta {
struct flow_dissector_key_meta *key, *mask;
};
struct flow_match_basic {
struct flow_dissector_key_basic *key, *mask;
};
struct flow_match_control {
struct flow_dissector_key_control *key, *mask;
};
struct flow_match_eth_addrs {
struct flow_dissector_key_eth_addrs *key, *mask;
};
struct flow_match_vlan {
struct flow_dissector_key_vlan *key, *mask;
};
struct flow_match_arp {
struct flow_dissector_key_arp *key, *mask;
};
struct flow_match_ipv4_addrs {
struct flow_dissector_key_ipv4_addrs *key, *mask;
};
struct flow_match_ipv6_addrs {
struct flow_dissector_key_ipv6_addrs *key, *mask;
};
struct flow_match_ip {
struct flow_dissector_key_ip *key, *mask;
};
struct flow_match_ports {
struct flow_dissector_key_ports *key, *mask;
};
struct flow_match_ports_range {
struct flow_dissector_key_ports_range *key, *mask;
};
struct flow_match_icmp {
struct flow_dissector_key_icmp *key, *mask;
};
struct flow_match_tcp {
struct flow_dissector_key_tcp *key, *mask;
};
struct flow_match_ipsec {
struct flow_dissector_key_ipsec *key, *mask;
};
struct flow_match_mpls {
struct flow_dissector_key_mpls *key, *mask;
};
struct flow_match_enc_keyid {
struct flow_dissector_key_keyid *key, *mask;
};
struct flow_match_enc_opts {
struct flow_dissector_key_enc_opts *key, *mask;
};
struct flow_match_ct {
struct flow_dissector_key_ct *key, *mask;
};
struct flow_match_pppoe {
struct flow_dissector_key_pppoe *key, *mask;
};
struct flow_match_l2tpv3 {
struct flow_dissector_key_l2tpv3 *key, *mask;
};
struct flow_rule;
void flow_rule_match_meta(const struct flow_rule *rule,
struct flow_match_meta *out);
Annotation
- Immediate include surface: `linux/kernel.h`, `linux/list.h`, `linux/netlink.h`, `net/flow_dissector.h`.
- Detected declarations: `struct flow_match`, `struct flow_match_meta`, `struct flow_match_basic`, `struct flow_match_control`, `struct flow_match_eth_addrs`, `struct flow_match_vlan`, `struct flow_match_arp`, `struct flow_match_ipv4_addrs`, `struct flow_match_ipv6_addrs`, `struct flow_match_ip`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- 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.