network: add support for parsing/formatting SR-IOV VFs

Signed-off-by: Lin Ma <lma@suse.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Lin Ma 2017-09-22 19:39:09 +08:00 committed by Pavel Hrdina
parent c9a26c84b0
commit 6dfc4de125
4 changed files with 21 additions and 3 deletions

View File

@ -1,5 +1,7 @@
<network>
<name>passthrough</name>
<forward mode="hostdev" managed="yes">
<pf dev="eth3"/>
<address type="pci" domain="0x0000" bus="0x03" slot="0x10" function="0x0"/>
</forward>
</network>

View File

@ -2,5 +2,6 @@
<name>new-foo</name>
<forward mode="hostdev" managed="yes">
<pf dev="eth3"/>
<address type="pci" domain="0x0000" bus="0x03" slot="0x10" function="0x0"/>
</forward>
</network>

View File

@ -1332,11 +1332,16 @@ class XMLParseTest(unittest.TestCase):
check("mode", "hostdev")
check("managed", "yes")
r = net.forward.add_pf()
r.dev = "eth3"
check = self._make_checker(r)
check = self._make_checker(net.forward.pf[0])
check("dev", "eth3")
check = self._make_checker(net.forward.vfs[0])
check("type", "pci")
check("domain", 0x0000)
check("bus", 0x03)
check("slot", 0x10)
check("function", 0x0)
utils.diff_compare(net.get_xml_config(), outfile)
utils.test_create(conn, net.get_xml_config(), "networkDefineXML")

View File

@ -77,6 +77,15 @@ class _NetworkForwardPf(XMLBuilder):
dev = XMLProperty("./@dev")
class _NetworkForwardAddress(XMLBuilder):
_XML_ROOT_NAME = "address"
type = XMLProperty("./@type")
domain = XMLProperty("./@domain", is_int=True)
bus = XMLProperty("./@bus", is_int=True)
slot = XMLProperty("./@slot", is_int=True)
function = XMLProperty("./@function", is_int=True)
class _NetworkForward(XMLBuilder):
_XML_ROOT_NAME = "forward"
@ -84,6 +93,7 @@ class _NetworkForward(XMLBuilder):
dev = XMLProperty("./@dev")
managed = XMLProperty("./@managed")
pf = XMLChildProperty(_NetworkForwardPf)
vfs = XMLChildProperty(_NetworkForwardAddress)
def add_pf(self):
r = _NetworkForwardPf(self.conn)