diff --git a/src/libteam/0013-teamd-lacp-port-admin-down-recv-not-processing.patch b/src/libteam/0013-teamd-lacp-port-admin-down-recv-not-processing.patch new file mode 100644 index 0000000000..6e6c37e096 --- /dev/null +++ b/src/libteam/0013-teamd-lacp-port-admin-down-recv-not-processing.patch @@ -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); + } + diff --git a/src/libteam/series b/src/libteam/series index e9ef676ce5..76e5e8177c 100644 --- a/src/libteam/series +++ b/src/libteam/series @@ -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