axienet_start_xmit(9)
π axienet_start_xmit(9) β the Kernel API Manual entry that's literally about kicking off a transmission β¨
okay bestie so welcome to the Kernel API Manual, and today's main character is axienet_start_xmit π This little icon is the function that gets the packets moving, and we're gonna go through the whole page top to bottom, no skips, no cap π
πΈ NAME πΈ
axienet_start_xmit β starts the transmission. that's it, that's the vibe. it's giving "press send" energy π€β¨
π¦ SYNOPSIS π¦
netdev_tx_t axienet_start_xmit (struct sk_buff *skb , struct net_device
*ndev );
like, that's the whole signature, slay π
π ARGUMENTS π
skbβ ask_buffpointer holding the data that's about to be Txed π this is the actual payload bestie, treat her with respect.ndevβ a pointer to thenet_devicestructure π«Ά that's the network device hanging out on the other end of things.
β RETURN β
NETDEV_TX_OKβ you get this on success, periodt β¨NETDEV_TX_BUSYβ you get this if any of the descriptors are not free π like the queue said "no room, come back later."
π DESCRIPTION π
okay so here's the lore π This function is invoked from upper layers to initiate transmission. she's not out here starting drama, she's out here starting sending π¨
What she does: uses the next available free BDs and populates their fields to start the transmission π very "fill in the blanks and go" of her.
And additionally β and this is the β¨extraβ¨ part β if checksum offloading is supported, she populates the AXI Stream Control fields with appropriate values π§ the way that she handles the offload detail too?? obsessed.
π₯ SEE ALSO π₯
y'all this list is long but we do not skip a single one, bestie, every single reference stays π«Ά
- Kernel file
./drivers/net/ethernet/xilinx/xilinx_axienet_main.c axienet_dma_in32(9)axienet_dma_bd_release(9)axienet_calc_cr(9)axienet_coalesce_params(9)axienet_dma_start(9)axienet_dma_bd_init(9)axienet_set_mac_address(9)netdev_set_mac_address(9)axienet_set_multicast_list(9)axienet_setoptions(9)axienet_dma_stop(9)axienet_device_reset(9)axienet_free_tx_chain(9)axienet_check_tx_bd_space(9)axienet_dma_tx_cb(9)axienet_start_xmit_dmaengine(9)axienet_tx_poll(9)axienet_dma_rx_cb(9)axienet_rx_poll(9)axienet_tx_irq(9)axienet_rx_irq(9)axienet_eth_irq(9)axienet_rx_submit_desc(9)axienet_init_dmaengine(9)axienet_init_legacy_dma(9)axienet_open(9)axienet_stop(9)axienet_change_mtu(9)axienet_poll_controller(9)axienet_ethtools_get_drvinfo(9)axienet_ethtools_get_regs_len(9)axienet_ethtools_get_regs(9)axienet_ethtools_get_pauseparam(9)axienet_ethtools_set_pauseparam(9)axienet_update_coalesce_rx(9)axienet_dim_coalesce_count_rx(9)axienet_rx_dim_work(9)axienet_update_coalesce_tx(9)axienet_ethtools_get_coalesce(9)axienet_ethtools_set_coalesce(9)axienet_dma_err_handler(9)axienet_probe(9)
π friendly reminder bestie: NETDEV_TX_BUSY is not a failure, it's a "not right now" β do not panic, do not spiral π
and that's the page!! tysm for reading, mwah π«Άπ
sign-off time π this one lives under ./drivers/net/ethernet/xilinx, dated October 2026, and it's literally axienet_start_xmit(9) β the one and only, no notes, periodt β¨π
π¦ 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