summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTao Liu <thomas.liu@ucloud.cn>2022-06-30 16:34:05 +0800
committerIlya Maximets <i.maximets@ovn.org>2022-07-26 12:51:19 +0200
commit74070e3559f755a87e51e1b34d280bb7dd3df916 (patch)
treeab40d4387bcdd6062c17bfcc5f704846eb6308af
parent384e7f9501b8d84a95331c0cac38d95cefd7087f (diff)
downloadopenvswitch-74070e3559f755a87e51e1b34d280bb7dd3df916.tar.gz
netdev-linux: Do not touch LAG members if master is not attached to OVS.
Bond master netdev may be created without a classification type, due to routing or tunneling code. If bond master is not attached to ovs, the ingress block on LAG members should not be updated. Simple reproducer: tc q ls dev net3 ingress ip a add 10.1.1.1/30 dev bond0 ip l set net3 master bond0 tc q ls dev net3 ingress Fixes: d22f8927c3c9 ("netdev-linux: monitor and offload LAG slaves to TC") Signed-off-by: Tao Liu <thomas.liu@ucloud.cn> Acked-by: Roi Dayan <roid@nvidia.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
-rw-r--r--lib/netdev-linux.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index ef996eab0..61ca8075b 100644
--- a/lib/netdev-linux.c
+++ b/lib/netdev-linux.c
@@ -684,7 +684,10 @@ netdev_linux_update_lag(struct rtnetlink_change *change)
return;
}
- if (is_netdev_linux_class(master_netdev->netdev_class)) {
+ /* If LAG master is not attached to ovs, ingress block on LAG
+ * members shoud not be updated. */
+ if (!master_netdev->auto_classified &&
+ is_netdev_linux_class(master_netdev->netdev_class)) {
block_id = netdev_get_block_id(master_netdev);
if (!block_id) {
netdev_close(master_netdev);