Skip to content

Unbalanced traffic over LACP bond #369

@rowlap

Description

@rowlap

I'm using openvswitch2.17.x86_64 from an RHEL8 derivative, and appreciate that this is an old version, however rebasing the package is not straightforward.

When setting up a bonded LACP interface, one interface gets all the egress traffic, and the other almost zero, perhaps the LACPDUs alone.

The interface config is not adventurous:

# ovs-appctl bond/show
---- bond0 ----
bond_mode: balance-tcp
bond may use recirculation: yes, Recirc-ID : 2
bond-hash-basis: 0
lb_output action: disabled, bond-id: -1
updelay: 0 ms
downdelay: 0 ms
lacp_status: negotiated
lacp_fallback_ab: false
active-backup primary: <none>
active member mac: 30:3e:a7:11:92:a9(eth0)

member eth0: enabled
  active member
  may_enable: true

member eth2: enabled
  may_enable: true

There is a workaround:

# ovs-vsctl set port bond0 other_config:bond-hash-basis=1

or

# ovs-vsctl set port bond0 other_config:bond-rebalance-interval=10000

causes egress traffic to flow over both interfaces. The weird part is that reverting either setting to 0 doesn't affect the balanced egress, as if there's some internal state to the interface which is being initialized only when we touch other_config.

I'm not expecting fixes for 2.17.0, but are there any other commands which could shine a light on what we're seeing here, before the heavier lift of upgrading?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions