vmx NIC ordering for pfSense on vSphere 5.5+
-
When adding a 5th VMXNet3 NIC to a pfSense guest running on vSphere 5.5+, the NIC ordering gets mixed up. Example:
4 vmxnet3 NICs:
NIC1 = vmx0
NIC2 = vmx1
NIC3 = vmx2
NIC4 = vmx35 vmxnet3 NICs:
NIC1 = vmx0
NIC2 = vmx2
NIC3 = vmx3
NIC4 = vmx4
NIC5 = vmx1This occurs during initial install as well as if you change the configuration later on. In the latter case, this can really make things complicated because the configuration for a given NIC isn't bound to the MAC address so the configuration on the system slides around and isn't correct after reboot. This can make access not function, especially in the common case where vmx0 is WAN and vmx1 is LAN.
-
That's a known issue and has been that way for years. It really doesn't have anything to do with pfSense or VMXNET though, ESX will reorder the NICs after adding the 5th one no matter what the guest OS is running.
-
Yeah that's a fun esx feature
-
One solution to keep NICs to a minimum is to use VLANs instead.
IE: set your VMNIC on vlan 4095 (all vlans) and then pop them off as needed inside pfSense. -
@jimp I've seen many linux distro's handle having several nics in vmware and handle adding more perfectly fine. Does pfSense / FreeBSD have an option where you can force binding to a particular MAC address? If so I imagine many people would love to have this as a selectable option.
Also, just using VLANs in pfSense doesn't give you enough options with things like traffic shaping.
-
@raitd said in vmx NIC ordering for pfSense on vSphere 5.5+:
@jimp I've seen many linux distro's handle having several nics in vmware and handle adding more perfectly fine.
Linux is vastly different in their default naming schemes. The current default names in Linux are based on bus locations which likely wouldn't change in those cases. FreeBSD counts up from 0 for each instance of the driver it finds when probing, so if the probe order changes, so does the NIC assignment order.
Does pfSense / FreeBSD have an option where you can force binding to a particular MAC address? If so I imagine many people would love to have this as a selectable option.
No.