VMware Cloud Community
srwsol
Hot Shot
Hot Shot

William Lam's Maclearn now part of ESXi (causes dependency check on updates)?

Hi folks:

I'm not sure if this is the right place to put this question or not, but I've been using William Lam's maclearn vib for a couple of years now because I have a VM that runs OpenVPN in bridge mode, and that needs promiscuous mode.  As with the nested ESXi situation that he wrote maclearn to address, this causes excessive CPU usage on that VM if there is lots of traffic on the virtual switch.  Because of that when I did updates I had to use "software profile update" instead of "software profile install" so that the maclearn vib didn't get removed. 

I was going through the dry-run of updating to 6.5d and it failed with a dependency check:

[root@naplesesxi:~] esxcli software profile update --dry-run --depot=/vmfs/volumes/539b4dcd-0d43b62e-2a98-e840f2d1736d/Upgrades/ESXi650-201704001

.zip --profile=ESXi-6.5.0-20170404001-standard

[DependencyError]

File path of '/usr/lib/vmware/vmkmod/dvfilter-maclearn' is claimed by multiple non-overlay VIBs: {'VMware_bootbank_vmware-esx-dvfilter-maclearn_1.00-1.00', 'VMware_bootbank_esx-dvfilter-maclearn_6.5.0-0.0.4282379'}

File path of '/usr/libexec/jumpstart/plugins/dvfilter-maclearn.json' is claimed by multiple non-overlay VIBs: {'VMware_bootbank_vmware-esx-dvfilter-maclearn_1.00-1.00', 'VMware_bootbank_esx-dvfilter-maclearn_6.5.0-0.0.4282379'}

Please refer to the log file for more details.

I had read something about a new fling being available that added a better version of maclearn, but it required a Distributed Virtual Switch, and as I only have the essentials package, I didn't have the ability to create a Distributed Virtual Switch, so I was intending to just stay with what I had.  I had not read or heard that the original version of maclearn was going to actually become a standard part of ESXi, but if I am reading the error message correctly, I believe it's trying to tell me that it is.  If I do the command as "install" instead of update, it says that my version will be removed, along with some other ones that I'll need to research:

[root@naplesesxi:~] esxcli software profile install --dry-run --depot=/vmfs/volumes/539b4dcd-0d43b62e-2a98-e840f2d1736d/Upgrades/ESXi650-20170400

1.zip --profile=ESXi-6.5.0-20170404001-standard

[Exception]

You attempted to install an image profile which would have resulted in the removal of VIBs ['VFrontDe_bootbank_sata-xahci_1.10-1', 'VMware_bootbank_vmware-esx-dvfilter-maclearn_1.00-1.00', 'VMware_bootbank_lsu-lsi-mptsas-plugin_1.0.0-1vmw.600.0.0.2494585', 'VMware_bootbank_esx-dvfilter-maclearn_6.5.0-0.0.4282379']. If this is not what you intended, you may use the esxcli software profile update command to preserve the VIBs above. If this is what you intended, please use the --ok-to-remove option to explicitly allow the removal.

Please refer to the log file for more details.

[root@naplesesxi:~]

The release notes didn't mention anything about maclearn, but it looks like it's here.  I guess my best bet would be to remove Lam's original vib first, assuming that this new vib is really the old maclearn version that works on systems without a Distributed Virtual Switch, and then apply the update in "update" mode so that I don't remove the others. 

I guess what I'm looking for feedback on is whether or not that VMware_bootbank_esx-dvfilter-maclearn_6.5.0-0.0.4282379 really is a plug replacement for the original maclearn vib.

Comments welcome.

Reply
0 Kudos
2 Replies
lamw
Community Manager
Community Manager

The Learnswitch Fling (http://www.virtuallyghetto.com/2017/04/esxi-learnswitch-enhancement-to-the-esxi-mac-learn-dvfilter.h... which was released earlier this year is what you want to use (there's some constraints such as requiring VDS, so have a look at the details) but yes, it can be a replacement for the old dvFilter

Reply
0 Kudos
srwsol
Hot Shot
Hot Shot

I know this is an old conversation, but I never did upgrade.  However, now I want to upgrade to 6.7 and of course I've got the same issue.  Unfortunately I've got the essentials bundle, so I can't create a VDS.  The reason I need promiscuous mode is that I'm running an OpenVPN server as a VM, and in order to support bridge mode clients (layer 2 client where they receive a MAC address and IP address on the same subnet as the VM's nic) promiscuous mode is necessary.

I guess my question is whether or not maclearn had a dependency set for the current version just out of caution, or if there really is something that won't work in the later versions.  I'm toying with the idea of trying to force the install with -f to see what happens, but if it's a certainty that something changed that would render it non-functional or cause a crash, then of course I won't try it. 

Comments welcome.

Reply
0 Kudos