This is a very simple proof-of-concept patch that fakes ICMP well enough for ping to work.
Basically, when the slirp code gets a ping request for an ip outside of the slirp network, it runs /bin/ping and reports the results back to the guest accordingly. Right now it uses vfork() and then exec() to run ping on the host, as for some reason fork() causes qemu to freeze. I'm still trying to figure out why. As a consequence I don't close ping's output or error stream so you see output from it on the terminal window that qemu is running on. Tested on a linux host and a linux guest. -- [EMAIL PROTECTED] -- http://www.fastmail.fm - Does exactly what it says on the tin
slirp-ping.patch
Description: Binary data