@@ -3888,12 +3888,25 @@ fn test_linux(target: &str) {
38883888
38893889 // FIXME: Requires >= 5.4 kernel headers.
38903890 // Everything that uses install-musl.sh has 4.19 kernel headers.
3891- "xdp_umem_reg" | "xdp_ring_offset" | "xdp_mmap_offsets" if musl => true ,
3891+ "xdp_ring_offset" | "xdp_mmap_offsets" if musl => true ,
3892+
3893+ // FIXME: Requires >= 6.8 kernel headers.
3894+ // A field was added in 6.8.
3895+ // https://github.com/torvalds/linux/commit/341ac980eab90ac1f6c22ee9f9da83ed9604d899
3896+ // The previous version of the struct was removed in 6.11 due to a bug.
3897+ // https://github.com/torvalds/linux/commit/32654bbd6313b4cfc82297e6634fa9725c3c900f
3898+ "xdp_umem_reg" => true ,
38923899
38933900 // FIXME: Requires >= 5.9 kernel headers.
38943901 // Everything that uses install-musl.sh has 4.19 kernel headers.
38953902 "xdp_statistics" if musl => true ,
38963903
3904+ // FIXME: Requires >= 6.8 kernel headers.
3905+ "xsk_tx_metadata"
3906+ | "__c_anonymous_xsk_tx_metadata_union"
3907+ | "xsk_tx_metadata_request"
3908+ | "xsk_tx_metadata_completion" => true ,
3909+
38973910 // A new field was added in kernel 5.4, this is the old version for backwards compatibility.
38983911 // https://github.com/torvalds/linux/commit/77cd0d7b3f257fd0e3096b4fdcff1a7d38e99e10
38993912 "xdp_ring_offset_v1" | "xdp_mmap_offsets_v1" => true ,
@@ -4338,6 +4351,23 @@ fn test_linux(target: &str) {
43384351 true
43394352 }
43404353
4354+ // FIXME: Requires >= 6.8 kernel headers.
4355+ "XDP_UMEM_TX_SW_CSUM"
4356+ | "XDP_TXMD_FLAGS_TIMESTAMP"
4357+ | "XDP_TXMD_FLAGS_CHECKSUM"
4358+ | "XDP_TX_METADATA"
4359+ =>
4360+ {
4361+ true
4362+ }
4363+
4364+ // FIXME: Requires >= 6.11 kernel headers.
4365+ "XDP_UMEM_TX_METADATA_LEN"
4366+ =>
4367+ {
4368+ true
4369+ }
4370+
43414371 // FIXME: Requires >= 6.6 kernel headers.
43424372 "SYS_fchmodat2" => true ,
43434373
@@ -4596,7 +4626,9 @@ fn test_linux(target: &str) {
45964626 ( musl && struct_ == "mcontext_t" && field == "__extcontext" && loongarch64) ||
45974627 // FIXME(#4121): a new field was added from `f_spare`
45984628 ( struct_ == "statvfs" && field == "__f_spare" ) ||
4599- ( struct_ == "statvfs64" && field == "__f_spare" )
4629+ ( struct_ == "statvfs64" && field == "__f_spare" ) ||
4630+ // the `xsk_tx_metadata_union` field is an anonymous union
4631+ ( struct_ == "xsk_tx_metadata" && field == "xsk_tx_metadata_union" )
46004632 } ) ;
46014633
46024634 cfg. skip_roundtrip ( move |s| match s {
0 commit comments