[Prism54-devel] Using MF Bit In Transmit Fragments

Kirk M. Sigel kmsigel@ksx.com
Thu, 11 Mar 2004 16:26:54 -0500


>> I am writing a driver for the Prism 3880/3890 MAC using firmware version
>> 1.0.4.3. Everything is working fine except transmitting an Ethernet
frame
>> using two transmit fragments. 
>
>It was present in the earlier releases in a form that has no advantage (it
>didnt do the zerocopy transmit), but it works. The attached patch reverts
>to that version.

Feyd,

Thanks a lot for sending me the patch. It was very helpful to know that the
feature should work. In looking at the Linux driver and comparing it to my
code I realized that the only significant difference was that the Linux
driver always sent a multiple of 4 bytes in all fragments other than the
last. My first fragment always had 42 bytes (Ethernet header (14) + IP
header (20) + UDP header (8)), which isn't a multiple of 4. Since I must
send 42 bytes in the first fragment, I enabled the WDS option. This adds 6
bytes to the beginning of each frame and made the total a multiple of 4.
Now it works perfectly. The time to setup a 4000 byte UDP transfer went
from 460 microseconds (when copying all of the data) to 4 microseconds!

Thanks again,

Kirk

-------------------------------------
Kirk M. Sigel        KSX Technologies
kmsigel@ksx.com      www.ksx.com
607-257-6413