From 1407260a5cd567c29e6a1a32b5a699910df830ec Mon Sep 17 00:00:00 2001 From: zhangjianjun Date: Fri, 26 Dec 2025 18:08:12 +0800 Subject: [PATCH] [sdnController]: set lacp mode when change host Resolves: ZSTAC-76537 Change-Id: I61636a6e78746b7166796572677a7a746c6d7469 Signed-off-by: zhangjianjun --- .../sdnController/SdnControllerApiInterceptor.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java index 999c34ecd0..35173af323 100644 --- a/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java +++ b/plugin/sdnController/src/main/java/org/zstack/sdnController/SdnControllerApiInterceptor.java @@ -200,16 +200,24 @@ private void validate(APISdnControllerChangeHostMsg msg) { msg.setNicNames(new ArrayList<>(nicNamePciAddressMap.keySet())); } - if (msg.getNicNames().size() > 1 && msg.getBondMode() == null) { + if (msg.getBondMode() == null) { msg.setBondMode(refVO.getBondMode()); } - if (msg.getLacpMode() == null) { + if (msg.getBondMode().equals(refVO.getBondMode())) { msg.setLacpMode(refVO.getLacpMode()); } - if (msg.getBondMode() != null && msg.getBondMode().equals(L2NetworkConstant.BONDING_MODE_TCP) && msg.getLacpMode() == null) { + if (msg.getBondMode().equals(L2NetworkConstant.BONDING_MODE_TCP)) { msg.setLacpMode(L2NetworkConstant.LACP_MODE_ACTIVE); + } else if (msg.getBondMode().equals(L2NetworkConstant.BONDING_MODE_SLB)) { + if (msg.getLacpMode() == null) { + msg.setLacpMode(L2NetworkConstant.LACP_MODE_OFF); + } else if (!(msg.getLacpMode().equals(L2NetworkConstant.LACP_MODE_PASSIVE))) { + msg.setLacpMode(L2NetworkConstant.LACP_MODE_OFF); + } + } else { + msg.setLacpMode(L2NetworkConstant.LACP_MODE_OFF); } }