Using 1x wan 1Gb Nic + 2x 10Gbe NICs on same machine so that Virtio-net-agnostic VM can talk to the host @10Gbe/s

safar

Member
Dec 27, 2012
5
0
21
Hi

I am running a Mac OS Mojave VM. This does not support the VIRTIO driver, I am stuck with the poor performance of vmx3net interface for accessing data on the host .
AppleVirtIO.kext attaches to the VirtIO device, but it doesn't turn it into a usable Interface.
Hiding AppleVirtIO.kext does make it possible to load the manually installed virtio-net.kext, which does turn into an Interface… but that's unable to get plugged in)
Using vmx3net works, but the throughput is 1Gb/s (+-110MB/s).
I can't use virtio-fs as it has no support yet on Mac.
I can't use a block-device such as a whole disk because I need host and guest to be able to modify the shared folder.

So I want to take advantage of my 3x NICS.
- 1x NIC 1Gbe to give Internet to the host (and the VM), and provide web interface to proxmox ; that's easiliy done, I just need to change the vmbr0 bridge_ports line to match the Ethernet Interface that I want to use (on my config, IP is 192.168.1.46, and NIC is enp133s0)
- 1x NIC 10Gbe for the MacOs VM as PCI PassThrough, so that MacOS has a private 10Gbe interface to use when talking to the host, on a separate network (192.167.12 is my manually assigned static address for the MacOs guest ; the PCI device that is sent pass-through is enp14s0f1)
- 1x NIC 10Gbe to use on the Host as an extra private Interface, to communicate with the MacOs VM on the separate network (192.167.1.46 is my manually assigned static address for the host)

This setup works ! Even without using a 10Gbe switch (which I don't have) : I use a direct cable between the two 10Gbe NICs.

Is this the proper way to do it? (one downside is that the MacOs guest must connect twice to the host : one on it's physical 10Gbe device, the other one using a
virtualized vmx3net interface).

Here is /etc/network/interfaces version 1 (working but not elegant):

Code:
auto lo
iface lo inet loopback

auto enp14s0f0
iface enp14s0f0 inet static
    address 192.167.1.46/24

iface enp133s0 inet manual

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.46/24
    gateway 192.168.1.1
    bridge-ports enp133s0
    bridge-stp off
    bridge-fd 0

I tried to use a bridge to bring together the 10Gbe and the 1Gbe NICs handled by the host (enp14s0f0 and enp133s0), but I could not figure out how to make it respond to both "public" address 192.168.1.46 and "private" adress 192.167.1.46

How can I use a bridge that will make it possible for the MacOs VM guest to connect to the Host with only its 10Gb/s passthrough NIC, and be able both to access Internet and the Host, using a single interface ?

thanks !
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!