lacp: "lag <n> d" and a static member list take the group out of LACP

Both paths wrote the trunk registers directly and left the protocol
running on the group, so "lag show" said disabled while the partner kept
both links in one aggregate, and re-sending the LACP line did not repair
it because the same-ports shortcut returns early. Each path now releases
the group from LACP first; for a group that never ran LACP that is a
no-op.
This commit is contained in:
d00f committed 2026-10-12 16:27:20 +02:00
1 parent edf6351d85
commit 25040070e5
1 file changed
+5 -2
+5 -2
View File
@@ -534,6 +534,7 @@ void parse_lag(void)
goto err;
if (cmd_compare(2, "d")) {
lacp_lag_set(group, 0);
port_lag_members_set(group, 0);
return;
}
@@ -557,10 +558,12 @@ void parse_lag(void)
members |= ((uint16_t)1) << atoi_results_u8;
}
if (lacp_mode)
if (lacp_mode) {
lacp_lag_set(group, members); /* 0 ports also valid: removes the LAG */
else
} else {
lacp_lag_set(group, 0);
port_lag_members_set(group, members);
}
return;
err:
cmd_error("lag (show | <1-4> (d | [lacp] <port>...))\n");