• Y
    net: hns3: support tx-scatter-gather-fraglist feature · 8ae10cfb
    Yunsheng Lin 提交于
    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: NYunsheng Lin <linyunsheng@huawei.com>
    Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
    Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
    8ae10cfb
hns3_enet.c 120.0 KB