[Prism54-devel] Using MF Bit In Transmit Fragments

Kirk M. Sigel kmsigel@ksx.com
Wed, 10 Mar 2004 14:17:37 -0500


Hello,

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. 

Specifically, the first fragment contains the Ethernet header (destination
address, source address, and ethertype), the IP header, and the UDP header,
for a total of 42 bytes. This fragment has the MF bit set. The second
fragment contains the payload of the UDP datagram, which in this case is
1024 bytes. This fragment has the MF bit clear. The firmware just skips
over both fragments without sending anything. When I take the time to copy
the UDP payload to the first fragment's buffer (and clear the first
fragment's MF bit) then it works, but that copy consumes a lot of my
processor time.

Has anybody successfully used the MF bit? If so, is there anything tricky
to getting it to work or am I just missing something simple? I looked
through the Linux driver source code and it doesn't appear to take
advantage of this feature.

Thanks much,

Kirk Sigel

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