machyve / xhyve

xhyve, a lightweight OS X virtualization solution
Other
6.43k stars 353 forks source link

Does xhyve support multiple nics? #190

Open sponte opened 4 years ago

sponte commented 4 years ago

I am trying to run pfSense in xhyve and I managed to install the OS and subsequently run the software. I'm using userboot.so and using following command:

export BOOTVOLUME="$PWD/pfSense-CE-2.4.5-RELEASE-p1-amd64.iso"
export IMG="$PWD/pfSense.dmg"

sudo -E xhyve \
    -U 6C9B31CC-75A4-4AB7-9733-EB9ADD64658F \
    -A \
    -m 4G \
    -c 4 \
    -s 0,hostbridge \
    -s 2,virtio-net \
    -s 3,ahci-cd,$BOOTVOLUME \
    -s 4,virtio-blk,$IMG \
    -s 31,lpc \
    -l com1,stdio \
    -f fbsd,userboot.so,$IMG,""

I wanted to create two NICs in the guest OS, but nothing I tried worked for me. Things I attempted:

  1. Add -s 2,virtio-net
  2. Add -s 2:1,virtio-net
  3. Add -s 5,virtio-net

Every time I try any of that, I either get:

pci slot 2:0 already occupied!

or

virtio_net: Could not create vmnet interface, permission denied or no entitlement?

Secondly, these NICs when working, are using 192.168.64.0 range and use bridge100 interface on my Mac:

bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=3<RXCSUM,TXCSUM>
    ether xxxxxxxxxxxxx
    inet 192.168.64.1 netmask 0xffffff00 broadcast 192.168.64.255
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x2
    member: en4 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 17 priority 0 path cost 0
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active

Ideally I wanted to bridge my en1 and en2 interfaces into my guest OS. Is this supported at all?

My OS is 10.13.6 (17G11023) XHyve version: 0.2.0 installed using brew install xhyve