All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladislav Yaroshchuk <yaroshchuk2000@gmail.com>
To: Roman Bolshakov <r.bolshakov@yadro.com>
Cc: Thomas Huth <thuth@redhat.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	jasowang@redhat.com, qemu-devel@nongnu.org,
	Cameron Esfahani <dirty@apple.com>,
	Markus Armbruster <armbru@redhat.com>,
	Phillip Tennen <phillip@axleos.com>,
	Howard Spoelstra <hsp.cat7@gmail.com>,
	Alessio Dionisi <hello@adns.io>
Subject: Re: [PATCH 0/7] Add vmnet.framework based network backend
Date: Tue, 17 Aug 2021 12:10:25 +0300	[thread overview]
Message-ID: <CADO9X9QemHmNhs=KbDiENHnCujkfCWMDX8TPoX8dPPJy5a_8xA@mail.gmail.com> (raw)
In-Reply-To: <YRS5BaIhk0sWhwIQ@SPB-NB-133.local>

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

Hi Roman,

Sorry for the late reply. In my series of patches I partially reuse Phillip
Tennen's work that you have mentioned
https://mail.gnu.org/archive/html/qemu-devel/2021-02/msg05874.html. The
main idea and provided feature is the same, so please select the series on
your choice. I just can say that I'm ready to update/improve my patches
asap, make them ready to be merged. Can't say anything about Phillip, is he
ready too or not.

Regards,
Vladislav

чт, 12 авг. 2021 г. в 09:01, Roman Bolshakov <r.bolshakov@yadro.com>:

> On Thu, Jun 17, 2021 at 05:32:39PM +0300, Vladislav Yaroshchuk wrote:
> > macOS provides networking API for VMs called vmnet.framework.
> > I tried to add it as a network backend. All three modes are supported:
> >
> > -shared:
> >   allows the guest to comminicate with other guests in shared mode and
> >   also with external network (Internet) via NAT
> >
> > -host:
> >   allows the guest to communicate with other guests in host mode
> >
> > -bridged:
> >   bridges the guest with a physical network interface
> >
> > Separate netdev for each vmnet mode was created because they use quite
> > different settings, especially since macOS 11.0 when vmnet.framework
> > gets a lot of updates.
> >
> > Not sure that I use qemu_mutex_lock_iothread() and
> > qemu_mutex_unlock_iothread() in correct way while sending packet
> > from vmnet interface to QEMU. I'll be happy to receive
> > recomendations how to make this thing better if I done sth wrong.
> >
> > Also vmnet.framework requires com.apple.vm.networking entitlement to
> > run without root priveledges. Ad-hoc signing does not fit there,
> > so I didn't touch anything related to signing. As a result we should
> > run qemu-system by a priviledged user:
> > `$ sudo qemu-system-x86_64 -nic vmnet-shared`
> > otherwise vmnet fails with 'general failure'.
> >
> > But in any way it seems working now,
> > I tested it within qemu-system-x86-64 on macOS 10.15.7 host, with nic
> > models:
> > - e1000-82545em
> > - virtio-net-pci
> >
> > and having such guests:
> > - macOS 10.15.7
> > - Ubuntu Bionic (server cloudimg)
> >
>
> Hi Vladislav,
>
> I appreciate the efforts and I'm sorry I didn't look into it yet, lack
> of time :(
>
> To all: earlier this year another series was sent by Phillip Tennen to
> add vmnet.framework and some comments were provided:
> https://mail.gnu.org/archive/html/qemu-devel/2021-02/msg05874.html
>
> I'm not sure how to proceed with arbitration which of the series is
> preferred. FIFO or LIFO?
>
> Regards,
> Roman
>
> > Vladislav Yaroshchuk (7):
> >   net/vmnet: dependencies setup, initial preparations
> >   net/vmnet: add new netdevs to qapi/net
> >   net/vmnet: create common netdev state structure
> >   net/vmnet: implement shared mode (vmnet-shared)
> >   net/vmnet: implement host mode (vmnet-host)
> >   net/vmnet: implement bridged mode (vmnet-bridged)
> >   net/vmnet: update qemu-options.hx
> >
> >  configure           |  31 +++++
> >  meson.build         |   5 +
> >  net/clients.h       |  11 ++
> >  net/meson.build     |   7 ++
> >  net/net.c           |  10 ++
> >  net/vmnet-bridged.m | 123 ++++++++++++++++++
> >  net/vmnet-common.m  | 294 ++++++++++++++++++++++++++++++++++++++++++++
> >  net/vmnet-host.c    |  93 ++++++++++++++
> >  net/vmnet-shared.c  |  94 ++++++++++++++
> >  net/vmnet_int.h     |  48 ++++++++
> >  qapi/net.json       |  99 ++++++++++++++-
> >  qemu-options.hx     |  17 +++
> >  12 files changed, 830 insertions(+), 2 deletions(-)
> >  create mode 100644 net/vmnet-bridged.m
> >  create mode 100644 net/vmnet-common.m
> >  create mode 100644 net/vmnet-host.c
> >  create mode 100644 net/vmnet-shared.c
> >  create mode 100644 net/vmnet_int.h
> >
> > --
> > 2.23.0
> >
>

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

      reply	other threads:[~2021-08-17  9:12 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-17 14:32 [PATCH 0/7] Add vmnet.framework based network backend Vladislav Yaroshchuk
2021-06-17 14:32 ` [PATCH 1/7] net/vmnet: dependencies setup, initial preparations Vladislav Yaroshchuk
2021-08-06 21:13   ` Eric Blake
2021-06-17 14:32 ` [PATCH 2/7] net/vmnet: add new netdevs to qapi/net Vladislav Yaroshchuk
2021-08-06 21:19   ` Eric Blake
2021-08-17  9:28     ` Vladislav Yaroshchuk
2021-06-17 14:32 ` [PATCH 3/7] net/vmnet: create common netdev state structure Vladislav Yaroshchuk
2021-06-17 14:32 ` [PATCH 4/7] net/vmnet: implement shared mode (vmnet-shared) Vladislav Yaroshchuk
2021-06-17 14:32 ` [PATCH 5/7] net/vmnet: implement host mode (vmnet-host) Vladislav Yaroshchuk
2021-06-17 14:32 ` [PATCH 6/7] net/vmnet: implement bridged mode (vmnet-bridged) Vladislav Yaroshchuk
2021-06-17 14:32 ` [PATCH 7/7] net/vmnet: update qemu-options.hx Vladislav Yaroshchuk
2021-08-06 19:03 ` [PATCH 0/7] Add vmnet.framework based network backend Vladislav Yaroshchuk
2021-08-09  3:23   ` Jason Wang
2021-08-12  6:00 ` Roman Bolshakov
2021-08-17  9:10   ` Vladislav Yaroshchuk [this message]

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='CADO9X9QemHmNhs=KbDiENHnCujkfCWMDX8TPoX8dPPJy5a_8xA@mail.gmail.com' \
    --to=yaroshchuk2000@gmail.com \
    --cc=armbru@redhat.com \
    --cc=dirty@apple.com \
    --cc=hello@adns.io \
    --cc=hsp.cat7@gmail.com \
    --cc=jasowang@redhat.com \
    --cc=phillip@axleos.com \
    --cc=qemu-devel@nongnu.org \
    --cc=r.bolshakov@yadro.com \
    --cc=stefanha@gmail.com \
    --cc=thuth@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.