stmmac_has_ip_ethertype(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 πŸŽ‰ slay
  • false β€” 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