History

net: ethtool: add support for configuring hds-thresh

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.

Taehee Yoo committed 1 year ago

Commit eec83591 parent 197258f6 files · +55 −4Browse files

Showing the changes to include/uapi (1 of 6 files). Show all

Unified · Split

include/uapi/linux/ethtool_netlink_generated.h+2−0
@@ -155,6 +155,8 @@ enum { · 154 unmodified lines
155 ETHTOOL_A_RINGS_RX_PUSH,155 ETHTOOL_A_RINGS_RX_PUSH,
156 ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,156 ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
157 ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,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 __ETHTOOL_A_RINGS_CNT,161 __ETHTOOL_A_RINGS_CNT,
160 ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)162 ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)