From bf93b6313e537a56b27f61fdaaf7319fc04a8058 Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Thu, 16 Mar 2017 11:48:35 +0100 Subject: [PATCH] CLOUDSTACK-9811: fix duplicated nics on VR caused by nic name pp --- .../hypervisor/kvm/resource/LibvirtComputingResource.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index 7e2b1bf8666..c26c3e2bef1 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -1464,7 +1464,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv private String getBroadcastUriFromBridge(final String brName) { final String pif = matchPifFileInDirectory(brName); - final Pattern pattern = Pattern.compile("(\\D+)(\\d+)(\\D*)(\\d*)"); + final Pattern pattern = Pattern.compile("(\\D+)(\\d+)(\\D*)(\\d*)(\\D*)(\\d*)"); final Matcher matcher = pattern.matcher(pif); s_logger.debug("getting broadcast uri for pif " + pif + " and bridge " + brName); if(matcher.find()) { @@ -1472,7 +1472,9 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv return BroadcastDomainType.Vxlan.toUri(matcher.group(2)).toString(); } else{ - if (!matcher.group(4).isEmpty()) { + if (!matcher.group(6).isEmpty()) { + return BroadcastDomainType.Vlan.toUri(matcher.group(6)).toString(); + } else if (!matcher.group(4).isEmpty()) { return BroadcastDomainType.Vlan.toUri(matcher.group(4)).toString(); } else { //untagged or not matching (eth|bond|team)#.#