From: Markus Armbruster <armbru@redhat.com>
To: Vladislav Yaroshchuk <yaroshchuk2000@gmail.com>
Cc: peter.maydell@linaro.org, alex.bennee@linaro.org,
jasowang@redhat.com, phillip.ennen@gmail.com,
qemu-devel@nongnu.org, dirty@apple.com, f4bug@amsat.org,
roman@roolebo.dev, r.bolshakov@yadro.com, agraf@csgraf.de,
phillip@axleos.com, akihiko.odaki@gmail.com, hsp.cat7@gmail.com,
hello@adns.io, qemu_oss@crudebyte.com, eblake@redhat.com,
kraxel@redhat.com
Subject: Re: [PATCH v13 2/7] net/vmnet: add vmnet backends to qapi/net
Date: Tue, 18 Jan 2022 16:00:31 +0100 [thread overview]
Message-ID: <87r19584xc.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20220113172219.66372-3-yaroshchuk2000@gmail.com> (Vladislav Yaroshchuk's message of "Thu, 13 Jan 2022 20:22:14 +0300")
Vladislav Yaroshchuk <yaroshchuk2000@gmail.com> writes:
> Create separate netdevs for each vmnet operating mode:
> - vmnet-host
> - vmnet-shared
> - vmnet-bridged
>
> Signed-off-by: Vladislav Yaroshchuk <yaroshchuk2000@gmail.com>
I acked v8 of the QAPI schema part. You should add Acked-by and
Reviewed-by you receive in later revisions, unless you make changes that
invalidate them. When in doubt, drop them.
> diff --git a/qapi/net.json b/qapi/net.json
> index 7fab2e7cd8..b922e2e34f 100644
> --- a/qapi/net.json
> +++ b/qapi/net.json
> @@ -452,6 +452,120 @@
> '*vhostdev': 'str',
> '*queues': 'int' } }
>
> +##
> +# @NetdevVmnetHostOptions:
> +#
> +# vmnet (host mode) network backend.
> +#
> +# Allows the vmnet interface to communicate with other vmnet
> +# interfaces that are in host mode and also with the host.
> +#
> +# @start-address: The starting IPv4 address to use for the interface.
> +# Must be in the private IP range (RFC 1918). Must be
> +# specified along with @end-address and @subnet-mask.
> +# This address is used as the gateway address. The
> +# subsequent address up to and including end-address are
> +# placed in the DHCP pool.
> +#
> +# @end-address: The DHCP IPv4 range end address to use for the
> +# interface. Must be in the private IP range (RFC 1918).
> +# Must be specified along with @start-address and
> +# @subnet-mask.
> +#
> +# @subnet-mask: The IPv4 subnet mask to use on the interface. Must
> +# be specified along with @start-address and @subnet-mask.
> +#
> +# @isolated: Enable isolation for this interface. Interface isolation
> +# ensures that vmnet interface is not able to communicate
> +# with any other vmnet interfaces. Only communication with
> +# host is allowed. Available since macOS Big Sur 11.0.
What happens when the host is too old?
> +#
> +# @net-uuid: The identifier (UUID) to uniquely identify the isolated
> +# network vmnet interface should be added to. If
> +# set, no DHCP service is provided for this interface and
> +# network communication is allowed only with other interfaces
> +# added to this network identified by the UUID. Available
> +# since macOS Big Sur 11.0.
Same question.
> +#
> +# Since: 7.0
> +##
> +{ 'struct': 'NetdevVmnetHostOptions',
> + 'data': {
> + '*start-address': 'str',
> + '*end-address': 'str',
> + '*subnet-mask': 'str',
> + '*isolated': 'bool',
> + '*net-uuid': 'str' },
> + 'if': 'CONFIG_VMNET' }
> +
> +##
> +# @NetdevVmnetSharedOptions:
> +#
> +# vmnet (shared mode) network backend.
> +#
> +# Allows traffic originating from the vmnet interface to reach the
> +# Internet through a network address translator (NAT).
> +# The vmnet interface can communicate with the host and with
> +# other shared mode interfaces on the same subnet. If no DHCP
> +# settings, subnet mask and IPv6 prefix specified, the interface can
> +# communicate with any of other interfaces in shared mode.
> +#
> +# @start-address: The starting IPv4 address to use for the interface.
> +# Must be in the private IP range (RFC 1918). Must be
> +# specified along with @end-address and @subnet-mask.
> +# This address is used as the gateway address. The
> +# subsequent address up to and including end-address are
> +# placed in the DHCP pool.
> +#
> +# @end-address: The DHCP IPv4 range end address to use for the
> +# interface. Must be in the private IP range (RFC 1918).
> +# Must be specified along with @start-address and @subnet-mask.
> +#
> +# @subnet-mask: The IPv4 subnet mask to use on the interface. Must
> +# be specified along with @start-address and @subnet-mask.
> +#
> +# @isolated: Enable isolation for this interface. Interface isolation
> +# ensures that vmnet interface is not able to communicate
> +# with any other vmnet interfaces. Only communication with
> +# host is allowed. Available since macOS Big Sur 11.0.
Same question.
> +#
> +# @nat66-prefix: The IPv6 prefix to use into guest network. Must be a
> +# unique local address i.e. start with fd00::/8 and have
> +# length of 64.
> +#
> +# Since: 7.0
> +##
> +{ 'struct': 'NetdevVmnetSharedOptions',
> + 'data': {
> + '*start-address': 'str',
> + '*end-address': 'str',
> + '*subnet-mask': 'str',
> + '*isolated': 'bool',
> + '*nat66-prefix': 'str' },
> + 'if': 'CONFIG_VMNET' }
> +
> +##
> +# @NetdevVmnetBridgedOptions:
> +#
> +# vmnet (bridged mode) network backend.
> +#
> +# Bridges the vmnet interface with a physical network interface.
> +#
> +# @ifname: The name of the physical interface to be bridged.
> +#
> +# @isolated: Enable isolation for this interface. Interface isolation
> +# ensures that vmnet interface is not able to communicate
> +# with any other vmnet interfaces. Only communication with
> +# host is allowed. Available since macOS Big Sur 11.0.
Same question.
> +#
> +# Since: 7.0
> +##
> +{ 'struct': 'NetdevVmnetBridgedOptions',
> + 'data': {
> + 'ifname': 'str',
> + '*isolated': 'bool' },
> + 'if': 'CONFIG_VMNET' }
> +
> ##
> # @NetClientDriver:
> #
> @@ -460,10 +574,16 @@
> # Since: 2.7
> #
> # @vhost-vdpa since 5.1
> +# @vmnet-host since 7.0
> +# @vmnet-shared since 7.0
> +# @vmnet-bridged since 7.0
> ##
> { 'enum': 'NetClientDriver',
> 'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde',
> - 'bridge', 'hubport', 'netmap', 'vhost-user', 'vhost-vdpa' ] }
> + 'bridge', 'hubport', 'netmap', 'vhost-user', 'vhost-vdpa',
> + { 'name': 'vmnet-host', 'if': 'CONFIG_VMNET' },
> + { 'name': 'vmnet-shared', 'if': 'CONFIG_VMNET' },
> + { 'name': 'vmnet-bridged', 'if': 'CONFIG_VMNET' }] }
>
> ##
> # @Netdev:
> @@ -477,6 +597,9 @@
> # Since: 1.2
> #
> # 'l2tpv3' - since 2.1
> +# 'vmnet-host' - since 7.0
> +# 'vmnet-shared' - since 7.0
> +# 'vmnet-bridged' - since 7.0
> ##
> { 'union': 'Netdev',
> 'base': { 'id': 'str', 'type': 'NetClientDriver' },
> @@ -492,7 +615,13 @@
> 'hubport': 'NetdevHubPortOptions',
> 'netmap': 'NetdevNetmapOptions',
> 'vhost-user': 'NetdevVhostUserOptions',
> - 'vhost-vdpa': 'NetdevVhostVDPAOptions' } }
> + 'vhost-vdpa': 'NetdevVhostVDPAOptions',
> + 'vmnet-host': { 'type': 'NetdevVmnetHostOptions',
> + 'if': 'CONFIG_VMNET' },
> + 'vmnet-shared': { 'type': 'NetdevVmnetSharedOptions',
> + 'if': 'CONFIG_VMNET' },
> + 'vmnet-bridged': { 'type': 'NetdevVmnetBridgedOptions',
> + 'if': 'CONFIG_VMNET' } } }
>
> ##
> # @RxState:
next prev parent reply other threads:[~2022-01-18 16:02 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-13 17:22 [PATCH v13 0/7] Add vmnet.framework based network backend Vladislav Yaroshchuk
2022-01-13 17:22 ` [PATCH v13 1/7] net/vmnet: add vmnet dependency and customizable option Vladislav Yaroshchuk
2022-01-20 7:14 ` Roman Bolshakov
2022-01-21 11:58 ` Vladislav Yaroshchuk
2022-01-13 17:22 ` [PATCH v13 2/7] net/vmnet: add vmnet backends to qapi/net Vladislav Yaroshchuk
2022-01-14 8:43 ` Akihiko Odaki
2022-01-15 13:00 ` Vladislav Yaroshchuk
2022-01-18 15:00 ` Markus Armbruster [this message]
2022-01-18 16:16 ` Vladislav Yaroshchuk
2022-01-18 16:26 ` Markus Armbruster
2022-01-18 16:46 ` Vladislav Yaroshchuk
2022-01-20 8:32 ` Roman Bolshakov
2022-01-21 12:19 ` Vladislav Yaroshchuk
2022-01-21 13:03 ` Akihiko Odaki
2022-01-28 14:29 ` Vladislav Yaroshchuk
2022-01-28 23:00 ` Akihiko Odaki
2022-01-24 9:56 ` Roman Bolshakov
2022-01-24 11:27 ` Christian Schoenebeck
2022-01-24 17:49 ` Roman Bolshakov
2022-01-24 20:00 ` Christian Schoenebeck
2022-01-24 20:14 ` Peter Maydell
2022-01-24 23:00 ` Roman Bolshakov
2022-01-25 4:14 ` Akihiko Odaki
2022-01-25 10:32 ` Peter Maydell
2022-01-25 11:08 ` Akihiko Odaki
2022-01-25 17:30 ` Christian Schoenebeck
2022-01-29 21:03 ` Roman Bolshakov
2022-01-13 17:22 ` [PATCH v13 3/7] net/vmnet: implement shared mode (vmnet-shared) Vladislav Yaroshchuk
2022-01-14 8:43 ` Akihiko Odaki
2022-01-13 17:22 ` [PATCH v13 4/7] net/vmnet: implement host mode (vmnet-host) Vladislav Yaroshchuk
2022-01-13 17:22 ` [PATCH v13 5/7] net/vmnet: implement bridged mode (vmnet-bridged) Vladislav Yaroshchuk
2022-01-14 8:43 ` Akihiko Odaki
2022-01-13 17:22 ` [PATCH v13 6/7] net/vmnet: update qemu-options.hx Vladislav Yaroshchuk
2022-01-14 8:43 ` Akihiko Odaki
2022-01-13 17:22 ` [PATCH v13 7/7] net/vmnet: update MAINTAINERS list Vladislav Yaroshchuk
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=87r19584xc.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=agraf@csgraf.de \
--cc=akihiko.odaki@gmail.com \
--cc=alex.bennee@linaro.org \
--cc=dirty@apple.com \
--cc=eblake@redhat.com \
--cc=f4bug@amsat.org \
--cc=hello@adns.io \
--cc=hsp.cat7@gmail.com \
--cc=jasowang@redhat.com \
--cc=kraxel@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=phillip.ennen@gmail.com \
--cc=phillip@axleos.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu_oss@crudebyte.com \
--cc=r.bolshakov@yadro.com \
--cc=roman@roolebo.dev \
--cc=yaroshchuk2000@gmail.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.