Please provide your feedback in this short Flings' survey.
fling logo of ESXi Mac Learning dvFilter

ESXi Mac Learning dvFilter

version 2.0 — November 30, 2016

Contributors 2

View All

Comments 18

  • profile picture of Anonymous
  • profile picture of Michael Firth
  • profile picture of Ronald
  • profile picture of Anonymous
  • profile picture of Anonymous
  • profile picture of Anonymous
  • profile picture of Anonymous
  • profile picture of vharry
View All
The functionality of this Fling is now officially available in vSphere 6.7 & 8.0!

Summary

MAC learning functionality solves performance problems for use cases like nested ESX.  This ESX extension adds functionality to ESX to support MAC-learning on vswitch ports. For most ESX use cases, MAC learning is not required as ESX knows exactly which MAC address will be used by a VM. However, for applications like running nested ESX, i.e. ESX as a guest-VM on ESX, the situation is different. As an ESX VM may emit packets for a multitude of different MAC addresses, it currently requires the vswitch port to be put in "promiscuous mode". That however will lead to too many packets delivered into the ESX VM, as it leads to all packets on the vswitch being seen by all ESX VMs. When running several ESX VMs, this can lead to very significant CPU overhead and noticeable degradation in network throughput. Combining MAC learning with "promiscuous mode" solves this problem. The MAC learning functionality is delivered as a high speed VMkernel extension that can be enabled on a per-port basis. It works on legacy standard switches as well as Virtual Distributed Switches. The MAC learning module has a few noteworthy limitations:
  • 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.
For more information, read this blog. The download is on Instructions tab.

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:

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

Similar Flings

No similar flings found. Check these out instead...
Jun 16, 2020
fling logo of Unified Access Gateway Deployment Utility

Unified Access Gateway Deployment Utility

version 1.1.0

This utility provides better user interface, which is self explanatory about the next steps and better error handling through useful messages & tool tips which will make it easier for an admin to deploy single or multiple appliances.

Feb 06, 2019
fling logo of PowerCLI Preview for NSX-T

PowerCLI Preview for NSX-T

version 0.1.0-7961818

This Fling provides a community preview of the upcoming PowerCLI commands for NSX-T management.

Aug 24, 2022
fling logo of Rollcall

Rollcall

version 1.0

Rollcall is an application that is used to provision Users and Groups from Google Workspace or Azure Active Directory to Workspace ONE Access.

May 21, 2021
fling logo of App Volumes Packaging Utility

App Volumes Packaging Utility

version 1.3

This App Volumes Packaging Utility helps to package applications. With this fling, packagers can add the necessary metadata to MSIX app attach VHDs so they can be used alongside existing AV format packages.

Jun 17, 2021
fling logo of Virtual Machine Compute Optimizer

Virtual Machine Compute Optimizer

version 3.0.0.0

The Virtual Machine Computer Optimizer (VMCO) is a Powershell script that captures information about the hosts and VMS running in your vSphere environment, and reports back on whether the VMs are configured optimally based on the Host CPU and memory.

Feb 17, 2017
fling logo of VMware Endpoint Operations Agent Upgrade Kit

VMware Endpoint Operations Agent Upgrade Kit

version 2.0.0 Build 5084024

VMware Endpoint Operations Agent Upgrade kit upgrades your EPO agents registered to vRealize operations Manager (vR Ops) and whose collection state is "Collecting". This kit has the necessary bundles to upgrade the EPO agents of all flavors like Linux and Windows, and also both 32 and 64 bit agents. This kit will upgrade the agents of version 6.2.1 or 6.3 to 6.4.0 in a single node setup.

View More