@@ -3785,12 +3785,25 @@ fn test_linux(target: &str) {
3785
3785
3786
3786
// FIXME: Requires >= 5.4 kernel headers.
3787
3787
// 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 ,
3789
3796
3790
3797
// FIXME: Requires >= 5.9 kernel headers.
3791
3798
// Everything that uses install-musl.sh has 4.19 kernel headers.
3792
3799
"xdp_statistics" if musl => true ,
3793
3800
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
+
3794
3807
// A new field was added in kernel 5.4, this is the old version for backwards compatibility.
3795
3808
// https://github.com/torvalds/linux/commit/77cd0d7b3f257fd0e3096b4fdcff1a7d38e99e10
3796
3809
"xdp_ring_offset_v1" | "xdp_mmap_offsets_v1" => true ,
@@ -4216,6 +4229,23 @@ fn test_linux(target: &str) {
4216
4229
true
4217
4230
}
4218
4231
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
+
4219
4249
// FIXME: Requires >= 6.6 kernel headers.
4220
4250
"SYS_fchmodat2" => true ,
4221
4251
@@ -4458,7 +4488,9 @@ fn test_linux(target: &str) {
4458
4488
// either fsid_t or int[2] type
4459
4489
( struct_ == "fanotify_event_info_fid" && field == "fsid" ) ||
4460
4490
// `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" )
4462
4494
} ) ;
4463
4495
4464
4496
cfg. skip_roundtrip ( move |s| match s {
0 commit comments