Skip to content

Commit 7dcf099

Browse files
committed
Administratively shutting down port channel will remove the ports from trunk in the hardware and thereby traffic stops forwarding. sonic-net#1771
1 parent f32243b commit 7dcf099

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
diff --git a/teamd/teamd_runner_lacp.c b/teamd/teamd_runner_lacp.c
2+
index 5fa026a..5f4ba75 100644
3+
--- a/teamd/teamd_runner_lacp.c
4+
+++ b/teamd/teamd_runner_lacp.c
5+
@@ -1179,12 +1179,20 @@ static int lacpdu_recv(struct lacp_port *lacp_port)
6+
struct lacpdu lacpdu;
7+
struct sockaddr_ll ll_from;
8+
int err;
9+
+ bool admin_state;
10+
11+
err = teamd_recvfrom(lacp_port->sock, &lacpdu, sizeof(lacpdu), 0,
12+
(struct sockaddr *) &ll_from, sizeof(ll_from));
13+
if (err <= 0)
14+
return err;
15+
16+
+ admin_state = team_get_ifinfo_admin_state(lacp_port->ctx->ifinfo);
17+
+ if (!admin_state) {
18+
+ teamd_log_info("%s received PDU in admin down state.",
19+
+ lacp_port->tdport->ifname);
20+
+ return 0;
21+
+ }
22+
+
23+
return lacpdu_process(lacp_port, &lacpdu);
24+
}
25+

src/libteam/series

+1
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@
77
0010-teamd-lacp-update-port-state-according-to-partners-sy.patch
88
0011-libteam-resynchronize-ifinfo-after-lost-RTNLGRP_LINK-.patch
99
0012-teamd-do-not-process-lacpdu-before-the-port-ifinfo-i.patch
10+
0013-teamd-lacp-port-admin-down-recv-not-processing.patch

0 commit comments

Comments
 (0)