Bug #397

BATMAN_V throughput on bridge, vxlan and veth

Added by Linus Lüssing over 3 years ago. Updated over 3 years ago.

batman-adv developers
Target version:
Start date:
Due date:
% Done:


Estimated time:


For these interfaces, bridge, vxlan and veth, batman-adv currently uses the 1Mbit/s default throughput. Also see:

For vxlan Matthias is currently working on a patch to inherit the properties from its parent device (similar to what vlan does).

For veth ethtool reports 10Gbit/s, which is way more reasonable value for an in-kernel connection than our 1MBit/s default value:

$ ethtool veth0
Settings for veth0:
        Supported ports: [ ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        MDI-X: Unknown
        Link detected: yes

However batman-adv uses the default 1MBit/s throughput value due to auto-negotiation being disabled. We could add an exception in batman-adv for veth to disregard the auto-negotiation property, however that would not be sufficient for applications with for instance v(x)lans stacked on top of veth.

For bridge interfaces it is even more tricky.



Updated by Linus Lüssing over 3 years ago

Approaches that could be worth discussing:

  • Should veth be patched to advertise auto-negotiation=on?
  • Should batman-adv be patched to disregard auto-negotiation property for veth?
  • Should the bridge be patched to advertise the minimum speed of all bridge ports?
  • Should there be a user, per hard-iface option in batman-adv to always fetch the speed regardless of the auto-negotiation flag?
  • Should the auto-negotiation flag check in batman-adv be removed and instead applying the default throughput to a list of specific interface types, only? (e.g. tap, l2tp, ...)

Also available in: Atom PDF