diff --git a/server/src/main/java/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java b/server/src/main/java/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java index e9d32a2152b1..556fe18388f1 100644 --- a/server/src/main/java/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java +++ b/server/src/main/java/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java @@ -339,6 +339,7 @@ public boolean finalizeCommandsOnStart(final Commands cmds, final VirtualMachine vlanMacAddress.put(vlanTag, routerNic.getMacAddress()); } } + int deviceId = 1; //Public and Guest networks start from device_id = 1 final List usageCmds = new ArrayList(); @@ -347,7 +348,8 @@ public boolean finalizeCommandsOnStart(final Commands cmds, final VirtualMachine // add VPC router to public networks final List sourceNat = new ArrayList(1); for (final Pair nicNtwk : publicNics) { - final Nic publicNic = nicNtwk.first(); + final Nic publicNic = updateNicWithDeviceId(nicNtwk.first().getId(), deviceId); + deviceId ++; final Network publicNtwk = nicNtwk.second(); final IPAddressVO userIp = _ipAddressDao.findByIpAndSourceNetworkId(publicNtwk.getId(), publicNic.getIPv4Address()); @@ -385,7 +387,8 @@ public boolean finalizeCommandsOnStart(final Commands cmds, final VirtualMachine // add VPC router to guest networks for (final Pair nicNtwk : guestNics) { - final Nic guestNic = nicNtwk.first(); + final Nic guestNic = updateNicWithDeviceId(nicNtwk.first().getId(), deviceId); + deviceId ++; // plug guest nic final PlugNicCommand plugNicCmd = new PlugNicCommand(_nwHelper.getNicTO(domainRouterVO, guestNic.getNetworkId(), null), domainRouterVO.getInstanceName(), domainRouterVO.getType(), details); cmds.addCommand(plugNicCmd); @@ -834,4 +837,11 @@ public boolean postStateTransitionEvent(final StateMachine2.Transition