[ofa-general] [PATCH] IPoIB UD 4K MTU support

Roland Dreier rdreier at cisco.com
Fri Jan 25 21:12:41 PST 2008


 > Actually I thought about this when I came to this simple implementation.
 > If we use 4096-48, a patch in IPoIB to generate ICMP error could help
 > this issue by sending the 4096-48 mtu back so the source knows how big
 > its packets could be. Do you this this is a good idea?

It seems like this would be a mess.  Now that I think about it some
more, if a system with the 4096-4 MTU sent a full-sized packet to a
system with the 4096-48 MTU, then the system with the smaller MTU
would get a local length error completion, the QP would transition to
error, and it would be a pain to recover.

However I came up with a tricky approach that might work well.  We
would use two-element scatter lists for the receives, and post a
40-byte dummy buffer first and then a 4096 byte buffer for the actual
packet.  Since the only thing we do with the first 40 bytes is throw
them away, we wouldn't even have to make the 40 bytes part of the skb;
in fact we could have one buffer that every receive uses and never
even touch the first entry of the scatter list after initialization.
It would even save the skb_pull(skb, IB_GRH_BYTES); we currently do
after receiving messages.

What do you think?

 - R.



More information about the general mailing list