Thank ophirmaor, that's helpful. I guess my question is whether that is a solution that almost always works or that always works. For example, what happens if the kernel is pushing packets to the card while it has been paused by the switch? Some number of frames could be buffered, but, e.g., does the driver block if the kernel is attempting to push a frame that would overflow the transmit ring?
Thanks,
Thomas