> This patch assumes that the bnx2x hardware will ignore existing IPv4/v6 header
> fields for length and checksum as well as the length and checksum fields for
> outer UDP and GRE headers.
> 
> I have no means of testing this as I do not have any bnx2x hardware but 
> thought
> I would submit it as an RFC to see if anyone out there wants to test this and 
> see
> if this does in fact enable this functionality allowing us to to segment 
> tunneled
> frames that have an outer checksum.
> 
> Signed-off-by: Alexander Duyck <adu...@mirantis.com>

So it took me some [well, a lot] time to reach this, but I've finally  gave it 
a try.
I saw a performance boost with the partial support -
Throughput for vxlan tunnels with and without udpcsum were almost identical
after this, whereas without this patch the udpcsum prevented GSO and 
a TCP/IPv4 connection on top of it got roughly half the throughput.

However, I did encounter one oddity I couldn't explain -
After I've disabled tx-udp_tnl-segmentation via ethtool on the base interface,
got left with:
   tx-gso-partial: on
   tx-udp_tnl-segmentation: off
   tx-udp_tnl-csum-segmentation: on

When I ran traffic over both vxlan tunnels the one with the udpcsum was still
Passing gso aggregations to base device to transmit [and the throughput was
same as before], where's the tunnel without the udpcsum showed only
MTU-sized packets reaching the base interface for transmission [which is what
I've expected]

Any idea why that happened?

Reply via email to