@@ -3815,12 +3815,25 @@ fn test_linux(target: &str) {
3815
3815
3816
3816
// FIXME: Requires >= 5.4 kernel headers.
3817
3817
// Everything that uses install-musl.sh has 4.19 kernel headers.
3818
- "xdp_umem_reg" | "xdp_ring_offset" | "xdp_mmap_offsets" if musl => true ,
3818
+ "xdp_ring_offset" | "xdp_mmap_offsets" if musl => true ,
3819
+
3820
+ // FIXME: Requires >= 6.8 kernel headers.
3821
+ // A field was added in 6.8.
3822
+ // https://github.com/torvalds/linux/commit/341ac980eab90ac1f6c22ee9f9da83ed9604d899
3823
+ // The previous version of the struct was removed in 6.11 due to a bug.
3824
+ // https://github.com/torvalds/linux/commit/32654bbd6313b4cfc82297e6634fa9725c3c900f
3825
+ "xdp_umem_reg" => true ,
3819
3826
3820
3827
// FIXME: Requires >= 5.9 kernel headers.
3821
3828
// Everything that uses install-musl.sh has 4.19 kernel headers.
3822
3829
"xdp_statistics" if musl => true ,
3823
3830
3831
+ // FIXME: Requires >= 6.8 kernel headers.
3832
+ "xsk_tx_metadata"
3833
+ | "__c_anonymous_xsk_tx_metadata_union"
3834
+ | "xsk_tx_metadata_request"
3835
+ | "xsk_tx_metadata_completion" => true ,
3836
+
3824
3837
// A new field was added in kernel 5.4, this is the old version for backwards compatibility.
3825
3838
// https://github.com/torvalds/linux/commit/77cd0d7b3f257fd0e3096b4fdcff1a7d38e99e10
3826
3839
"xdp_ring_offset_v1" | "xdp_mmap_offsets_v1" => true ,
@@ -4249,6 +4262,23 @@ fn test_linux(target: &str) {
4249
4262
true
4250
4263
}
4251
4264
4265
+ // FIXME: Requires >= 6.8 kernel headers.
4266
+ "XDP_UMEM_TX_SW_CSUM"
4267
+ | "XDP_TXMD_FLAGS_TIMESTAMP"
4268
+ | "XDP_TXMD_FLAGS_CHECKSUM"
4269
+ | "XDP_TX_METADATA"
4270
+ =>
4271
+ {
4272
+ true
4273
+ }
4274
+
4275
+ // FIXME: Requires >= 6.11 kernel headers.
4276
+ "XDP_UMEM_TX_METADATA_LEN"
4277
+ =>
4278
+ {
4279
+ true
4280
+ }
4281
+
4252
4282
// FIXME: Requires >= 6.6 kernel headers.
4253
4283
"SYS_fchmodat2" => true ,
4254
4284
@@ -4495,7 +4525,9 @@ fn test_linux(target: &str) {
4495
4525
// either fsid_t or int[2] type
4496
4526
( struct_ == "fanotify_event_info_fid" && field == "fsid" ) ||
4497
4527
// `handle` is a VLA
4498
- ( struct_ == "fanotify_event_info_fid" && field == "handle" )
4528
+ ( struct_ == "fanotify_event_info_fid" && field == "handle" ) ||
4529
+ // the `xsk_tx_metadata_union` field is an anonymous union
4530
+ ( struct_ == "xsk_tx_metadata" && field == "xsk_tx_metadata_union" )
4499
4531
} ) ;
4500
4532
4501
4533
cfg. skip_roundtrip ( move |s| match s {
0 commit comments