Bug #397


BATMAN_V throughput on bridge, vxlan and veth

Added by Linus Lüssing almost 5 years ago. Updated almost 5 years ago.

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.

Actions #1

Updated by Linus Lüssing almost 5 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