qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Dor Laor <dlaor@redhat.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] mark nic as trusted
Date: Sun, 11 Jan 2009 18:01:40 +0200	[thread overview]
Message-ID: <496A17E4.2070904@redhat.com> (raw)
In-Reply-To: <f43fc5580901110734s92bb3beqa29f68fc2716cfd1@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4514 bytes --]

Blue Swirl wrote:
> 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.
>   
But the number is much higher. It's the limitation of the #pci devices.
>   
>>  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.
>
>   
It's logical, mainly for the serial.
My only fear is that too many options will confuse the users/developers.
>>  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..
>   
The installer of the guest agent is responsible for punching a hole in 
the firewall.
>   
>>      - Link local addresses for ipv4 are problematic when using on other
>> nics in parallel
>>     
>
> Likewise, the guest could check the address situation beforehand.
>   
It does check (meaning we need to fully implement the link local rfc).
The problem is that even if we check that no one is using this guest local
link address, another nic can use link local addresses. So a remote host on
the LAN of the other nic might chose the same address we are using.
>   
>>         - 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.
>
>
>   
Agreed.


[-- Attachment #2: Type: text/html, Size: 5785 bytes --]

  reply	other threads:[~2009-01-11 16:01 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
2009-01-11 16:01                                         ` Dor Laor [this message]
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=496A17E4.2070904@redhat.com \
    --to=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).