Skip to content

Commit 955ebda

Browse files
committed
SecurityGroup 값에 따른 도메인 xml 의 Interface값 변경
1 parent 37e44e2 commit 955ebda

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3759,6 +3759,9 @@ private void createVif(final LibvirtVMDef vm, final VirtualMachineTO vmSpec, fin
37593759
throw new InternalErrorException("LibvirtVMDef object get devices with null result");
37603760
}
37613761
final InterfaceDef interfaceDef = getVifDriver(nic.getType(), nic.getName()).plug(nic, vm.getPlatformEmulator(), nicAdapter, extraConfig);
3762+
if (!nic.isSecurityGroupEnabled()) {
3763+
interfaceDef.setFilterrefFilterTag();
3764+
}
37623765
if (vmSpec.getDetails() != null) {
37633766
setInterfaceDefQueueSettings(vmSpec.getDetails(), vmSpec.getCpus(), interfaceDef);
37643767
}

plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1455,6 +1455,7 @@ enum HostNicType {
14551455
private Integer _userIp4Prefix;
14561456
private Integer _multiQueueNumber;
14571457
private Boolean _packedVirtQueues;
1458+
private Boolean _filterrefFilter = false;
14581459

14591460
public void defBridgeNet(String brName, String targetBrName, String macAddr, NicModel model) {
14601461
defBridgeNet(brName, targetBrName, macAddr, model, 0);
@@ -1651,6 +1652,10 @@ public void setPackedVirtQueues(Boolean packedVirtQueues) {
16511652
this._packedVirtQueues = packedVirtQueues;
16521653
}
16531654

1655+
public void setFilterrefFilterTag() {
1656+
this._filterrefFilter = true;
1657+
}
1658+
16541659
public String getContent() {
16551660
StringBuilder netBuilder = new StringBuilder();
16561661
if (_netType == GuestNetType.BRIDGE) {
@@ -1726,7 +1731,9 @@ public String getContent() {
17261731
if (StringUtils.isNotBlank(_userIp4Network) && _userIp4Prefix != null) {
17271732
netBuilder.append(String.format("<ip family='ipv4' address='%s' prefix='%s'/>\n", _userIp4Network, _userIp4Prefix));
17281733
}
1729-
netBuilder.append("<filterref filter='allow-all-traffic'/>");
1734+
if (_filterrefFilter) {
1735+
netBuilder.append("<filterref filter='allow-all-traffic'/>");
1736+
}
17301737
return netBuilder.toString();
17311738
}
17321739

0 commit comments

Comments
 (0)