Use total free memory as advertised window. This seems to be sufficient

to avoid drops even on slow NICs.
This commit is contained in:
Michael Brown
2007-01-18 20:39:17 +00:00
parent 6d4e37cf42
commit c014f607a8
3 changed files with 31 additions and 29 deletions

View File

@@ -398,8 +398,13 @@ static void net_step ( struct process *process ) {
/* Poll for new packets */
netdev_poll ( netdev, -1U );
/* Process received packets */
while ( ( pkb = netdev_rx_dequeue ( netdev ) ) ) {
/* Process at most one received packet. Give priority
* to getting packets out of the NIC over processing
* the received packets, because we advertise a window
* that assumes that we can receive packets from the
* NIC faster than they arrive.
*/
if ( ( pkb = netdev_rx_dequeue ( netdev ) ) ) {
DBGC ( netdev, "NETDEV %p processing %p\n",
netdev, pkb );
netdev->ll_protocol->rx ( pkb, netdev );