Messages in this thread | | | Subject | Large IP packets over ArcNet (netif_wake_queue propagation) | From | Esben Nielsen <> | Date | 29 Jan 2003 12:28:16 +0100 |
| |
Synopsis: I am writing test-software for our ArcNet-driver for vxWorks. I use a Linux machine running 2.4.18 as test-bench. I am trying to test our rfc1201 (IP over ArcNet) implementation by ping'ing with large packets. This fails: Linux simply doesn't send all the IP-fragments.
I then went into the driver and increased the queue-length from dev->tx_queue_len = 40; to dev->tx_queue_len = 60; and then it worked.
It seems to me the IP-layer is not notified when the device queue is emptied by the device and thus doesn't send out the missing fragments. I tried to look into the net core code to find out: Indeed I could not find any notification to the higher level protocols. In vxWorks I am used to waking the higher-level protocols directly (there is no generic device-specific queue). Thus IP stack can continue with the next IP-fragment right away. Apparently the Linux IP-stack can't as it is not notified that the device is ready to send again.
I am really understanding this correctly???
Also, I want to run a raw packet protocol along with IP. That protocol works best with a small queue - maximum 10 packets!
Esben Nielsen Vestas Wind Systems
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |