Try this small program to send a packet out and see if you are able to.
Change target_eth0, local_eth0 and "eth0" to your environment.
#define __KERNEL__ 1
#define MODULE 1
return 0;
}
or if you can modify the driver interrupt handler, then you can ensure if
you packet is sent correctly on wire and a packet has been received from
wire. Generally interrupt handler is registered like this
request_irq(dev->irq, rtl8139_interrupt, 0, dev->name, dev);
Try to give some printk in rtl8139_interrupt (or whichever interrupt handler
you have), while you receive an interrupt for successfully transmitting
packet (similarly for receiving packet). These different interrupts are
demultiplexed from network card register when network card generates
interrupt.
Regards
Mohanlal