@@ -3785,12 +3785,25 @@ fn test_linux(target: &str) {
37853785
37863786 // FIXME: Requires >= 5.4 kernel headers.
37873787 // Everything that uses install-musl.sh has 4.19 kernel headers.
3788- "xdp_umem_reg" | "xdp_ring_offset" | "xdp_mmap_offsets" if musl => true ,
3788+ "xdp_ring_offset" | "xdp_mmap_offsets" if musl => true ,
3789+
3790+ // FIXME: Requires >= 6.8 kernel headers.
3791+ // A field was added in 6.8.
3792+ // https://github.com/torvalds/linux/commit/341ac980eab90ac1f6c22ee9f9da83ed9604d899
3793+ // The previous version of the struct was removed in 6.11 due to a bug.
3794+ // https://github.com/torvalds/linux/commit/32654bbd6313b4cfc82297e6634fa9725c3c900f
3795+ "xdp_umem_reg" => true ,
37893796
37903797 // FIXME: Requires >= 5.9 kernel headers.
37913798 // Everything that uses install-musl.sh has 4.19 kernel headers.
37923799 "xdp_statistics" if musl => true ,
37933800
3801+ // FIXME: Requires >= 6.8 kernel headers.
3802+ "xsk_tx_metadata"
3803+ | "__c_anonymous_xsk_tx_metadata_union"
3804+ | "xsk_tx_metadata_request"
3805+ | "xsk_tx_metadata_completion" => true ,
3806+
37943807 // A new field was added in kernel 5.4, this is the old version for backwards compatibility.
37953808 // https://github.com/torvalds/linux/commit/77cd0d7b3f257fd0e3096b4fdcff1a7d38e99e10
37963809 "xdp_ring_offset_v1" | "xdp_mmap_offsets_v1" => true ,
@@ -4216,6 +4229,23 @@ fn test_linux(target: &str) {
42164229 true
42174230 }
42184231
4232+ // FIXME: Requires >= 6.8 kernel headers.
4233+ "XDP_UMEM_TX_SW_CSUM"
4234+ | "XDP_TXMD_FLAGS_TIMESTAMP"
4235+ | "XDP_TXMD_FLAGS_CHECKSUM"
4236+ | "XDP_TX_METADATA"
4237+ =>
4238+ {
4239+ true
4240+ }
4241+
4242+ // FIXME: Requires >= 6.11 kernel headers.
4243+ "XDP_UMEM_TX_METADATA_LEN"
4244+ =>
4245+ {
4246+ true
4247+ }
4248+
42194249 // FIXME: Requires >= 6.6 kernel headers.
42204250 "SYS_fchmodat2" => true ,
42214251
@@ -4458,7 +4488,9 @@ fn test_linux(target: &str) {
44584488 // either fsid_t or int[2] type
44594489 ( struct_ == "fanotify_event_info_fid" && field == "fsid" ) ||
44604490 // `handle` is a VLA
4461- ( struct_ == "fanotify_event_info_fid" && field == "handle" )
4491+ ( struct_ == "fanotify_event_info_fid" && field == "handle" ) ||
4492+ // the `xsk_tx_metadata_union` field is an anonymous union
4493+ ( struct_ == "xsk_tx_metadata" && field == "xsk_tx_metadata_union" )
44624494 } ) ;
44634495
44644496 cfg. skip_roundtrip ( move |s| match s {
0 commit comments