@@ -3817,12 +3817,25 @@ fn test_linux(target: &str) {
3817
3817
3818
3818
// FIXME: Requires >= 5.4 kernel headers.
3819
3819
// Everything that uses install-musl.sh has 4.19 kernel headers.
3820
- "xdp_umem_reg" | "xdp_ring_offset" | "xdp_mmap_offsets" if musl => true ,
3820
+ "xdp_ring_offset" | "xdp_mmap_offsets" if musl => true ,
3821
+
3822
+ // FIXME: Requires >= 6.8 kernel headers.
3823
+ // A field was added in 6.8.
3824
+ // https://github.com/torvalds/linux/commit/341ac980eab90ac1f6c22ee9f9da83ed9604d899
3825
+ // The previous version of the struct was removed in 6.11 due to a bug.
3826
+ // https://github.com/torvalds/linux/commit/32654bbd6313b4cfc82297e6634fa9725c3c900f
3827
+ "xdp_umem_reg" => true ,
3821
3828
3822
3829
// FIXME: Requires >= 5.9 kernel headers.
3823
3830
// Everything that uses install-musl.sh has 4.19 kernel headers.
3824
3831
"xdp_statistics" if musl => true ,
3825
3832
3833
+ // FIXME: Requires >= 6.8 kernel headers.
3834
+ "xsk_tx_metadata"
3835
+ | "__c_anonymous_xsk_tx_metadata_union"
3836
+ | "xsk_tx_metadata_request"
3837
+ | "xsk_tx_metadata_completion" => true ,
3838
+
3826
3839
// A new field was added in kernel 5.4, this is the old version for backwards compatibility.
3827
3840
// https://github.com/torvalds/linux/commit/77cd0d7b3f257fd0e3096b4fdcff1a7d38e99e10
3828
3841
"xdp_ring_offset_v1" | "xdp_mmap_offsets_v1" => true ,
@@ -4267,6 +4280,23 @@ fn test_linux(target: &str) {
4267
4280
true
4268
4281
}
4269
4282
4283
+ // FIXME: Requires >= 6.8 kernel headers.
4284
+ "XDP_UMEM_TX_SW_CSUM"
4285
+ | "XDP_TXMD_FLAGS_TIMESTAMP"
4286
+ | "XDP_TXMD_FLAGS_CHECKSUM"
4287
+ | "XDP_TX_METADATA"
4288
+ =>
4289
+ {
4290
+ true
4291
+ }
4292
+
4293
+ // FIXME: Requires >= 6.11 kernel headers.
4294
+ "XDP_UMEM_TX_METADATA_LEN"
4295
+ =>
4296
+ {
4297
+ true
4298
+ }
4299
+
4270
4300
// FIXME: Requires >= 6.6 kernel headers.
4271
4301
"SYS_fchmodat2" => true ,
4272
4302
@@ -4524,7 +4554,9 @@ fn test_linux(target: &str) {
4524
4554
( musl && struct_ == "mcontext_t" && field == "__extcontext" && loongarch64) ||
4525
4555
// FIXME(#4121): a new field was added from `f_spare`
4526
4556
( struct_ == "statvfs" && field == "__f_spare" ) ||
4527
- ( struct_ == "statvfs64" && field == "__f_spare" )
4557
+ ( struct_ == "statvfs64" && field == "__f_spare" ) ||
4558
+ // the `xsk_tx_metadata_union` field is an anonymous union
4559
+ ( struct_ == "xsk_tx_metadata" && field == "xsk_tx_metadata_union" )
4528
4560
} ) ;
4529
4561
4530
4562
cfg. skip_roundtrip ( move |s| match s {
0 commit comments