On 14 December 2017 at 12:28, Thomas Huth <th...@redhat.com> wrote: > On 11.12.2017 23:04, Peter Maydell wrote: >> The deprecation message says: >> error_report("The -redir option is deprecated. " >> "Please use '-netdev user,hostfwd=...' >> instead."); >> >> How does this work for systems which have embedded ethernet >> devices and can't use -netdev ? > > Of course it should work the same way as you currently can configure all > embedded ethernet devices: > > -net nic -net user,hostfwd=...
Mmm, but the deprecation message doesn't say that. > By the way, I think our documentation is really lacking some proper > description how to deal with on-board devices ... > >> This is one reason I haven't bothered to update my scripts yet > > -redir is likely not doing what you expect as soon as you are using two > or more (embedded or non-embedded) NICs on a machine, so you really > should not use that option anymore. Two NICs on a machine is an obscure special case, though. Almost all setups will have just the one NIC. >> The message also doesn't point out that if you were previously >> using -net + -redir you need to switch to -device + -netdev, >> since -net + -netdev doesn't work AFAIK. > > I haven't tried, but I think you can also use: > > -netdev user,id=u1,hostfwd=... -net nic,netdev=u1 > > Or did you run into problems here? Nope. I just ignored the whole thing because the deprecation message didn't give me enough help and didn't actually stop anything working, and I knew that what the message did say was definitely wrong for my command line. I suspect I'm not an entirely atypical user here... I think what we need to do to be able to actually remove this code is: (1) make sure our documentation is clear and simple about how to move from an old command line to a new one (with examples, and covering all the conditions, not just the "let's assume everything's a PC with a pluggable PCI network card" case) (2) make the deprecation warning be specific, and cover all the cases, and probably refer to a documentation URL (3) make -redir in versions where we've removed the functionality print a message that specifically says "this option has been removed and is replaced by $FOO; see $URL for how to update your command line" (ie not just "-redir: unknown option", but retain the deprecation warning text for a bit). (Sorry if this feels like unexpectedly raising the bar for deprecation&removal -- I should probably have raised the issue earlier, but it was only your patch doing the removal that reminded me.) thanks -- PMM