The hds-thresh option configures the threshold value of the header-data-split. If a received packet size is larger than this threshold value, a packet will be split into header and payload. The header indicates TCP and UDP header, but it depends on driver spec. The bnxt_en driver supports HDS(Header-Data-Split) configuration at FW level, affecting TCP and UDP too. So, If hds-thresh is set, it affects UDP and TCP packets. Example: # ethtool -G <interface name> hds-thresh <value> # ethtool -G enp14s0f0np0 tcp-data-split on hds-thresh 256 # ethtool -g enp14s0f0np0 Ring parameters for enp14s0f0np0: Pre-set maximums: ... HDS thresh: 1023 Current hardware settings: ... TCP data split: on HDS thresh: 256 The default/min/max values are not defined in the ethtool so the drivers should define themself. The 0 value means that all TCP/UDP packets' header and payload will be split.
Showing the changes to include/uapi (1 of 6 files). Show all
Unified · Split
| @@ -155,6 +155,8 @@ enum { · 154 unmodified lines | ||
| 155 | 155 | ETHTOOL_A_RINGS_RX_PUSH, |
| 156 | 156 | ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, |
| 157 | 157 | ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, |
| 158 | + ETHTOOL_A_RINGS_HDS_THRESH, | |
| 159 | + ETHTOOL_A_RINGS_HDS_THRESH_MAX, | |
| 158 | 160 | |
| 159 | 161 | __ETHTOOL_A_RINGS_CNT, |
| 160 | 162 | ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1) |