This is an automated email from the ASF dual-hosted git repository. sureshanaparti pushed a commit to branch 4.19 in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.19 by this push: new 7506a547afc kvm, ui: fix interface when using vlan subnet for storage traffic type (#11245) 7506a547afc is described below commit 7506a547afc9079dc08853138d399c716d791cf8 Author: Abhishek Kumar <abhishek.mr...@gmail.com> AuthorDate: Wed Jul 30 11:04:58 2025 +0530 kvm, ui: fix interface when using vlan subnet for storage traffic type (#11245) * kvm, ui: fix interface when using vlan subnet for storage traffic type Fixes #7816 Signed-off-by: Abhishek Kumar <abhishek.mr...@gmail.com> --- .../java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java | 9 +++++++++ ui/src/views/infra/network/IpRangesTabStorage.vue | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java index 39ecc9182f0..67f093a933a 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java @@ -252,6 +252,15 @@ public class BridgeVifDriver extends VifDriverBase { intf.defBridgeNet(_bridges.get("private"), null, nic.getMac(), getGuestNicModel(guestOsType, nicAdapter)); } else if (nic.getType() == Networks.TrafficType.Storage) { String storageBrName = nic.getName() == null ? _bridges.get("private") : nic.getName(); + if (nic.getBroadcastType() == Networks.BroadcastDomainType.Storage) { + vNetId = Networks.BroadcastDomainType.getValue(nic.getBroadcastUri()); + protocol = Networks.BroadcastDomainType.Vlan.scheme(); + } + if (isValidProtocolAndVnetId(vNetId, protocol)) { + s_logger.debug(String.format("creating a vNet dev and bridge for %s traffic per traffic label %s", + Networks.TrafficType.Storage.name(), trafficLabel)); + storageBrName = createVnetBr(vNetId, storageBrName, protocol); + } intf.defBridgeNet(storageBrName, null, nic.getMac(), getGuestNicModel(guestOsType, nicAdapter)); } if (nic.getPxeDisable()) { diff --git a/ui/src/views/infra/network/IpRangesTabStorage.vue b/ui/src/views/infra/network/IpRangesTabStorage.vue index c8665d6d9b5..881f9ceadea 100644 --- a/ui/src/views/infra/network/IpRangesTabStorage.vue +++ b/ui/src/views/infra/network/IpRangesTabStorage.vue @@ -166,7 +166,7 @@ export default { }, { title: this.$t('label.vlan'), - dataIndex: 'vlanid' + dataIndex: 'vlan' }, { title: this.$t('label.startip'),