cloudstack-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Riepl, Gregor (SWISS TXT)" <Gregor.Ri...@swisstxt.ch>
Subject Re: KVM vm template with nicadapter vmxnet3
Date Wed, 15 Jul 2020 10:00:21 GMT
Hi El Nino,

Wow, you are actually correct.
QEMU (the hardware emulation layer KVM uses) does have vmxnet3 emulation: https://wiki.qemu.org/ChangeLog/1.5#Network_cards
I didn't know...

Looks like they added this for converted virtual machines (for example, appliances) where
the NIC cannot be changed easily.

Although: I wouldn't use it if I have a choice. virtio is better tested and probably much
faster and more stable.

So I guess that your problem is on the CloudStack side. The hardware lists are hard-coded
by hypervisor, so the supported interfaces must be listed there or CloudStack won't recognize
them. CS 4.14 should supprt vmxnet3 on libvirt though: https://github.com/apache/cloudstack/blob/4.14/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java#L1113

Which CloudStack version are you using?

Regards,
Gregor
________________________________
From: El Nino <lintik2313@gmail.com>
Sent: 13 July 2020 16:16
To: users@cloudstack.apache.org <users@cloudstack.apache.org>
Subject: Re: KVM vm template with nicadapter vmxnet3

Hi Riepl Gregor,

Thank you for you message.

Maybe you are right,  I don’t know. But today i have the application running on a qemu/kvm
host with vmxnet3 device for networking.

Here an output of all network devices available on my cloudstack kvm host.

#qemu-system-x86_64 -device help
Network devices:
name "e1000", bus PCI, alias "e1000-82540em", desc "Intel Gigabit Ethernet"
name "e1000-82544gc", bus PCI, desc "Intel Gigabit Ethernet"
name "e1000-82545em", bus PCI, desc "Intel Gigabit Ethernet"
name "e1000e", bus PCI, desc "Intel 82574L GbE Controller"
name "i82550", bus PCI, desc "Intel i82550 Ethernet"
name "i82551", bus PCI, desc "Intel i82551 Ethernet"
name "i82557a", bus PCI, desc "Intel i82557A Ethernet"
name "i82557b", bus PCI, desc "Intel i82557B Ethernet"
name "i82557c", bus PCI, desc "Intel i82557C Ethernet"
name "i82558a", bus PCI, desc "Intel i82558A Ethernet"
name "i82558b", bus PCI, desc "Intel i82558B Ethernet"
name "i82559a", bus PCI, desc "Intel i82559A Ethernet"
name "i82559b", bus PCI, desc "Intel i82559B Ethernet"
name "i82559c", bus PCI, desc "Intel i82559C Ethernet"
name "i82559er", bus PCI, desc "Intel i82559ER Ethernet"
name "i82562", bus PCI, desc "Intel i82562 Ethernet"
name "i82801", bus PCI, desc "Intel i82801 Ethernet"
name "ne2k_isa", bus ISA
name "ne2k_pci", bus PCI
name "pcnet", bus PCI
name "rocker", bus PCI, desc "Rocker Switch"
name "rtl8139", bus PCI
name "usb-bt-dongle", bus usb-bus
name "usb-net", bus usb-bus
name "virtio-net-device", bus virtio-bus
name "virtio-net-pci", bus PCI, alias "virtio-net"
name "vmxnet3", bus PCI, desc "VMWare Paravirtualized Ethernet v3”

After deploying the instance from cloudstack GUI, and do a virsh edit on the kvm host to change
e1000 by vmxnet3 and reboot the instance. I can see the vmxnet3 adapter on guest OS.
#virsh edit 23
    <interface type='bridge'>
      <mac address='02:00:27:b9:00:04'/>
      <source bridge='brens20-3951'/>
      <bandwidth>
        <inbound average='25600' peak='25600'/>
        <outbound average='25600' peak='25600'/>
      </bandwidth>
      <model type='vmxnet3'/>
      <link state='up'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

Where i’am wrong ?

Regards,


> On 13 Jul 2020, at 15:07, Riepl, Gregor (SWISS TXT) <Gregor.Riepl@swisstxt.ch>
wrote:
>
> Hi El Nino,
>
> I think there is a bit of a misconception here: vmxnet3 is a specific, proprietary, paravirtualized
network interface provided by VMware (ESX).
>
> There is no vmxnet3 support in KVM. KVM provides its own paravirtualized network interface,
called virtio_network: https://www.linux-kvm.org/page/Paravirtualized_networking
>
> If you have an application that requires paravirtualized networking, you should use this.
> If your application doesn't support anything besides vmxnet3, you should ask your application
vendor to provide a version that doesn't depend on VMware.
>
> Regards,
> Gregor
> ________________________________
> From: El Nino <lintik2313@gmail.com>
> Sent: 13 July 2020 10:47
> To: users@cloudstack.apache.org <users@cloudstack.apache.org>
> Subject: Re: KVM vm template with nicadapter vmxnet3
>
> Hi,
>
> Thank you for you answer, but what i’am looking for is to use the vmxnet3 adapter with
kvm vm and avoid to use the default e1000.
>
> I have some applications that only work with vmxnet3 and not e1000 or RTL8139.
>
> Kvm is compatible with vmxnet3 and on the LibVirtVMDef.java we have the vmxnet3 on NicModel
function.
>
> With this, i want to know if we can edit the template on cloudstack by api or editing
the database to change this parameter.
>
> Regards,
>
>
>> Hi.
>>
>>> Am 12.07.20 um 20:27 schrieb El Nino:
>>> I need to create a kvm vm template with vmxnet3 nic adapter but I'm not
>>> able to do this. I know this is possible for VMware clusters but the option
>>> is not available for kvm template.
>>
>> vmxnet3 is the name of a VMWare adapter.
>> KVM NIC names differ.
>> Have a look at http://docs.cloudstack.apache.org/en/latest/quickinstallationguide/qig.html#kvm-setup-and-installation
>> http://docs.cloudstack.apache.org/en/latest/installguide/hypervisor/kvm.html#configuring-the-networking
>>
>> Best
>> Michael
>>
>>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message