drivers/net/ethernet/mediatek/mtk_ppe.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/mediatek/mtk_ppe.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/mediatek/mtk_ppe.h- Extension
.h- Size
- 9680 bytes
- Lines
- 408
- Domain
- Driver Families
- Bucket
- drivers/net
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/kernel.hlinux/bitfield.hlinux/rhashtable.h
Detected Declarations
struct mtk_foe_mac_infostruct mtk_foe_bridgestruct mtk_ipv4_tuplestruct mtk_foe_ipv4struct mtk_foe_ipv4_dslitestruct mtk_foe_ipv6struct mtk_foe_ipv6_6rdstruct mtk_foe_entrystruct mtk_flow_entrystruct mtk_mib_entrystruct mtk_foe_accountingstruct mtk_ppefunction mtk_ppe_check_skb
Annotated Snippet
struct mtk_foe_mac_info {
u16 vlan1;
u16 etype;
u32 dest_mac_hi;
u16 vlan2;
u16 dest_mac_lo;
u32 src_mac_hi;
u16 pppoe_id;
u16 src_mac_lo;
/* netsys_v2 */
u16 minfo;
u16 winfo;
/* netsys_v3 */
u32 w3info;
u32 amsdu;
};
/* software-only entry type */
struct mtk_foe_bridge {
u8 dest_mac[ETH_ALEN];
u8 src_mac[ETH_ALEN];
u16 vlan;
struct {} key_end;
u32 ib2;
struct mtk_foe_mac_info l2;
};
struct mtk_ipv4_tuple {
u32 src_ip;
u32 dest_ip;
union {
struct {
u16 dest_port;
u16 src_port;
};
struct {
u8 protocol;
u8 _pad[3]; /* fill with 0xa5a5a5 */
};
u32 ports;
};
};
struct mtk_foe_ipv4 {
struct mtk_ipv4_tuple orig;
u32 ib2;
struct mtk_ipv4_tuple new;
u16 timestamp;
u16 _rsv0[3];
u32 udf_tsid;
struct mtk_foe_mac_info l2;
};
struct mtk_foe_ipv4_dslite {
struct mtk_ipv4_tuple ip4;
u32 tunnel_src_ip[4];
u32 tunnel_dest_ip[4];
u8 flow_label[3];
u8 priority;
u32 udf_tsid;
u32 ib2;
struct mtk_foe_mac_info l2;
};
struct mtk_foe_ipv6 {
u32 src_ip[4];
u32 dest_ip[4];
union {
struct {
u8 protocol;
Annotation
- Immediate include surface: `linux/kernel.h`, `linux/bitfield.h`, `linux/rhashtable.h`.
- Detected declarations: `struct mtk_foe_mac_info`, `struct mtk_foe_bridge`, `struct mtk_ipv4_tuple`, `struct mtk_foe_ipv4`, `struct mtk_foe_ipv4_dslite`, `struct mtk_foe_ipv6`, `struct mtk_foe_ipv6_6rd`, `struct mtk_foe_entry`, `struct mtk_flow_entry`, `struct mtk_mib_entry`.
- Atlas domain: Driver Families / drivers/net.
- 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.