13

Windows Server 2012 brought with it NIC teaming of adapters by different manufacturers.

I mean teaming using 1 NIC from say Intel and the other from Realtek. It has been possible to do teaming or bonding at the driver level, but what was introduced in Windows Server 2012 is at the operating system level. I appreciate Linux has been doing this for years :-)

It didn't make it onto Windows 8/8.1. I've seen some article where people reported it was working on Windows 10 Preview but no longer working.

Is NIC Teaming supported on Windows 10 Pro? Or another edition.

3
  • NIC teaming has been possible in Windows since at least Windows XP. What exactly did you read where?
    – qasdfdsaq
    Aug 12 '15 at 10:18
  • @qasdfdsaq at a driver level yes, but you'd need adapters of the same model. I don't mean to say they support a pair of realteks, or a pair of intels. I mean it supports teaming using 1 Intel and 1 Realtek. If you have a suggestion of how I may more clearly define this then please let me know.
    – albal
    Aug 12 '15 at 10:22
  • Realtek is pretty terrible for that. Intel had driver support in windows 8 for my card but you're really better off with a second intel, even if you have 'support'. I never quite got it working with a realtek
    – Journeyman Geek
    Aug 12 '15 at 12:33
8

-- EDIT 5/4/16 --

This has been disabled in the most recent version of Windows 10 as well as the insider build 14295. The powershell command will error out or say that LBFO is not supported on the current SKU depending on the versin of Windows you are running. Hopefully MS will re-enable this feature sometime soon.

-- Original Post Below --

Yes, This is possible! To anyone else who found this post by Googling:

I haven't found a way to access this though a GUI, but running the following PowerShell command will create a team for you. Just replace the Ethernet names with your NIC names.

New-NetLbfoTeam TheATeam "Ethernet","Ethernet 6"

You should then get a 2GBs Switch Independent team. From there you can use the Network Connections screen to set it up how you want.

Screenshot of networks and Team

4
  • 1
    Thank you very much @FunkeDope - I added a screenshot to your post. Works perfectly. Now I will have to do teaming on my VM Server ;-)
    – albal
    Dec 2 '15 at 22:08
  • Once I have created the teaming, how can I remove it? The remove button is greyed out when I right click the team interface.
    – Bilo
    Feb 2 '16 at 6:20
  • Note your PowerShell session will need to be running as and administrator
    – Nate
    Feb 9 '16 at 15:50
  • I have come up with a way to re-enable LBFO on Windows 10 by extracting files and registry keys from a Windows Server ISO. See my answer for details.
    – Polynomial
    May 27 '20 at 1:04
3

It seems this feature is coming back, at least for Intel NICs:

Intel mentions teaming support for Windows 10 in driver versions 22.3 or newer. Currently 23.5 is available.

This version comes with ANS (advanced network services, installed by default) which should allow teaming via powershell commands.

I havent tried it yet - the only mainboard I have with two intel nic's is a bit bios upgrade stubborn.

If anyone could get this to work with the latest windows creator update mentioned in the release notes, let me know :)

Update: tried link aggregation on Windows 10 - so currently it works (Jan 2019)

PS C:\Windows\system32> Import-Module -Name "C:\Program Files\Intel\Wired Networking\IntelNetCmdlets\IntelNetCmdlets"

PS C:\Windows\system32> Get-IntelNetAdapter

Location        Name                                                           ConnectionName            LinkStatus
--------        ----                                                           --------------            ----------
0:31:6:0        Intel(R) Ethernet Connection (2) I219-LM                       Intel-219                 Nicht verf...
7:0:0:0         Intel(R) I210 Gigabit Network Connection                       Intel-210                 1.00 Gbit/...

PS C:\Windows\system32> New-IntelNetTeam

Cmdlet New-IntelNetTeam an der Befehlspipelineposition 1
Geben Sie Werte fuer die folgenden Parameter an:
TeamMemberNames[0]: Intel(R) Ethernet Connection (2) I219-LM
TeamMemberNames[1]: Intel(R) I210 Gigabit Network Connection
TeamMemberNames[2]:
TeamMode: StaticLinkAggregation
TeamName: link_name_team

PS C:\Windows\system32> Get-IntelNetTeam

TeamName         : Gruppe:  link_name_team
TeamMembers      : {Intel(R) I210 Gigabit Network Connection, Intel(R) 
Ethernet Connection (2) I219-LM}
TeamMode         : StaticLinkAggregation
PrimaryAdapter   : NotSet
SecondaryAdapter : NotSet

An iperf3 run from two clients shows it seems to work:

enter image description here

4
  • Any idea about non-Intel adapters, such as Realtek?
    – Cocowalla
    Jan 22 '19 at 13:49
  • since this feature comes from the intel driver I assume its the same for realtek: only if their driver supports it
    – wemu
    Jan 23 '19 at 12:04
  • It worked with intel and tp-link cards
    – afarazit
    Apr 9 '20 at 11:09
  • After spending most part of the day trying to team a dual Intel card.. without success, I recognised immediately that this answer is Intel specific. You should make that clear from the beginning of your answer.
    – Greg Woods
    Jul 17 '20 at 19:44
1

No it is not possible to get NIC teamin in Windows 10 client SKUs. But available for Server SKUs.

From 14393 version (Anniversary update) this NIC teaming feature had been blocked or removed forever. It is seemed that the feature mistakenly added to client Windows 10 SKUs. When you put New-NetLbfoTeam command in PowerShell e.g. New-NetLbfoTeam -Name "NewTeam" -TeamMembers "Ethernet", "Ethernet2", the error shows as follows

New-NetLbfoTeam : The LBFO feature is not currently enabled, or LBFO is not supported on this SKU. At line:1 char:1 + New-NetLbfoTeam -Name "NewTeam" -TeamMembers "Ethernet", "Ethernet2" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (MSFT_NetLbfoTeam:root/Standa rdCimv2/MSFT_NetLbfoTeam) [New-NetLbfoTeam], CimException + FullyQualifiedErrorId : MI RESULT 1,New-NetLbfoTeam

New-NetLbfoTeam

The main reason was given in Social.TechNet.Microsoft: Nic Teaming broken in build 10586 as follows (quoted):

"There are no native LBFO capabilities on Win10. Microsoft does not support client SKU network teaming.

It was a defect in Windows 10 build 10240 that “New-NetLbfoTeam” wasn’t completely blocked on client SKUs. This was an unintentional bug, not a change in the SKU matrix. All our documentation continued to say that NIC Teaming is exclusively a feature for Server SKUs.

While the powershell cmdlet didn’t outright fail on client, LBFO was in a broken and unsupported state, since the client SKU does not ship the mslbfoprovider.sys kernel driver. That kernel driver contains all the load balancing and failover logic, as well as the LACP state machine. Without that driver, you might get the appearance of a team, but it wouldn’t really do actual teaming logic. We never tested NIC Teaming in a configuration where this kernel driver was missing.

In the 10586 update (“Fall update”) that was released a few months later, “New-NetLbfoTeam” was correctly blocked again.

In the 14393 update (“Anniversary update”), we continued blocking it, but improved the error message."

0

Microsoft may have removed the feature, but I figured out a way to put it back in. If you extract the LBFO driver and some associated files from a Windows Server ISO image, manually install them onto your Windows 10 system, apply some registry fixes, reboot, then add the LBFO network service to an adapter, you can use the Powershell commands again.

NIC teaming commands on Windows 10

It actually works:

NIC teaming working on Windows 10

The process is a total hack, and I wouldn't consider it anywhere near production safe, but if you want native NIC teaming then this will give you native NIC teaming.

The files you need from a Windows Server ISO are:

  • \Windows\System32\drivers\mslbfoprovider.sys
  • \Windows\System32\drivers\en-US\mslbfoprovider.sys.mui
  • \Windows\System32\DriverStore\en-US\MsLbfoProvider.inf_loc -\Windows\System32\DriverStore\FileRepository\mslbfoprovider.inf_amd64_9afb7ecb68781bac\mslbfoprovider.inf
  • \Windows\System32\CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Server-Features-Package017~31bf3856ad364e35~amd64~~10.0.17763.1.cat

They can be found in the \sources\install.wim archive inside the ISO, under one of the numbered directories. You then need to take the registry entries for the driver service, network service, and event log provider and import them into Windows 10. You then need to reboot. After that you use the Network Connections UI to load the Microsoft Load Balancing/Failover Provider service on any network adapter, which will start the driver service and enable LBFO on the system.

I wrote up the full discovery of how to do this, along with complete instructions, in a blog post. There's also a github repo with some batch scripts and registry files for convenience.

Not the answer you're looking for? Browse other questions tagged or ask your own question.