The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/6683

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
From 2ac22dbf4c921eb2b9e40837113ffbdf514097d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com>
Date: Thu, 9 Jan 2020 13:21:40 -0500
Subject: [PATCH] lxd/qemu: Fix multiple NICs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
---
 lxd/instance/qemu/vm_qemu.go | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/lxd/instance/qemu/vm_qemu.go b/lxd/instance/qemu/vm_qemu.go
index fa4ae2a580..8504e70b22 100644
--- a/lxd/instance/qemu/vm_qemu.go
+++ b/lxd/instance/qemu/vm_qemu.go
@@ -1127,7 +1127,7 @@ addr = "0x0"
 # Balloon driver
 [device "qemu_pcie2"]
 driver = "pcie-root-port"
-port = "0x12"
+port = "0x11"
 chassis = "2"
 bus = "pcie.0"
 addr = "0x2.0x1"
@@ -1144,7 +1144,7 @@ filename = "/dev/urandom"
 
 [device "qemu_pcie3"]
 driver = "pcie-root-port"
-port = "0x13"
+port = "0x12"
 chassis = "3"
 bus = "pcie.0"
 addr = "0x2.0x2"
@@ -1176,6 +1176,7 @@ backend = "pty"
        vm.addMonitorConfig(sb)
        vm.addConfDriveConfig(sb)
 
+       nicIndex := 0
        for _, runConf := range devConfs {
                // Add root drive device.
                if runConf.RootFS.Path != "" {
@@ -1198,7 +1199,8 @@ backend = "pty"
 
                // Add network device.
                if len(runConf.NetworkInterface) > 0 {
-                       vm.addNetDevConfig(sb, runConf.NetworkInterface)
+                       vm.addNetDevConfig(sb, nicIndex, 
runConf.NetworkInterface)
+                       nicIndex++
                }
        }
 
@@ -1403,7 +1405,7 @@ drive = "lxd_%s"
 }
 
 // addNetDevConfig adds the qemu config required for adding a network device.
-func (vm *Qemu) addNetDevConfig(sb *strings.Builder, nicConfig 
[]deviceConfig.RunConfigItem) {
+func (vm *Qemu) addNetDevConfig(sb *strings.Builder, nicIndex int, nicConfig 
[]deviceConfig.RunConfigItem) {
        var devName, devTap, devHwaddr string
        for _, nicItem := range nicConfig {
                if nicItem.Key == "name" {
@@ -1424,21 +1426,21 @@ ifname = "%s"
 script = "no"
 downscript = "no"
 
-[device "qemu_pcie5"]
+[device "qemu_pcie%d"]
 driver = "pcie-root-port"
-port = "0x11"
-chassis = "5"
+port = "0x%d"
+chassis = "%d"
 bus = "pcie.0"
-addr = "0x2.0x4"
+addr = "0x2.0x%d"
 
-[device "dev-lxd_eth0"]
+[device "dev-lxd_%s"]
 driver = "virtio-net-pci"
-netdev = "lxd_eth0"
+netdev = "lxd_%s"
 mac = "%s"
-bus = "qemu_pcie5"
+bus = "qemu_pcie%d"
 addr = "0x0"
-bootindex = "2""
-`, devName, devName, devTap, devHwaddr))
+bootindex = "%d""
+`, devName, devName, devTap, 5+nicIndex, 14+nicIndex, 5+nicIndex, 4+nicIndex, 
devName, devName, devHwaddr, 5+nicIndex, 2+nicIndex))
 
        return
 }
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to