diff --git a/tests/testdriver.xml b/tests/testdriver.xml
index 4ee0d0b05..d4a5d04de 100644
--- a/tests/testdriver.xml
+++ b/tests/testdriver.xml
@@ -1115,10 +1115,28 @@ ba
- plainbridge
+ plainbridge-portgroups
b1b9d7c6-f620-048f-71ee-ca3ba1ac3e98
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xmlparse-xml/network-multi-in.xml b/tests/xmlparse-xml/network-multi-in.xml
index a1e645fb4..f820cec29 100644
--- a/tests/xmlparse-xml/network-multi-in.xml
+++ b/tests/xmlparse-xml/network-multi-in.xml
@@ -22,4 +22,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xmlparse-xml/network-multi-out.xml b/tests/xmlparse-xml/network-multi-out.xml
index 51ac06a1f..36224308b 100644
--- a/tests/xmlparse-xml/network-multi-out.xml
+++ b/tests/xmlparse-xml/network-multi-out.xml
@@ -24,6 +24,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/xmlparse.py b/tests/xmlparse.py
index 980df270d..403024e1d 100644
--- a/tests/xmlparse.py
+++ b/tests/xmlparse.py
@@ -1135,6 +1135,11 @@ class XMLParseTest(unittest.TestCase):
check("mode", "nat", "route")
check("dev", None, "eth22")
+ self.assertEquals(len(net.portgroups), 2)
+ check = self._make_checker(net.portgroups[0])
+ check("name", "engineering", "foo")
+ check("default", True, False)
+
self.assertEqual(len(net.ips), 4)
check = self._make_checker(net.ips[0])
check("address", "192.168.7.1", "192.168.8.1")
diff --git a/virtinst/network.py b/virtinst/network.py
index e2ffa1201..c3baf630f 100644
--- a/virtinst/network.py
+++ b/virtinst/network.py
@@ -82,6 +82,13 @@ class _NetworkForward(XMLBuilder):
return Network.pretty_forward_desc(self.mode, self.dev)
+class _NetworkPortgroup(XMLBuilder):
+ _XML_ROOT_NAME = "portgroup"
+
+ name = XMLProperty("./@name")
+ default = XMLProperty("./@default", is_yesno=True)
+
+
class Network(XMLBuilder):
"""
Top level class for object XML
@@ -172,6 +179,7 @@ class Network(XMLBuilder):
delay = XMLProperty("./bridge/@delay", is_int=True)
macaddr = XMLProperty("./mac/@address")
+ portgroups = XMLChildProperty(_NetworkPortgroup)
ips = XMLChildProperty(_NetworkIP)
routes = XMLChildProperty(_NetworkRoute)
@@ -184,6 +192,7 @@ class Network(XMLBuilder):
self._add_child(route)
return route
+
##################
# build routines #
##################