qemu-e2k/slirp
Jan Kiszka b248ede2ef slirp: Fix requeuing of batchq packets in if_start
In case we requeued a packet that was the head of a longer session
queue, we failed to restore this ordering. Also, we did not properly
deal with changes to Slirp::next_m.

Instead of a cumbersome roll back, this fix simply avoids any changes
until we know if the packet was actually sent. Both fixes crashes due
to inconsistent queues and simplifies the logic.

Thanks to Zhi Yong Wu who found the reason for these crashes.

CC: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>
CC: Fabien Chouteau <chouteau@adacore.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2012-02-27 14:54:49 +01:00
..
arp_table.c slirp: Fix types of IP address parameters 2011-08-05 12:51:11 +02:00
bootp.c Simple ARP table 2011-08-03 12:57:06 +02:00
bootp.h
cksum.c
COPYRIGHT
debug.h
if.c slirp: Fix requeuing of batchq packets in if_start 2012-02-27 14:54:49 +01:00
if.h slirp: Clean up ifs_init 2012-02-27 14:54:49 +01:00
ip_icmp.c slirp: Prevent sending ICMP error replies to source-only addresses 2012-02-08 10:07:54 +01:00
ip_icmp.h slirp: Forward ICMP echo requests via unprivileged sockets 2011-07-23 10:19:50 -05:00
ip_input.c slirp: Fix unusual "comments" in unused code 2011-07-27 10:10:17 +01:00
ip_output.c slirp: Replace m_freem with m_free 2011-07-23 10:19:49 -05:00
ip.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
libslirp.h main-loop: create main-loop.c 2011-10-21 18:14:30 +02:00
main.h Delayed IP packets 2011-08-03 12:57:11 +02:00
mbuf.c Delayed IP packets 2011-08-03 12:57:11 +02:00
mbuf.h slirp: Clean up ifs_init 2012-02-27 14:54:49 +01:00
misc.c slirp/misc: fix gcc __warn_memset_zero_len warnings 2012-02-24 13:24:42 +00:00
misc.h
sbuf.c
sbuf.h
slirp_config.h
slirp.c char: rename qemu_chr_write() -> qemu_chr_fe_write() 2011-08-22 10:17:15 -05:00
slirp.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
socket.c Wrap recv to avoid warnings 2011-07-25 14:38:56 +00:00
socket.h
tcp_input.c slirp: Fix use after release on tcp_input 2011-09-28 13:10:22 +02:00
tcp_output.c
tcp_subr.c Remove blanks before \n in output strings 2011-09-16 08:25:56 -05:00
tcp_timer.c
tcp_timer.h
tcp_var.h
tcp.h slirp: Fix bit field types in IP header structs 2011-08-14 23:34:44 -07:00
tcpip.h
tftp.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
tftp.h slirp: Remove some type casts caused by bad declaration of x.tp_buf 2011-02-25 15:58:59 +00:00
udp.c slirp: Replace m_freem with m_free 2011-07-23 10:19:49 -05:00
udp.h