Richard Neill <[EMAIL PROTECTED]> wrote: > > > Re: User-net not working: > > > > > Disabling the Nagle algorithm (i.e., enabling TCP_NODELAY) or typing a > > > lot of garbage just to fill the buffer with enough data can help, > > > also. > > > > > > And IIRC, netcat has a UDP mode as well. I see no reason for this to > > > happen, but is there any chance it's using UDP by default, and you're > > > only redirecting TCP? > > > > > > Good luck! > > > > Thanks for your message. > > > > I think that -redir really is broken: I've also been unsuccessful in > > trying to make it work using an FTP server on a Windows guest, and using > > the SSH server on a knoppix guest. Has anyone here ever had success with > > it? It also fails on hosts with 2 different versions of Mandrake. > > > > Anyway, I've taken your suggestion, and run both ends with ethereal. > > Here's what I did: > > > > > > HOST (Linux); > > qemu -cdrom /dev/cdrom -boot d -user-net -redir tcp:2200::22 > > > > GUEST (Knoppix): > > Boot up, then start sshd. Verify that I can indeed do ssh > > [EMAIL PROTECTED], and that PermitRootLogin is yes in sshd_config. > > > > Then, start ethereal (on the "any" interface) > > > > > > HOST: > > Start ethereal (on the "any" interface") > > ssh -p 2200 [EMAIL PROTECTED] > > > > At this point, ssh just stalls. It's obviously waiting for something, > > but not known what. I get no output at all from it. > > > Can you try "ssh -p 2200 root@<my IP address not localhost> > > I've run into this several times dealing with the -redir > function, especially since localhost resolves as 127.0.0.1. > On my Solaris host with a linux guest, the packet arriving > showed up as 127.0.0.1, which ended up with the same > behavior as you're describing.
on my solaris host, the problem was that the host name was aliased to 127.0.0.1 as I use some software which automagically punts the interface to something like hostname-<interface>. So when it does a lookup for the host name, and it gets 127.0.0.1, it then all falls apart. I'm not sure how you can code around this particular problem. For those who say that the hostname shouldn't point to 127.0.0.1, that's fine. However, for my laptop, I'm constantly switching networks, and the software I use for that does it better than anything else I've ever used. (Especially for Solaris) > > --------------- > > > Dear Ben, > > Good guess! That's an ingenious bit of debugging, and it now works > perfectly. I suppose that now means 3 things need to be done: > > 1)Figure out *why* it doesn't work. It's definitely QEMU-specific, since > if I run 2 separate netcat processes on the host, I have no problem. I'd > be interested to know why this occurs. In particular, is it a problem > with the user-net stuff on the host, or a problem with the guest? Most likely there is some issue with the slirp code dealing with the localhost construct. I suspect that the slirp code needs to be rewriting anything that has a source destination of 127.0.0.1 and map it some way. > 2)Fix it... :-) I haven't touched the code in a couple of months. Been pretty distracted with other stuff these days. > > 3)Document this on the website as a known bug, so Google can find it. > Currently, anyone using an earlier version will just think that qemu is > broken. It hasn't worked since at least 0.6.1, although I can't tell you > about earlier versions. It should be google-able. At least I remember posting to the list about 8 months ago on this exact issue, and then posted how I fixed it. (IIRC). > I suspect that I am not up to the task of (2), so I must defer to the > experts... Yep. Probably need someone familiar with the slirp stack. Ben _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel