History | View | Annotate | Download (6 kB)
slirp: Clean up ifs_init
Remove duplicate ifs_init macros, reimplement the logic as static inlinein mbuf.h.
CC: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>CC: Michael S. Tsirkin <mst@redhat.com>Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
slirp: Fix requeuing of batchq packets in if_start
In case we requeued a packet that was the head of a longer sessionqueue, we failed to restore this ordering. Also, we did not properlydeal with changes to Slirp::next_m.
Instead of a cumbersome roll back, this fix simply avoids any changes...
slirp: Refactor if_start
Replace gotos with a while loop, fix coding style.
CC: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>CC: Fabien Chouteau <chouteau@adacore.com>Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
slirp: Only start packet expiration for delayed ones
The expiration timeout must only affect packets that are queued due topending ARP resolutions. The old version broke ping e.g.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
slirp: Read current time only once per if_start call
No need to update the current time for each packet we send from thequeue. Processing time is comparably short.
Delayed IP packets
In the current implementation, if Slirp tries to send an IP packet to a clientwith an unknown hardware address, the packet is simply dropped and an ARPrequest is sent (if_encap in slirp/slirp.c).
With this patch, Slirp will send the ARP request, re-queue the packet and try...
slirp: Drop link_up checks from if_output and slirp_socket_can_recv
link_up is true once slirp is initialized, so these check are really notrequired.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
slirp: Factor out internal state structure
The essence of this patch is to stuff (almost) all global variables ofthe slirp stack into the structure Slirp. In this step, we still keepthe structure as global variable, directly accessible by the wholestack. Changes to the external interface of slirp will be applied in...
slirp: Use internal state in interface
This now also exports the internal state to the slirp users in qemu,returning it from slirp_init and expecting it along with serviceinvocations. Additionally provide an opaque value interface for thecallbacks from slirp into the qemu core....
slirp: Drop dead code
After all its years inside the qemu tree, there is no point in keepingthe dead code paths of slirp. This patch is a first round of removingusually commented out code parts. More cleanups need to follow (andmaybe finally a proper reindention)....
Sparse fixes: NULL use, header order, ANSI prototypes, static
Fix Sparse warnings: * use NULL instead of plain 0 * rearrange header include order to avoid redefining types accidentally * ANSIfy SLIRP * avoid "restrict" keyword * add static
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6736 c046a42c-6fe2-441c-8c8c-71466251a162
Add some missing static qualifiers
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5363 c046a42c-6fe2-441c-8c8c-71466251a162
Fix warnings that would be generated by gcc -Wstrict-prototypes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5021 c046a42c-6fe2-441c-8c8c-71466251a162
Special-case CTL_ALIAS instead of CTL_DNS in udp loopback test.
At the same time remove a bogus test (tested by Jason Wessel).Quiet some gcc4 warnings from slirp compilation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4402 c046a42c-6fe2-441c-8c8c-71466251a162
Add const etc. to places forgotten from the previous commit
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3453 c046a42c-6fe2-441c-8c8c-71466251a162
Use const and static as needed, disable unused code
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3452 c046a42c-6fe2-441c-8c8c-71466251a162
find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in the regex.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3177 c046a42c-6fe2-441c-8c8c-71466251a162
find -type f | xargs sed -i 's/[\t ]$//g' # on most files
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162
suppressed unaligned accesses
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1911 c046a42c-6fe2-441c-8c8c-71466251a162
windows fixes (Gregory Alexander)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1102 c046a42c-6fe2-441c-8c8c-71466251a162
memory leak fix (Juergen Keil)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1067 c046a42c-6fe2-441c-8c8c-71466251a162
initial user mode network support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@733 c046a42c-6fe2-441c-8c8c-71466251a162