When running inside a virtual machine (or when using the UNDI driver), transmitting packets can be expensive. When we receive several packets in one poll (e.g. because a slow BIOS timer interrupt routine has caused us to fall behind in processing), we can safely send just a single ACK to cover all of the received packets. This reduces the time spent transmitting and allows us to clear the backlog much faster. Various RFCs (starting with RFC1122) state that there should be an ACK for at least every second segment. We choose not to enforce this rule. Under normal operation each poll should find at most one received packet, and we will then not delay any ACKs. We delay (i.e. omit) ACKs only when under sufficiently heavy load that we are finding multiple packets per poll; under these conditions it is important to clear the backlog quickly since any delay may lead to dropped packets. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
16 |
|
16 |
|
17 |
|
17 |
|
18 |
|
18 |
|
|
19 |
|
|
19 |
|
20 |
|
20 |
|
21 |
|
21 |
|
22 |
|
|
|
||
107 |
|
108 |
|
108 |
|
109 |
|
109 |
|
110 |
|
|
111 |
|
|
|
112 |
|
|
110 |
|
113 |
|
111 |
|
114 |
|
112 |
|
115 |
|
|
|
||
166 |
|
169 |
|
167 |
|
170 |
|
168 |
|
171 |
|
|
172 |
|
|
169 |
|
173 |
|
170 |
|
174 |
|
171 |
|
175 |
|
|
|
||
273 |
|
277 |
|
274 |
|
278 |
|
275 |
|
279 |
|
|
280 |
|
|
276 |
|
281 |
|
277 |
|
282 |
|
278 |
|
283 |
|
|
|
||
369 |
|
374 |
|
370 |
|
375 |
|
371 |
|
376 |
|
|
377 |
|
|
372 |
|
378 |
|
373 |
|
379 |
|
374 |
|
380 |
|
|
|
||
497 |
|
503 |
|
498 |
|
504 |
|
499 |
|
505 |
|
500 |
|
|
|
|
506 |
|
|
501 |
|
507 |
|
502 |
|
508 |
|
503 |
|
509 |
|
|
|
||
517 |
|
523 |
|
518 |
|
524 |
|
519 |
|
525 |
|
520 |
|
|
|
|
526 |
|
|
521 |
|
527 |
|
522 |
|
528 |
|
523 |
|
529 |
|
|
|
||
537 |
|
543 |
|
538 |
|
544 |
|
539 |
|
545 |
|
540 |
|
|
|
|
546 |
|
|
541 |
|
547 |
|
542 |
|
548 |
|
543 |
|
549 |
|
|
|
||
553 |
|
559 |
|
554 |
|
560 |
|
555 |
|
561 |
|
556 |
|
|
|
|
562 |
|
|
557 |
|
563 |
|
558 |
|
564 |
|
559 |
|
565 |
|
|
|
||
620 |
|
626 |
|
621 |
|
627 |
|
622 |
|
628 |
|
623 |
|
|
|
|
629 |
|
|
624 |
|
630 |
|
625 |
|
631 |
|
626 |
|
632 |
|
627 |
|
633 |
|
628 |
|
634 |
|
629 |
|
635 |
|
630 |
|
|
|
631 |
|
636 |
|
632 |
|
637 |
|
|
638 |
|
|
|
639 |
|
|
|
640 |
|
|
|
641 |
|
|
633 |
|
642 |
|
634 |
|
643 |
|
635 |
|
644 |
|
|
|
||
1272 |
|
1281 |
|
1273 |
|
1282 |
|
1274 |
|
1283 |
|
1275 |
|
|
|
1276 |
|
|
|
|
1284 |
|
|
|
1285 |
|
|
|
1286 |
|
|
|
1287 |
|
|
|
1288 |
|
|
|
1289 |
|
|
|
1290 |
|
|
|
1291 |
|
|
|
1292 |
|
|
|
1293 |
|
|
1277 |
|
1294 |
|
1278 |
|
1295 |
|
1279 |
|
1296 |
|