[teamd]: Administratively shutdown port channel has member ports in deselected state and traffic is not forwarded. #1771 (#2882)

This commit is contained in:
Phanindra TV 2019-05-29 11:13:04 +05:30 committed by lguohan
parent 10a6157c83
commit df149cd1fc
2 changed files with 23 additions and 0 deletions

View File

@ -0,0 +1,22 @@
diff --git a/teamd/teamd_runner_lacp.c b/teamd/teamd_runner_lacp.c
index 4a3fe6b..19592c5 100644
--- a/teamd/teamd_runner_lacp.c
+++ b/teamd/teamd_runner_lacp.c
@@ -1182,12 +1182,17 @@ static int lacpdu_recv(struct lacp_port *lacp_port)
struct lacpdu lacpdu;
struct sockaddr_ll ll_from;
int err;
+ bool admin_state;
err = teamd_recvfrom(lacp_port->sock, &lacpdu, sizeof(lacpdu), 0,
(struct sockaddr *) &ll_from, sizeof(ll_from));
if (err <= 0)
return err;
+ admin_state = team_get_ifinfo_admin_state(lacp_port->ctx->ifinfo);
+ if (!admin_state)
+ return 0;
+
return lacpdu_process(lacp_port, &lacpdu);
}

View File

@ -7,3 +7,4 @@
0010-teamd-lacp-update-port-state-according-to-partners-sy.patch
0011-libteam-resynchronize-ifinfo-after-lost-RTNLGRP_LINK-.patch
0012-teamd-do-not-process-lacpdu-before-the-port-ifinfo-i.patch
0013-teamd-lacp-port-admin-down-recv-not-processing.patch