Skip to content

Commit

Permalink
net: hns3: support tx-scatter-gather-fraglist feature
Browse files Browse the repository at this point in the history
The hardware supports up to 8 TX BD for non-tso skb and up to
63 TX BD for TSO skb. Currently, the hns3 driver supports RX skb
with fraglist when HW GRO is enabled, when the stack forwards a
RX skb with fraglist, the stack need to linearize the skb before
sending to other interface without TX fraglist support.

This patch adds support for TX fraglist. The performance increases
from 1 GByte to 1.5 GByte for one iperf TCP stream during
forwarding test after this patch. BTW, the minimum BD number of
ring should be updated to 72 for supporting TX fraglist.

This patch also changes the error handling of some function that
called by hns3_fill_desc, which returns BD num when there is no
error, change some macro to more meaningful name.

Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
  • Loading branch information
Yunsheng Lin authored and Jakub Kicinski committed Oct 9, 2019
1 parent 8e6de44 commit 8ae10cf
Show file tree
Hide file tree
Showing 2 changed files with 168 additions and 93 deletions.
Loading

0 comments on commit 8ae10cf

Please sign in to comment.