Summary
- Once learned, a MAC address is never aged out. For very long running ESX VMs with high churn in used MAC addresses (e.g. via nested guest VMs) this may be a problem. If the MAC table of a particular port is full, the MAC learning functionality can no longer improve performance.
- MAC learning is not applied to multicast traffic and multicast traffic will see no performance improvement.
Requirements
- vSphere ESXi 5.x & ESXi 6.x
Instructions
For more details, you can refer to this blog post by William Lam
Installation consists of two parts:
- Download and install the VIB on all ESXi hosts:
esx-dvfilter-maclearn-6.5.0.vib
vmware-esx-dvfilter-maclearn-1.0.vib - Activate the functionality on a per VM basis
1. To install the VIB, you can run the following ESXCLI command if you have uploaded the VIB to an ESXi datastore:
esxcli software vib install -v /vmfs/volumes/[DATASTORE-NAME]/vmware-esx-dvfilter-maclearn-0.1-ESX-5.0.vib -f
A system reboot is not necessary and you can confirm the dvFilter was successfully installed by running the following command:
/sbin/summarize-dvfilter
You should see the dvfilter-maclearn module loaded as seen in the screenshot below:
2. For the dvFilter to work, you will need to add two Advanced Virtual Machine Settings to each of your Nested ESXi VMs. This setting is on a per vNIC basis, which means you will need to add N-entries if you have N-vNICs on your Nested ESXi VM.
ethernet0.filter4.name=dvfilter-maclearn
ethernet0.filter4.onFailure=failOpen
This configuration can be performed online without rebooting the Nested ESXi VMs if you leverage the vSphere API. Another way to add this is to shutdown your Nested ESXi VM and use either the “legacy” vSphere C# Client or vSphere Web Client or for those that know how to append and reload the .VMX file as that’s where the configuration file is persisted on disk.
If you normally provision Nested ESXi VMs with 2 vNICs, you will have two corresponding entries. To confirm the settings are loaded, we can re-run the summarize-dvfilter command and we should now see our Virtual Machine listed in the output along with each vNIC instance.
Changelog
Version 2.0
- New VIB to support ESXi 6.5
Version 1.0
- Supports ESXi 5.x and 6.0
Contributors
Similar Flings
No similar flings found. Check these out instead...

Distributed Trust Incident Reporting
Security incidents are important to track so that all parties know the status of a breach and can respond in concert and with appropriate speed. Current methods to track incidents are generally paper-based manual processes.

DRS Lens
DRS Lens is an attempt to provide a UI-based solution to help understand DRS better.

vSphere Software Asset Management Tool
The vSphere Software Asset Management (vSAM) is a tool that collects and summarizes vSphere product deployment information. It calls on vSphere APIs for deployment data and produces a PDF report that the customer can consult as a part of their infrastructure review and planning process. This lightweight Java application runs on Windows, Linux or Mac OS.

Storage Simulator Using Cellular Automata
Cellular automata allows modeling of transmission from one cell to another. In general this model can be used to simulate and study any complex dynamic system. When simulating a storage stack, we are modeling transmission of data blocks. Cells are physical entities of the storage stack such as , cpu. dram , network links, switches, PCI links, SSD, HDD, SCM etc. which are connected to form a graph like structure.

vCenter Plugin for vRealize Network Insight
This Fling collects data from vRealize Network Insight on vCenter giving admins a holistic view of what is happening within their environment.
This plugin also enables VI admins to get a better understanding of vSphere, Network and Security (Usage/Events/Flows/Top-talking VMs ) environments.

Horizon Event Notifier
This tool connects to one or more existing Horizon View Event Database(s) and allows the user to customize which types of alerts to be notified on.