tso_dma_map_init(9)
π NAME π
Okay bestie, welcome to the tso_dma_map_init(9) page from the Kernel API Manual πΈ. This one is all about DMA-mapping your GSO payload regions, and she is lowkey iconic.
tso_dma_map_init β DMA-map GSO payload regions. Periodt π
.
β¨ SYNOPSIS β¨
int tso_dma_map_init (struct tso_dma_map *map , struct device *dev ,
const struct sk_buff *skb , unsigned int hdr_len );
π ARGUMENTS π
mapβ the<italic>map</italic>struct youβre initializing. Main character energy fr fr.devβ the device used for DMA mapping. Sheβs doing the mapping work π«Ά.skbβ the GSOskb, no cap.hdr_lenβ per-segment header length, in bytes. Count βem carefully bestie π₯.
π¦ DESCRIPTION π¦
Okay so hereβs the tea: this function DMA-maps the linear payload β thatβs the part after the headers, iykyk β and all the frags π.
It prefers the DMA IOVA API, which gives you one contiguous mapping and one IOTLB sync. Slay. But if IOVA isnβt available, it falls back to per-region dma_map_phys like a responsible icon π.
Then it positions the iterator at byte 0 of the payload. Very demure, very mindful β¨.
π RETURN π
0β success! We love to see it π.-ENOMEMβ DMA mapping failure π. The partial mappings are cleaned up internally, so no messy leftovers, thank goodness π.
π SEE ALSO π
- The kernel file
./net/core/tso.cπ tso_dma_map_cleanup(9)tso_dma_map_count(9)tso_dma_map_next(9)
mwah π β this cutie came from ./net/core, dated October 2026 πβ¨
π¦ 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