I think the explaination I gave in the previous mail wasnt enough. So, I have made a figure to illustrate the situation clearly. Please take a look at it and give a suggestion.
This module is very critical for my project. I'm desparately in need of a solution, as I have already wasted lot of time on fixing this bug. If you get a clue, Pls help.
-Vij
vijaykumar v wrote:
Hi,
I have a problem with packet transmission. I have a virtual network device driver, which drives on back of eth0. The driver, (along with a small packet listener) recieves and sends packets without any problem, asynchronously.
The problem creeps in, when a reply packet is generated. ie., when a packet has to be sent immediately after the arrival of another packet. The reply packet doesnt get transmitted.
This, I suppose is not a problem with my driver, as this packet is queued for transmission for eth0 using "dev_queue_xmit(skb);" , with skb->dev set as eth0 device. ethereal shows that the packet in the eth0 device queue. But, the packet doesnt appear on the wire.
This might be a problem with some spinlock,... in the driver.
Can I call dev_queue_xmit at any time?. (I think timing is the problem.)
any reply would be useful.
Thanks in advance, Vij
-- "Anything less than a conscious commitment to the important is an unconscious commitment to the unimportant."