qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Blue Swirl" <blauwirbel@gmail.com>
To: dlaor@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] mark nic as trusted
Date: Sun, 11 Jan 2009 17:34:28 +0200	[thread overview]
Message-ID: <f43fc5580901110734s92bb3beqa29f68fc2716cfd1@mail.gmail.com> (raw)
In-Reply-To: <496A0B4C.7000004@redhat.com>

On 1/11/09, Dor Laor <dlaor@redhat.com> wrote:
>
>  Carl-Daniel Hailfinger wrote:
>  On 11.01.2009 08:10, Blue Swirl wrote:
>
>
>  On 1/11/09, Jamie Lokier <jamie@shareable.org> wrote:
>
>
>
>  > But we also have to think about how to support newer platforms and newer
>  > kernels and this will often mean that we have to make intrusive changes
>  > so that the integration makes everyone happy. This does not mean that
>  > we cannot support older platforms though, we just have to do it a little
>  > differently on the older platforms.
>
>  Sure, but don't make it _deliberately_ hard to support
>  older/obscure/can't-compile-a-kernel-module guests by
> designing
>  something that's obviously going to require a totally different
>  mechanism on those other guests. It would make it unnecessarily hard
>  to integrate diverse guests with management apps from different
>  authors if they do adopt the vmchannel mechanism.
>
>
>  I think a serial port device should be universally supported by any OS
> and it's portable to many systems. Older OS may accidentally enable
> forwarding between the trusted nic and other nics, this doesn't happen
> with serial lines.
>
>
>  I remember the old days of DOS networking where the Kirschbaum-Netz
> software provided some sort of routed/forwarded networking between PCs
> over serial ports. It was a default on choice in many corporate and
> private "LANs" in Germany at the beginning of the last decade.
>
> Except for machines with that software (which is really hard to get
> nowadays), my concern should be a non-issue, especially for virtual
> machines which are unlikely to have such software installed.
>
> Regards,
> Carl-Daniel
>
>
>
>  Actually vmchannel started as a pv serial implementation. Standard serial
> is
>  a bit low performing and demand an vmexit per byte (maybe it's not that bad
> for us).
>  Moreover, various guest do not support more than 4 serial channels. Since
> there
>  should be several channels and we like to preserve some for console/debug,
> it is
>  not enough.

There could be similar OS limits for number of nics in the system.

>  Originally, vmchannel was a virtio interface with netlink interface to the
> kernel.
>  Then, Anthony asked to change it to a socket interface with new address
> family. It
>  was indeed a logical step. Then, David Miller was reluctant to add such
> interface to the
>  kernel. Instead, he offered the network device solution.
>  Are we close to begin this loop again?  :)

I propose to make the vmchannel connect to any capable device (serial,
nic, usb, IO port, whatever) by adding some indirection. Moreover, at
start no device should be "vmchannel-enabled" but the connection could
be made dynamically at guest's request, then some of the disadvantages
you listed are gone.

>  Let's try to stick to the nic solution. It has some advantages over pv
> serial:
>      - Reliable communication if tcp is used
>      - Migration support for slirp
>      - No new driver in the guest.
>      - Might even work for older guests
>  The disadvantages are:
>      - Need to 'teach' guest daemons/firewalls not to handle/block the new
> nic

The guest could request a vmchannel only after ensuring that the
firewall is fixed..

>      - Link local addresses for ipv4 are problematic when using on other
> nics in parallel

Likewise, the guest could check the address situation beforehand.

>         - We should either 1. not use link local on other links 2. Use
> standard dhcp addresses 3. do
>            not use tcp/ip for vmchannel communication.
>
>  So additional nic can do the job and we have several flavours to choose
> from.

The solution should be generic enough so that any nic can be connected
to vmchannel.

  reply	other threads:[~2009-01-11 15:34 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-07 14:26 [Qemu-devel] [PATCH] mark nic as trusted Gleb Natapov
2009-01-07 15:04 ` Mark McLoughlin
2009-01-07 15:19   ` Gleb Natapov
2009-01-07 15:41     ` Mark McLoughlin
2009-01-07 16:02       ` Gleb Natapov
2009-01-07 16:34 ` Anthony Liguori
2009-01-07 16:50   ` Gleb Natapov
2009-01-07 17:53     ` Anthony Liguori
2009-01-07 17:54       ` Anthony Liguori
2009-01-07 18:41         ` Gleb Natapov
2009-01-07 19:26           ` Anthony Liguori
2009-01-07 19:46             ` Gleb Natapov
2009-01-08 19:58               ` Anthony Liguori
2009-01-08 21:26                 ` Gleb Natapov
2009-01-08 21:42                   ` Anthony Liguori
2009-01-08 22:49                     ` Jamie Lokier
2009-01-08 23:14                       ` Dor Laor
2009-01-09 10:41                         ` Daniel P. Berrange
2009-01-10  2:18                           ` Jamie Lokier
2009-01-10 18:22                             ` Anthony Liguori
2009-01-11  4:55                               ` Jamie Lokier
2009-01-11  7:10                                 ` Blue Swirl
2009-01-11 14:08                                   ` Carl-Daniel Hailfinger
2009-01-11 15:07                                     ` Dor Laor
2009-01-11 15:34                                       ` Blue Swirl [this message]
2009-01-11 16:01                                         ` Dor Laor
2009-01-12  2:20                                           ` Jamie Lokier
2009-01-12  8:05                                             ` Gleb Natapov
2009-01-12 12:26                                               ` Dor Laor
2009-01-10  2:27                         ` Jamie Lokier
2009-01-08 23:26                       ` Anthony Liguori
2009-01-10  2:31                         ` Jamie Lokier
2009-01-10 18:24                           ` Anthony Liguori
2009-01-11  4:40                             ` Jamie Lokier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f43fc5580901110734s92bb3beqa29f68fc2716cfd1@mail.gmail.com \
    --to=blauwirbel@gmail.com \
    --cc=dlaor@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).