The devmem TCP requires the hds-thresh value to be 0, but it doesn't change it automatically. Therefore, make configure_headersplit() sets hds-thresh value to 0.
Signed-off-by: Taehee Yoo ap420073@gmail.com ---
v2: - Do not implement configure_hds_thresh(). - Make configure_headersplit() sets hds-thresh to 0.
tools/testing/selftests/drivers/net/hw/ncdevmem.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/drivers/net/hw/ncdevmem.c b/tools/testing/selftests/drivers/net/hw/ncdevmem.c index cc9b40d9c5d5..52b72de11e3b 100644 --- a/tools/testing/selftests/drivers/net/hw/ncdevmem.c +++ b/tools/testing/selftests/drivers/net/hw/ncdevmem.c @@ -331,6 +331,12 @@ static int configure_headersplit(bool on) ret = ethtool_rings_set(ys, req); if (ret < 0) fprintf(stderr, "YNL failed: %s\n", ys->err.msg); + if (on) { + ethtool_rings_set_req_set_hds_thresh(req, 0); + ret = ethtool_rings_set(ys, req); + if (ret < 0) + fprintf(stderr, "YNL failed: %s\n", ys->err.msg); + } ethtool_rings_set_req_free(req);
if (ret == 0) { @@ -338,9 +344,12 @@ static int configure_headersplit(bool on) ethtool_rings_get_req_set_header_dev_index(get_req, ifindex); get_rsp = ethtool_rings_get(ys, get_req); ethtool_rings_get_req_free(get_req); - if (get_rsp) + if (get_rsp) { fprintf(stderr, "TCP header split: %s\n", tcp_data_split_str(get_rsp->tcp_data_split)); + fprintf(stderr, "HDS threshold: %u\n", + get_rsp->hds_thresh); + } ethtool_rings_get_rsp_free(get_rsp); }