James Carlson wrote:
> Kacheong Poon writes:
>> For example, suppose we want to use the TCP MD5 option.  I
>> think it will work nicely with MDT.  But I don't know if there
>> is (or ever will be?) a hardware out there doing LSO which can
>> fill in the MD5 option value.  As another example, MDT can
>> support the ECN nonce in RFC 3168 nicely.  I doubt that there
>> is a hardware out there doing LSO that can do ECN nonce.
> 
> Yep, and, as I mentioned, IPsec is pretty problematic with LSO, but
> "easy" with MDT. 

Do the double-quotes mean that it is really hard, or something different?

Today we have to disable LSO and MDT when we add ESP or AH to the 
packet. It is not impossible to make all of the ESP, AH and other IPsec 
code have special handling for M_MULTIDATA but that by itself might not 
buy the MDT performance improvement. For the MDT DMA/IOMMU benefits to 
appear the result of applying ESP needs to result in one contiguous 
payload instead of N separate encrypted payloads. Thus this would result 
in more overhead just to manage the multiple packets in the M_MULTIDATA.

I'm personally a fan of having a minimal number of instructions in the 
data paths and the M_MULTIDATA code doesn't satisfy that - it needs to 
manage all the metadata which is extra work compared to a soft LSO 
implementation.

So while LSO has some limitations, it is a more tractable way to 
amortize DMA/IOMMU overhead than MDT.

    Erik



_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to