> 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. _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
