summary refs log tree commit diff stats
path: root/scripts
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2012-03-06 00:00:07 +0100
committerJan Kiszka <jan.kiszka@siemens.com>2012-03-13 14:05:48 +0100
commite3078bf40a33b59fa11d077b1d0bb8796470982e (patch)
treefd4c5a6b793aed333d05cc859ca9f19acaf9d1a2 /scripts
parent953e7f54e679cd40fff28e29189ed9e24bfb0758 (diff)
downloadfocaccia-qemu-e3078bf40a33b59fa11d077b1d0bb8796470982e.tar.gz
focaccia-qemu-e3078bf40a33b59fa11d077b1d0bb8796470982e.zip
slirp: Fix queue walking in if_start
Another attempt to get this right: We need to carefully walk both the
fastq and the batchq in if_start while trying to send packets to
possibly not yet resolved hosts on the virtual network.

So far we just requeued a delayed packet where it was and then started
walking the queues from the top again - that couldn't work. Now we pre-
calculate the next packet in the queue so that the current one can
safely be removed if it was sent successfully. We also need to take into
account that the next packet can be from the same session if the current
one was sent and there are no other sessions.

CC: Fabien Chouteau <chouteau@adacore.com>
CC: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
CC: Stefan Weil <sw@weilnetz.de>
Tested-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions