Bug 213821

Summary: Cannot create LACP bond over virtual network interfaces
Product: Networking Reporter: covidtrap (darren.reed)
Component: OtherAssignee: Stephen Hemminger (stephen)
Status: NEW ---    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.10 Subsystem:
Regression: No Bisected commit-id:

Description covidtrap 2021-07-22 14:04:56 UTC
Typically an LACP bond is formed over a pair of physical network interfaces to another piece of hardware. This is the bread and butter of many systems engineers.

But what about virtual network interfaces, such as tunnels?

Except in 1 case, it does not work. Why?

None of the virtual network interfaces (geneve, vxlan, ipip, gre) advertise either the network interface speed or the duplex of the connection. Check your output from "ethtool" to confirm. This prevents the 802.3ad driver from ever using the virtual network interface. That's the bug.

There is of course some merit behind that because as virtual network interfaces they have no inherent speed. But then there's the tun driver.

The tun driver advertises 10Mb/s and full duplex but it is the slowest of all the family of virtual network interfaces and thus the least desirable. It's not clear why someone chose 10Mb/s but it has its place.

Why would I like to create a LACP bond over a pair of virtual interfaces? Because that's the easiest way to know if the other end is "dead". For example, if I create a L2TP tunnel between two systems and run an 802.3ad bond over each interface on the two systems then the LACP heartbeat becomes a defacto method of informing me about the status of the other system.

In short, using an 802.3ad bond over a tunnel allows the bond network connection to become a virtual wire between the two systems. When the bond goes down, it as if the network cable has been unplugged.

After all that, what would I like to see fixed? Where a virtual network device (such as geneve) is associated with a physical device (such as eno1) that it inherits the physical properties of speed and duplex of the physical device. This may also be applied to other virtual network devices that have a physical device associated with them upon creation.