From 25040070e5ef6777c30bf14befe0425e487133e8 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 951d6be5..09621fc3 100644 --- a/cmd_parser.c +++ b/cmd_parser.c @@ -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] ...))\n");