igb_ptp_rx_pktstamp(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– igb_ptp_rx_pktstamp(9) πŸ’–

okay bestie, so we're in the Kernel API Manual today and this page is literally called igb_ptp_rx_pktstamp(9) β€” say that five times fast, i dare you 🫢


✨ NAME ✨

igb_ptp_rx_pktstamp β€” retrieve Rx per packet timestamp πŸ‘‘


πŸŽ€ SYNOPSIS πŸŽ€

int igb_ptp_rx_pktstamp (struct igb_q_vector *q_vector , void *va ,
       ktime_t *timestamp );

that's the whole vibe, no cap πŸ’…


🌸 ARGUMENTS 🌸

  • q_vector β€” a pointer to the interrupt specific structure. yes, that one. the interrupt-specific one πŸ¦‹
  • va β€” a pointer to the address containing the Rx buffer. it's giving "where the packet actually lives" ✨
  • timestamp β€” a pointer to where the timestamp will be stored. drop it right there, bestie πŸ’–

πŸ’« DESCRIPTION πŸ’«

okay so here's the tea πŸ“ β€” this function is meant to retrieve a timestamp from the first buffer of an incoming frame. that's its whole job, its main character moment, its destiny.

and here's the detail you gotta remember: the value is stored in little endian format starting on byte 8. not byte 7, not byte 9. byte 8. write it down πŸ“


🌈 RETURN 🌈

it hands you back the timestamp header length, or 0 if not available 😭 (iykyk, sometimes the vibe check just does not pass)


πŸ”₯ SEE ALSO πŸ”₯

first up, the kernel file it lives in β€” go say hi:

./drivers/net/ethernet/intel/igb/igb_ptp.c

and then the whole friend group πŸ’œβœ¨:


ngl bestie, this one's short and sweet but every byte counts πŸ’€ don't sleep on byte 8.

and that's a wrap, babes 🧚 this iconic little page lives in ./drivers/net/ethernet/intel/igb, dated October 2026 β€” periodt πŸ’…β­

πŸ“¦ where this page comes from