I’m doing a little tracking on a bug I have and I’m trying to figure out the
My packet is coming from tcp/ip after punching ping xxxx.
In general, I want to replace the packet from the stack with one of my own.
In my_tx_down function:
I’m allocation a new packet with alloc_down_npkt(_hdl, 0,
I’m allocating new buffers and connecting them to the packet.
Now I can see that num_complete=req_complete=1
Now, I’m registration this packet with reg_tx_done.
Now I can see that num_complete=1 req_complete=2
Before sending the packet with tx_down I can see that the npkt_done_t is
empty (assuming it’s directly following the npkt_t structure), that is:
registrant_hdl=0 and done_hdl=0. (??? suspicious ???)
Sending via tx_down appears to succeed (I.e., returns TX_DOWN_OK), but:
- No packet is sent on the wire
- After about half a minute:
- “io-net: ex_tx_done BAD3” is printed to the terminal from which io-net
- my tx_done callback is called