Blame SOURCES/virt-manager-virt-install-Support-network-source-source_mode-targ.patch

343f27
From 79d2f8aa7739fd4e6012a1fb48876dcc0d1efa7b Mon Sep 17 00:00:00 2001
343f27
From: Cole Robinson <crobinso@redhat.com>
343f27
Date: Thu, 9 Jan 2014 18:09:54 +0100
343f27
Subject: [RHEL-7.0 virt-manager PATCH] virt-install: Support --network source,
343f27
 source_mode, target
343f27
343f27
The latter two bits are needed for macvtap configuration.
343f27
343f27
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1049041
343f27
343f27
(cherry picked from commit 95170e8892ecac6a8762990d4cbef9bac14095b2)
343f27
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
343f27
343f27
Conflicts:
343f27
	tests/cli-test-xml/compare/many-devices.xml
343f27
	tests/clitest.py
343f27
	virtinst/cli.py
343f27
---
343f27
 man/virt-install.pod                        |  4 ++++
343f27
 tests/cli-test-xml/compare/many-devices.xml | 10 ++++++++++
343f27
 tests/clitest.py                            |  2 +-
343f27
 virtinst/cli.py                             |  3 +++
343f27
 4 files changed, 18 insertions(+), 1 deletion(-)
343f27
343f27
diff --git a/man/virt-install.pod b/man/virt-install.pod
343f27
index 3534875..8e4cf09 100644
343f27
--- a/man/virt-install.pod
343f27
+++ b/man/virt-install.pod
343f27
@@ -586,6 +586,10 @@ with a name of C<default>. Use a virtual network if the host has dynamic
343f27
 networking (eg NetworkManager), or using wireless. The guest will be
343f27
 NATed to the LAN by whichever connection is active.
343f27
343f27
+=item type=direct,source=IFACE[,source_mode=MODE]
343f27
+
343f27
+Direct connect to host interface IFACE using macvtap.
343f27
+
343f27
 =item user
343f27
343f27
 Connect to the LAN using SLIRP. Only use this if running a QEMU guest as
343f27
diff --git a/tests/cli-test-xml/compare/many-devices.xml b/tests/cli-test-xml/compare/many-devices.xml
343f27
index 8773919..4f8c856 100644
343f27
--- a/tests/cli-test-xml/compare/many-devices.xml
343f27
+++ b/tests/cli-test-xml/compare/many-devices.xml
343f27
@@ -66,6 +66,11 @@
343f27
       <mac address='00:11:22:33:44:55'/>
343f27
       <model type='virtio'/>
343f27
     </interface>
343f27
+    <interface type='direct'>
343f27
+      <source dev='eth5' mode='vepa'/>
343f27
+      <mac address='00:11:22:33:44:55'/>
343f27
+      <target dev='mytap12'/>
343f27
+    </interface>
343f27
     <input type='mouse' bus='ps2'/>
343f27
     <serial type='tcp'>
343f27
       <source mode='bind' host='127.0.0.1' service='2222'/>
343f27
@@ -148,6 +153,11 @@
343f27
       <mac address='00:11:22:33:44:55'/>
343f27
       <model type='virtio'/>
343f27
     </interface>
343f27
+    <interface type='direct'>
343f27
+      <source dev='eth5' mode='vepa'/>
343f27
+      <mac address='00:11:22:33:44:55'/>
343f27
+      <target dev='mytap12'/>
343f27
+    </interface>
343f27
     <input type='mouse' bus='ps2'/>
343f27
     <serial type='tcp'>
343f27
       <source mode='bind' host='127.0.0.1' service='2222'/>
343f27
diff --git a/tests/clitest.py b/tests/clitest.py
343f27
index 86f670e..fcaac02 100644
343f27
--- a/tests/clitest.py
343f27
+++ b/tests/clitest.py
343f27
@@ -461,7 +461,7 @@ vinst.add_category("misc", "--nographics --noautoconsole")
343f27
 vinst.add_compare("misc", "", "noargs-fail")  # No arguments
343f27
 vinst.add_compare("misc", "--hvm --nodisks --pxe --print-step all", "simple-pxe")  # Diskless PXE install
343f27
 vinst.add_compare("misc", "--hvm --cdrom %(EXISTIMG2)s --file %(EXISTIMG1)s --os-variant win2k3 --wait 0 --vcpus cores=4", "w2k3-cdrom")  # HVM windows install with disk
343f27
-vinst.add_compare("misc", """--hvm --pxe --controller usb,model=ich9-ehci1,address=0:0:4.7,index=0 --controller usb,model=ich9-uhci1,address=0:0:4.0,index=0,master=0 --controller usb,model=ich9-uhci2,address=0:0:4.1,index=0,master=2 --controller usb,model=ich9-uhci3,address=0:0:4.2,index=0,master=4 --disk %(MANAGEDEXISTUPPER)s,cache=writeback,io=threads,perms=sh,serial=WD-WMAP9A966149 --disk %(NEWIMG1)s,sparse=false,size=.001,perms=ro,error_policy=enospace --disk device=cdrom,bus=sata --serial tcp,host=:2222,mode=bind,protocol=telnet --filesystem /source,/target,mode=squash --network user,mac=12:34:56:78:11:22 --network bridge=foobar,model=virtio --channel spicevmc --smartcard passthrough,type=spicevmc --security type=static,label='system_u:object_r:svirt_image_t:s0:c100,c200',relabel=yes  --numatune \\"1-3,5\\",mode=preferred --boot loader=/foo/bar """, "many-devices")  # Lot's of devices
343f27
+vinst.add_compare("misc", """--hvm --pxe --controller usb,model=ich9-ehci1,address=0:0:4.7,index=0 --controller usb,model=ich9-uhci1,address=0:0:4.0,index=0,master=0 --controller usb,model=ich9-uhci2,address=0:0:4.1,index=0,master=2 --controller usb,model=ich9-uhci3,address=0:0:4.2,index=0,master=4 --disk %(MANAGEDEXISTUPPER)s,cache=writeback,io=threads,perms=sh,serial=WD-WMAP9A966149 --disk %(NEWIMG1)s,sparse=false,size=.001,perms=ro,error_policy=enospace --disk device=cdrom,bus=sata --serial tcp,host=:2222,mode=bind,protocol=telnet --filesystem /source,/target,mode=squash --network user,mac=12:34:56:78:11:22 --network bridge=foobar,model=virtio --channel spicevmc --network type=direct,source=eth5,source_mode=vepa,target=mytap12 --smartcard passthrough,type=spicevmc --security type=static,label='system_u:object_r:svirt_image_t:s0:c100,c200',relabel=yes  --numatune \\"1-3,5\\",mode=preferred --boot loader=/foo/bar """, "many-devices")  # Lot's of devices
343f27
 vinst.add_compare("misc", "--connect %(DEFAULTURI)s --hvm --nodisks --pxe --cpuset auto --vcpus 2", "cpuset-auto")  # --cpuset=auto actually works
343f27
 vinst.add_valid("misc", "--hvm --disk path=virt-install,device=cdrom")  # Specifying cdrom media via --disk
343f27
 vinst.add_valid("misc", "--hvm --import --disk path=virt-install")  # FV Import install
343f27
diff --git a/virtinst/cli.py b/virtinst/cli.py
343f27
index 2778ecc..7c4912a 100644
343f27
--- a/virtinst/cli.py
343f27
+++ b/virtinst/cli.py
343f27
@@ -1761,6 +1761,9 @@ def parse_network(guest, optstring, dev=None, mac=None):
343f27
     set_param("type", "type", net_type)
343f27
     set_param("network", "network")
343f27
     set_param("bridge", "bridge")
343f27
+    set_param("source", "source")
343f27
+    set_param("source_mode", "source_mode")
343f27
+    set_param("target_dev", "target")
343f27
     set_param("model", "model")
343f27
     set_param("macaddr", "mac")
343f27
343f27
-- 
343f27
1.8.5.2
343f27