|
From: | Mike Lovell |
Subject: | Re: [Qemu-discuss] Wget working but ping is not |
Date: | Fri, 10 Aug 2012 10:41:52 -0600 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0 |
On 08/10/2012 05:26 AM, Ottavio Caruso wrote:
On 10 August 2012 12:13, Jerzy Grzegorek <address@hidden> wrote:I built a little linux system for arm versatilepb machine, based on Busybox. I've run it on qemu and after booting I've launched udhcpc. My host is connecting to internet. Wget is working fine but ping is working only with localnet. I used kernel 3.2.26 and qemu 1.1.1 (I tried 0.15 and 1.0 versions tool) sudo qemu-system-arm -M versatilepb -m 128M -nographic \ -kernel uImage-3.2.26-initramfs \ -append "console=ttyAMA0 ip=10.0.2.15:10.0.2.2:10.0.2.2" \ -net nic,model=smc91c111 -net nic,vlan=0 -net user,vlan=0This is a limitation of Qemu is you use "-net user". I think you can ping outside the virtual Qemu network only with tunnelled or bridged networking, but I have never bothered trying.
yeah. this is a limitation of the user network backend. the problem is that the IP stack that the user backend uses doesn't support ICMP. all the network backends for qemu pass ethernet frames back and forth. the user backend, in addition to passing ethernet frames between the guest and the qemu process, also sets up a IP stack based on SLIRP and provides some basic IP services such as NAT, DHCP, and an SMB server. since this IP stack is somewhat limited, ping doesn't work and there isn't support for other things like ipv6.
the other network backends should work as expected. they just pass the ethernet frames between the guest and the other end of the network backend, such as a tap device. these network backend aren't looking at the IP layer at all and don't care about it. you could use a networking protocol other than IP when using them as well.
hope that adds some clarification. mike
[Prev in Thread] | Current Thread | [Next in Thread] |