From: Eitan Z. <ei...@me...> - 2003-12-22 07:48:32
|
Hi Sean, Woody, I have just opened the following new bug in SF: The Infiniband Spec is a little complicated to follow on the area of RMPP and SA/RMPP queries. So the implementation is incorrect: 1. RMPP packets are a simple break of a big long MAD into smaller 256byte MADs. Since each MAD requires an RMPP header - each RMPP MAD (also called segment) has only data size of 220byte = (256 - 36)bytes of DATA. 2. SA RMPP MADs rely on the RMPP protocol but requires an extra processing on top of it. In Section 15.3 p817 lines: 30-34 it is explicitly noted that each data segment should start with the copy of the SA MAD header. This has two implications: a. The original long MAD can not be simply split into sections but rather a new MAD should be generated with an injected SA-MAD Header for each section. b. The actual data size available in each segment is really: 200byte = (256 - 36 - 20)bytes We have two options for fixing the problem: 1. Implement the pack/unpack of the SA MADs in each application using SA MADs. 2. Implement a special SA MAD aware RMPP flow in the driver. It is different as it should copy for each segment not only the RMPP header but the SA header and also take the data size to be smaller. I propose implementing it the second way - i.e. in IBAL. I can take the task and propose a patch if required from schedule/efforts standpoint. EZ Eitan Zahavi Design Technology Director Mellanox Technologies LTD Tel:+972-4-9097208 Fax:+972-4-9593245 P.O. Box 586 Yokneam 20692 ISRAEL |