From 0d748fa8086e897b0a0168b0ebd26359d74beb23 Mon Sep 17 00:00:00 2001 From: d00f <8052722+DrDoof@users.noreply.github.com> Date: Mon, 12 Oct 2026 16:27:20 +0200 Subject: [PATCH] lacp: "lag 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. --- cmd_parser.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cmd_parser.c b/cmd_parser.c index b585a835..3a1da620 100644 --- a/cmd_parser.c +++ b/cmd_parser.c @@ -535,6 +535,7 @@ void parse_lag(void) goto err; if (cmd_compare(2, "d")) { + lacp_lag_set(group, 0); port_lag_members_set(group, 0); return; } @@ -558,10 +559,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] ...))\n");