xcan_start_xmit(9)
π xcan_start_xmit(9) β the Kernel API Manual glow-up
okay so bestie, welcome to xcan_start_xmit, section 9 of the Kernel API Manual (yes the whole manual name, we're being official today π). This is the lil function that gets your CAN frames out the door. Let's go β¨
πΈ NAME πΈ
xcan_start_xmit β literally just starts the transmission. that's it. that's the whole job. iconic brevity π
β¨ SYNOPSIS β¨
netdev_tx_t xcan_start_xmit (struct sk_buff *skb , struct net_device
*ndev );
two args, one return, zero drama (mostly). keep scrolling for the deets π«Ά
π ARGUMENTS π
skbβ thesk_buffpointer holding the data that's about to get Txed. this is the actual payload bestie, the whole reason we're here πndevβ pointer to thenet_devicestructure. your network device's whole personality lives in there π
π¦ DESCRIPTION π¦
so this function gets invoked from the upper layers to initiate transmission. like, the layers above are basically tapping xcan_start_xmit on the shoulder going "hey. hey bestie. send this." and it's on. no cap, that's the entire vibe check π₯
π RETURN π
NETDEV_TX_OKβ success slay πNETDEV_TX_BUSYβ the tx queue is full π come back later
fr fr keep an eye on that NETDEV_TX_BUSY, it means "not right now" not "never" β the queue's just crowded π«Ά
β SEE ALSO β
the whole friend group π§, all hanging out in the kernel file ./drivers/net/can/xilinx_can.c:
struct xcan_priv(9)xcan_write_reg_le(9)xcan_read_reg_le(9)xcan_write_reg_be(9)xcan_read_reg_be(9)xcan_rx_int_mask(9)set_reset_mode(9)xcan_set_bittiming(9)xcan_chip_start(9)xcan_do_set_mode(9)xcan_write_frame(9)xcan_start_xmit_fifo(9)xcan_start_xmit_mailbox(9)xcan_rx(9)xcanfd_rx(9)xcan_current_error_state(9)xcan_set_error_state(9)xcan_update_error_state_after_rxtx(9)xcan_err_interrupt(9)xcan_state_interrupt(9)xcan_rx_fifo_get_next_frame(9)xcan_rx_poll(9)xcan_tx_interrupt(9)xcan_interrupt(9)xcan_chip_stop(9)xcan_open(9)xcan_close(9)xcan_get_berr_counter(9)xcan_get_auto_tdcv(9)xcan_suspend(9)xcan_resume(9)xcan_runtime_suspend(9)xcan_runtime_resume(9)xcan_probe(9)xcan_remove(9)
okay that's the whole page bestie, go forth and transmit π
sign-off szn: this page lives under ./drivers/net/can and it's stamped October 2026. iykyk πππ
π¦ 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