On 2021/10/31 1:58, Andrew Lunn wrote:
Rx buf len is buffer length of each rx BD. Use ethtool -g command to get
it, and ethtool -G command to set it, examples are as follow:
1. set rx buf len to 4096
$ ethtool -G eth1 rx-buf-len 4096
2. get rx buf len
$ ethtool -g eth1
...
RX Buf Len: 4096
How does this interact with MTU? If i have an MTU of 1500, and i set
the rx-buf-len to 1000, can i expect all frames to the discarded?
Should the core return -EINVAL? Or do you think some hardware will
simply allocate two buffers and scatter/gather over them? Which
implies that drivers which cannot SG must check if the rx-buf-len is
less than the MTU and return -EINVAL?
Andrew
.
Yes, hns3 driver supports scatter/gather for this situation, it's necessary
for driver which cannot support SG to check if rx buf len is less than mtu.