[ofa-general] [PATCHv2] IB/ipoib: S/G and HW checksum support

Michael S. Tsirkin mst at dev.mellanox.co.il
Tue Sep 4 22:10:40 PDT 2007


> With the new changes to ip_forward, maybe you could get away with
> setting CHECKSUM_PARTIAL in your RX path to get the TX of the final
> output device to regenerate the L4 checksum?

Good idea, the comment in linux/skbuff.h says

*      PARTIAL: identical to the case for output below.  This may occur
*      on a packet received directly from another Linux OS, e.g.,
*      a virtualised Linux kernel on the same host.  The packet can
*      be treated in the same way as UNNECESSARY except that on
*      output (i.e., forwarding) the checksum must be filled in
*      by the OS or the hardware.

> Even so, sending out malformed UD packets

When you say UD, you really mean UDP, don't you?

> strikes me as a
> compatability killer..

Filling in PARTIAL will address that, right?

> This would be much better as a RC only
> negotiated at CM feature.

We can always go there, and it would be easy to
enable this per-destination for datagram mode, too, by setting a
bit in HW address, and thus enabling inter-operability with IETF
compliant ipoib (at a slower rate, since we'll have to do an extra
pass over data to calculate the checksum in software).

Enabling this for multicast is where I'm stuck since
both IETF compliant and hwcsum ipoib join the same group.

One way to address all this would be to use a different signature
for hwcsum ipoib multicast groups: thus IETF and hwcsum ipoib
just won't share the same broadcast multicast groups,
living in separate domains, as it where.

Does this sounds like a good idea?
The annoying thing would be that this requires (fairly trivial)
SM extensions. Comments?

-- 
MST



More information about the general mailing list