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.