stmmac_has_ip_ethertype(9)
π stmmac_has_ip_ethertype β the group chat version π
okay so real talk, this is a page from the Kernel API Manual (section 9, bestie, that's the kernel API section π«) and it's about one absolutely tiny but lowkey iconic little function. buckle up, it's a short one π¦
β¨ NAME β¨
stmmac_has_ip_ethertype β check if packet has IP ethertype π
πΈ SYNOPSIS πΈ
bool stmmac_has_ip_ethertype (struct sk_buff *skb );
that's it. that's the whole vibe check. one arg, one bool out the door πͺπ¨
π ARGUMENTS π
skbβ the socket buffer you want to check π this is the packet in question, the main character of the operation fr fr
π DESCRIPTION π
so here's the tea β β this function checks whether a packet has an ethertype that will trigger the IP header checks and the IP/TCP checksum engine of the stmmac core. literally just a "does this thing qualify for the hardware assist" question π
no deep magic, no side quests. you hand it a packet, it looks at the ethertype, and it tells you whether that ethertype is the kind that wakes up the checksum machinery. that's her whole job π
π₯ RETURN π₯
trueβ yup, this ethertype can trigger the checksum engine π slayfalseβ nope, it can't, moving on π
π SEE ALSO π
first up, the actual source file this lives in, because homework matters bestie:
./drivers/net/ethernet/stmicro/stmmac/stmmac_main.c π
and now the full extended universe of stmmac friends β every single one of them, no gatekeeping π«Ά
stmmac_set_clk_tx_rate(9), stmmac_axi_blen_to_mask(9), stmmac_verify_args(9), stmmac_disable_all_queues(9), stmmac_enable_all_queues(9), stmmac_rx_dirty(9), stmmac_try_to_start_sw_lpi(9), stmmac_stop_sw_lpi(9), stmmac_eee_ctrl_timer(9), stmmac_hwtstamp_set(9), stmmac_hwtstamp_get(9), stmmac_init_tstamp_counter(9), stmmac_init_timestamping(9), stmmac_mac_flow_ctrl(9), stmmac_check_pcs_mode(9), stmmac_init_phy(9), stmmac_clear_rx_descriptors(9), stmmac_clear_tx_descriptors(9), stmmac_clear_descriptors(9), stmmac_init_rx_buffers(9), stmmac_free_rx_buffer(9), stmmac_free_tx_buffer(9), dma_free_rx_skbufs(9), dma_free_rx_xskbufs(9), __init_dma_rx_desc_rings(9), __init_dma_tx_desc_rings(9), init_dma_desc_rings(9), dma_free_tx_skbufs(9), stmmac_free_tx_skbufs(9), __free_dma_rx_desc_resources(9), __free_dma_tx_desc_resources(9), __alloc_dma_rx_desc_resources(9), __alloc_dma_tx_desc_resources(9), alloc_dma_desc_resources(9), free_dma_desc_resources(9), stmmac_mac_enable_rx_queues(9), stmmac_start_rx_dma(9), stmmac_start_tx_dma(9), stmmac_stop_rx_dma(9), stmmac_stop_tx_dma(9), stmmac_start_all_dma(9), stmmac_stop_all_dma(9), stmmac_dma_operation_mode(9), stmmac_tx_clean(9), stmmac_tx_err(9), stmmac_set_dma_operation_mode(9), stmmac_dma_interrupt(9), stmmac_mmc_setup(9), stmmac_get_hw_features(9), stmmac_check_ether_addr(9), stmmac_init_dma_engine(9), stmmac_tx_timer(9), stmmac_init_coalesce(9), stmmac_set_tx_queue_weight(9), stmmac_configure_cbs(9), stmmac_rx_queue_dma_chan_map(9), stmmac_mac_config_rx_queues_prio(9), stmmac_mac_config_tx_queues_prio(9), stmmac_mac_config_rx_queues_routing(9), stmmac_mtl_configuration(9), stmmac_hw_setup(9), stmmac_setup_dma_desc(9), __stmmac_open(9), stmmac_release(9), stmmac_tso_allocator(9), stmmac_tso_xmit(9), stmmac_xmit(9), stmmac_rx_refill(9), stmmac_rx(9), stmmac_tx_timeout(9), stmmac_set_rx_mode(9), stmmac_change_mtu(9), stmmac_interrupt(9), stmmac_ioctl(9), stmmac_hw_init(9), stmmac_dvr_probe(9), stmmac_dvr_remove(9), stmmac_suspend(9), stmmac_reset_queues_param(9), stmmac_resume(9) π
like, that's the whole friend group. eighty of them. they all showed up to the party π
ngl this page is short but she ate. one packet in, one bool out, checksum engine decisions made. periodt π
β¨
and that's a wrap bestie!! π«Ά this lil cutie is sourced from the stmmac driver hood, ./drivers/net/ethernet/stmicro..., and the page is dated October 2026 β yes, future girl summer πΈπ bye!! π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms