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
