OSDN Git Service

bonding: support balance-alb with openvswitch
authorMateusz Kowalski <mko@redhat.com>
Tue, 1 Aug 2023 12:37:50 +0000 (14:37 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 3 Aug 2023 08:25:42 +0000 (10:25 +0200)
commitf11e5bd159b08976db9e7a9eabbf0318dfe5429d
treeddf7c004655da1fb3a8530e49e721f9b2061c0f3
parentb23ec2bd7b847aa8e453d8bb5f62d31176b535f3
bonding: support balance-alb with openvswitch

Commit d5410ac7b0ba ("net:bonding:support balance-alb interface with
vlan to bridge") introduced a support for balance-alb mode for
interfaces connected to the linux bridge by fixing missing matching of
MAC entry in FDB. In our testing we discovered that it still does not
work when the bond is connected to the OVS bridge as show in diagram
below:

eth1(mac:eth1_mac)--bond0(balance-alb,mac:eth0_mac)--eth0(mac:eth0_mac)
                         |
                       bond0.150(mac:eth0_mac)
                         |
                       ovs_bridge(ip:bridge_ip,mac:eth0_mac)

This patch fixes it by checking not only if the device is a bridge but
also if it is an openvswitch.

Signed-off-by: Mateusz Kowalski <mko@redhat.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/9fe7297c-609e-208b-c77b-3ceef6eb51a4@redhat.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/bonding/bond_alb.c
include/linux/netdevice.h