In my above-filter I allocate a single npkt_t and resend the same packet
(with a different time stamp) every milli-second. I found that if I sent the
above packet and different packet immediately after, every following time I
sent the timestamp packet it would be immediately followed by a garbage
packet. To further complicate debugging, this occurs with the el900 and
speedo driver, yet never happened with the pcnet driver. The explanation
seems to be that the ethernet driver set npkt.next when the two packets got
sent back-to-back, and when I later reused the packet the driver tried to
send two packets (even though the second no longer existed).
I was thinking of using npkt.next for my own purposes in my above-filter
(when I thought it was an unused field). Does the use of next by the
ethernet driver preclude this?
If I want to transmit multiple packets in quick succession, can I link them
together using the next field and send them down to the ethernet driver? Is
this supported by all network drivers?
When re-using a downward headed packet what fields need to be cleared?
Experimentally, I’ve found the following two must be cleared (otherwise
you blow your toes off): req_complete and next. Are there any others?