• Or Gerlitz's avatar
    net: Add GRO support for vxlan traffic · dc01e7d3
    Or Gerlitz authored
    Add GRO handlers for vxlann, by using the UDP GRO infrastructure.
    
    For single TCP session that goes through vxlan tunneling I got nice
    improvement from 6.8Gbs to 11.5Gbs
    
    --> UDP/VXLAN GRO disabled
    $ netperf  -H 192.168.52.147 -c -C
    
    $ netperf -t TCP_STREAM -H 192.168.52.147 -c -C
    MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.52.147 () port 0 AF_INET
    Recv   Send    Send                          Utilization       Service Demand
    Socket Socket  Message  Elapsed              Send     Recv     Send    Recv
    Size   Size    Size     Time     Throughput  local    remote   local   remote
    bytes  bytes   bytes    secs.    10^6bits/s  % S      % S      us/KB   us/KB
    
     87380  65536  65536    10.00      6799.75   12.54    24.79    0.604   1.195
    
    --> UDP/VXLAN GRO enabled
    
    $ netperf -t TCP_STREAM -H 192.168.52.147 -c -C
    MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.52.147 () port 0 AF_INET
    Recv   Send    Send                          Utilization       Service Demand
    Socket Socket  Message  Elapsed              Send     Recv     Send    Recv
    Size   Size    Size     Time     Throughput  local    remote   local   remote
    bytes  bytes   bytes    secs.    10^6bits/s  % S      % S      us/KB   us/KB
    
     87380  65536  65536    10.00      11562.72   24.90    20.34    0.706   0.577
    Signed-off-by: default avatarShlomo Pongratz <shlomop@mellanox.com>
    Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    dc01e7d3
vxlan.c 71.3 KB