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'),

Reply via email to