On Fri, 22 Aug 2025 15:26:37 -0700 Stanislav Fomichev wrote:
@@ -436,8 +490,14 @@ static int configure_headersplit(bool on) req = ethtool_rings_set_req_alloc(); ethtool_rings_set_req_set_header_dev_index(req, ifindex);
- /* 0 - off, 1 - auto, 2 - on */
- ethtool_rings_set_req_set_tcp_data_split(req, on ? 2 : 0);
- if (on) {
ethtool_rings_set_req_set_tcp_data_split(req,
ETHTOOL_TCP_DATA_SPLIT_ENABLED);
ethtool_rings_set_req_set_hds_thresh(req, 0);
From talking to Taehee awhile ago it seemed like unconditionally setting 0 will fail on the devices that don't support it. Is it not the case anymore with ethnl_set_rings_validate?
Good point! ring params are validated against the supported attr flags. We can pass in config here and only set hds_thresh if max was reported. That should mean driver supports the setting.