From 97b7b2f410e487f59ae3690213cfc8de0c8b88fb Mon Sep 17 00:00:00 2001 From: Jesse Gross Date: Thu, 8 Oct 2009 12:20:10 -0700 Subject: [PATCH] bonding: Compare ports, not interfaces, for loop checks. In order to avoid loops we check that the input and output ports are not equal. When selecting mirror outputs for RSPAN we were checking interfaces instead of ports. This lead to loops when using RSPAN with bonded ports. Bug #2118 --- vswitchd/bridge.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index f32d2baff..4ad7e9bb7 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -1721,8 +1721,7 @@ compose_dsts(const struct bridge *br, const flow_t *flow, uint16_t vlan, if (dst_is_duplicate(dsts, dst - dsts, dst)) { continue; } - if (dst->dp_ifidx == flow->in_port - && dst->vlan == vlan) { + if (port == in_port && dst->vlan == vlan) { /* Don't send out input port on same VLAN. */ continue; } -- 2.43.0