• Daniel Borkmann's avatar
    loopback: sctp: add NETIF_F_SCTP_CSUM to device features · b17c7069
    Daniel Borkmann authored
    Drivers are allowed to set NETIF_F_SCTP_CSUM if they have
    hardware crc32c checksumming support for the SCTP protocol.
    Currently, NETIF_F_SCTP_CSUM flag is available in igb,
    ixgbe, i40e/i40evf drivers and for vlan devices.
    
    If we don't have NETIF_F_SCTP_CSUM then crc32c is done
    through CPU instructions, invoked from crypto layer, or
    if not available as slow-path fallback in software.
    
    Currently, loopback device propagates checksum offloading
    feature flags in dev->features, but is missing SCTP checksum
    offloading. Therefore, account for NETIF_F_SCTP_CSUM as
    well.
    
    Before patch:
    
    ./netperf_sctp -H 192.168.0.100 -t SCTP_STREAM_MANY
    SCTP 1-TO-MANY STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.100 () port 0 AF_INET
    Recv   Send    Send
    Socket Socket  Message  Elapsed
    Size   Size    Size     Time     Throughput
    bytes  bytes   bytes    secs.    10^6bits/sec
    
    4194304 4194304   4096    10.00    4683.50
    
    After patch:
    
    ./netperf_sctp -H 192.168.0.100 -t SCTP_STREAM_MANY
    SCTP 1-TO-MANY STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.100 () port 0 AF_INET
    Recv   Send    Send
    Socket Socket  Message  Elapsed
    Size   Size    Size     Time     Throughput
    bytes  bytes   bytes    secs.    10^6bits/sec
    
    4194304 4194304   4096    10.00    15348.26
    Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b17c7069
loopback.c 5.59 KB