es58x_start_xmit(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… es58x_start_xmit β€” like, the whole kernel API manual page, bestie

okay so welcome to the glow-up of es58x_start_xmit(9), straight out of the Kernel API Manual ✨ this one lives in the kernel-doc universe, so it's a (9) page β€” very "internal kernel function, not a command you type," iykyk 🧚


✨ NAME ✨

es58x_start_xmit β€” transmit an skb. that's it. that's the vibe πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

netdev_tx_t es58x_start_xmit (struct sk_buff *skb , struct net_device
*netdev );

like literally just hand it an skb and a netdev and it does its thing πŸ’…


🌸 ARGUMENTS 🌸

  • skb β€” the socket buffer of a CAN message, aka the actual little packet you're trying to yeet out into the world πŸš€
  • netdev β€” the CAN network device. the main character netdev in this whole situation πŸ‘‘

πŸ’– DESCRIPTION πŸ’–

okay so picture this: this function gets called whenever a packet needs to be transmitted. that's the whole trigger, bestie 🫢

here's the tea β€” this function relies on Byte Queue Limits (BQL). and before you ask, yes, that's the important bit. the main benefit is that it increases throughput by allowing bulk transfers (c.f. the xmit_more flag). so it's giving "why send one when you could send a bunch" energy πŸ”₯

what it actually does: it queues up to tx_bulk_max messages in the tx_urb buffer, then does a bulk send of all of those messages in one single URB. one URB. many messages. efficiency icon behavior, no cap πŸ’€βœ¨


🌈 RETURN 🌈

NETDEV_TX_OK β€” regardless of if we could transmit the skb or had to drop it. yeah, you read that right. either way you get NETDEV_TX_OK. it does not snitch on itself, periodt πŸ’…


πŸ‘‘ SEE ALSO πŸ‘‘

first up, the kernel file it lives in β€” ./drivers/net/can/usb/etas_es58x/es58x_core.c πŸ—‚οΈ

and then the whole friend group, fr fr:

like, the entire es58x cinematic universe is in there. go read them all, i'll wait πŸ“


ok final sign-off bestie: this iconic lil page comes from the ./drivers/net/can/usb/etas_es58x corner of the kernel, dated October 2026, and it's page es58x_start_xmit(9) of the Kernel API Manual. slay πŸ’œπŸŽ€πŸ¦‹
πŸ“¦ where this page comes from