On 18/03/14 15:14, Tom Herbert wrote:
> Hi gpe authors,
>
> Have you verified that gpe is backwards compatible with legacy VXLAN
> implementations?
>
> Consider an HW implementation that has implemented TCP RX checksum
> offload of inner packet for VXLAN. 

And your point is?

> Per VXLAN draft, a device should
> interpret the payload as being an Ethernet frame and ignore reserved
> bits (which includes GPE bit) on receive. So when presented a GPE
> packet, it seems like the HW implementation might attempt RX csum
> assuming the wrong packet type.

With the current encapsulation proliferation you gotta be mad to even
try to do protocol specific RX checksum offload anywhere. Anyone with at
least a modicum of remaining sanity does full packet checksum instead.
Drivers for older (or badly designed hardware) convert the "probably
broken" checksum from your example to the protocol independent checksum
which is correct.

Once this is done the actual overlay driver in the lower layers can
utilise it. So the fact that for example the NIC from vendor Y did not
quite understand correctly the encapsulation which has been invented
after the NIC has come out no longer matters.

Example in hand - e1000 and family of drivers for Intel nics and most
overlay encaps. The kernel collects the UDP checksum, converts it to a
"CHECKSUM_COMPLETE" form (usually less than 10 pipeline-able
instructions) and passes that to lower layers. Now _ANY_ overlay can use
it by doing a block subtract of the header portion. It can even verify
and compute checksums for headers, etc in the overlay part on the way.

So if the hardware completes at least one checksum in a sane manner it
can be used - code is already there.

I could have posted an example from BSD, Open Solaris or something else
for that matter. They all use the same technique.

>  In most cases this would "work"
> because the packet wouldn't appear to be a TCP packet, however if the
> right data is in the right offsets (offsets of Ethertype, IP protocol)
> it seems like the device might incorrectly report a checksum error. If
> this is possible, it will be a very subtle bug!

Can you actually provide at least one example based in reality please?

A.

>
> Thanks,
> Tom
>
> _______________________________________________
> nvo3 mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/nvo3
>

_______________________________________________
nvo3 mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/nvo3

Reply via email to