struct virtio_net_rss_config was less useful in actual code because of a flexible array placed in the middle. Add new structures that split it into two to avoid having a flexible array in the middle.
Showing the changes to include/uapi (1 of 1 file). Show all
Unified · Split
| @@ -327,6 +327,19 @@ struct virtio_net_rss_config { · 326 unmodified lines | |||
| 327 | __u8 hash_key_data[/* hash_key_length */]; | 327 | __u8 hash_key_data[/* hash_key_length */]; |
| 328 | }; | 328 | }; |
| 329 | 329 | ||
| 330 | struct virtio_net_rss_config_hdr { | ||
| 331 | __le32 hash_types; | ||
| 332 | __le16 indirection_table_mask; | ||
| 333 | __le16 unclassified_queue; | ||
| 334 | __le16 indirection_table[/* 1 + indirection_table_mask */]; | ||
| 335 | }; | ||
| 336 | |||
| 337 | struct virtio_net_rss_config_trailer { | ||
| 338 | __le16 max_tx_vq; | ||
| 339 | __u8 hash_key_length; | ||
| 340 | __u8 hash_key_data[/* hash_key_length */]; | ||
| 341 | }; | ||
| 342 | |||
| 330 | #define VIRTIO_NET_CTRL_MQ_RSS_CONFIG 1 | 343 | #define VIRTIO_NET_CTRL_MQ_RSS_CONFIG 1 |
| 331 | 344 | ||
| 332 | /* | 345 | /* |