net/ieee802154/6lowpan/rx.c
Source file repositories/reference/linux-study-clean/net/ieee802154/6lowpan/rx.c
File Facts
- System
- Linux kernel
- Corpus path
net/ieee802154/6lowpan/rx.c- Extension
.c- Size
- 7268 bytes
- Lines
- 324
- 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/if_arp.hnet/6lowpan.hnet/mac802154.hnet/ieee802154_netdev.h6lowpan_i.h
Detected Declarations
function lowpan_give_skb_to_devicefunction lowpan_rx_handlers_resultfunction lowpan_is_frag1function lowpan_is_fragnfunction lowpan_rx_h_fragfunction lowpan_iphc_decompressfunction lowpan_rx_h_iphcfunction lowpan_rx_h_ipv6function lowpan_is_escfunction lowpan_rx_h_escfunction lowpan_is_hc1function lowpan_rx_h_hc1function lowpan_is_dfffunction lowpan_rx_h_dfffunction lowpan_is_bc0function lowpan_rx_h_bc0function lowpan_is_meshfunction lowpan_rx_h_meshfunction lowpan_invoke_rx_handlersfunction lowpan_is_nalpfunction lowpan_is_reservedfunction lowpan_rx_h_checkfunction lowpan_rcvfunction lowpan_is_iphcfunction lowpan_rx_initfunction lowpan_rx_exit
Annotated Snippet
lowpan_is_iphc(*skb_network_header(skb))) {
skb = skb_unshare(skb, GFP_ATOMIC);
if (!skb)
goto out;
}
return lowpan_invoke_rx_handlers(skb);
drop:
kfree_skb(skb);
out:
return NET_RX_DROP;
}
static struct packet_type lowpan_packet_type = {
.type = htons(ETH_P_IEEE802154),
.func = lowpan_rcv,
};
void lowpan_rx_init(void)
{
dev_add_pack(&lowpan_packet_type);
}
void lowpan_rx_exit(void)
{
dev_remove_pack(&lowpan_packet_type);
}
Annotation
- Immediate include surface: `linux/if_arp.h`, `net/6lowpan.h`, `net/mac802154.h`, `net/ieee802154_netdev.h`, `6lowpan_i.h`.
- Detected declarations: `function lowpan_give_skb_to_device`, `function lowpan_rx_handlers_result`, `function lowpan_is_frag1`, `function lowpan_is_fragn`, `function lowpan_rx_h_frag`, `function lowpan_iphc_decompress`, `function lowpan_rx_h_iphc`, `function lowpan_rx_h_ipv6`, `function lowpan_is_esc`, `function lowpan_rx_h_esc`.
- 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.