vrf: add CRC32c offload to device features
authorDavide Caratti <dcaratti@redhat.com>
Thu, 24 May 2018 15:49:35 +0000 (17:49 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 May 2018 02:55:13 +0000 (22:55 -0400)
SCTP sockets originated in a VRF can improve their performance if CRC32c
computation is delegated to underlying devices: update device features,
setting NETIF_F_SCTP_CRC. Iterating the following command in the topology
proposed with [1],

 # ip vrf exec vrf-h2 netperf -H 192.0.2.1 -t SCTP_STREAM -- -m 10K

the measured throughput in Mbit/s improved from 2395 ± 1% to 2720 ± 1%.

[1] https://www.spinics.net/lists/netdev/msg486007.html

Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Acked-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vrf.c

index 90b5f39..f93547f 100644 (file)
@@ -1254,7 +1254,7 @@ static void vrf_setup(struct net_device *dev)
 
        /* enable offload features */
        dev->features   |= NETIF_F_GSO_SOFTWARE;
-       dev->features   |= NETIF_F_RXCSUM | NETIF_F_HW_CSUM;
+       dev->features   |= NETIF_F_RXCSUM | NETIF_F_HW_CSUM | NETIF_F_SCTP_CRC;
        dev->features   |= NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HIGHDMA;
 
        dev->hw_features = dev->features;