• Ayush Sawal's avatar
    Revert "crypto: chelsio - Inline single pdu only" · 857b4125
    Ayush Sawal authored
    This reverts commit 27c6feb0.
    
    For ipsec offload the chelsio's ethernet driver expects a single mtu
    sized packet.
    
    But when ipsec traffic is running using iperf, most of the packets in
    that traffic are gso packets(large sized skbs) because GSO is enabled by
    default in TCP, due to this commit 0a6b2a1d ("tcp: switch to GSO
    being always on"), so chcr_ipsec_offload_ok() receives a gso
    skb(with gso_size non zero).
    
    Due to the check in chcr_ipsec_offload_ok(), this function returns false
    for most of the packet, then ipsec offload is skipped and the skb goes
    out taking the coprocessor path which reduces the bandwidth for inline
    ipsec.
    
    If this check is removed then for most of the packets(large sized skbs)
    the chcr_ipsec_offload_ok() returns true and then as GSO is on, the
    segmentation of the packet happens in the kernel and then finally the
    driver_xmit is called, which receives a segmented mtu sized packet which
    is what the driver expects for ipsec offload. So this case becomes
    unnecessary here, therefore removing it.
    Signed-off-by: default avatarAyush Sawal <ayush.sawal@chelsio.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    857b4125
chcr_ipsec.c 20 KB