@@ -3817,12 +3817,25 @@ fn test_linux(target: &str) {
38173817
38183818 // FIXME: Requires >= 5.4 kernel headers.
38193819 // 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 ,
38213828
38223829 // FIXME: Requires >= 5.9 kernel headers.
38233830 // Everything that uses install-musl.sh has 4.19 kernel headers.
38243831 "xdp_statistics" if musl => true ,
38253832
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+
38263839 // A new field was added in kernel 5.4, this is the old version for backwards compatibility.
38273840 // https://github.com/torvalds/linux/commit/77cd0d7b3f257fd0e3096b4fdcff1a7d38e99e10
38283841 "xdp_ring_offset_v1" | "xdp_mmap_offsets_v1" => true ,
@@ -4267,6 +4280,23 @@ fn test_linux(target: &str) {
42674280 true
42684281 }
42694282
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+
42704300 // FIXME: Requires >= 6.6 kernel headers.
42714301 "SYS_fchmodat2" => true ,
42724302
@@ -4524,7 +4554,9 @@ fn test_linux(target: &str) {
45244554 ( musl && struct_ == "mcontext_t" && field == "__extcontext" && loongarch64) ||
45254555 // FIXME(#4121): a new field was added from `f_spare`
45264556 ( 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" )
45284560 } ) ;
45294561
45304562 cfg. skip_roundtrip ( move |s| match s {
0 commit comments