[libvirt] PATCH go-xml : add virtualport support

Karol Czeryna karol at e-dot.pl
Wed Nov 15 11:55:36 UTC 2017


Hi guys!

Working with terraform libvirt plugin I discovered lack of openvswitch support - but in libvirt-go there is no support for virtualport entry.. this patch adds virtualport support.

diff --git a/network.go b/network.go
index 10c4dfc..0f072ec 100644
--- a/network.go
+++ b/network.go
@@ -36,6 +36,16 @@ type NetworkBridge struct {
 	MACTableManager string `xml:"macTableManager,attr,omitempty"`
 }

+type VirtualPortParameters struct {
+	InterfaceID string `xml:"interfaceid,attr,omitempty"`
+	ProfileID   string `xml:"profileid,attr,omitempty"`
+}
+
+type VirtualPort struct {
+	Type       string                  `xml:"type,attr,omitempty"`
+	Parameters []VirtualPortParameters `xml:"parameters,omitempty"`
+}
+
 type NetworkDomain struct {
 	Name      string `xml:"name,attr,omitempty"`
 	LocalOnly string `xml:"localOnly,attr,omitempty"`
@@ -152,6 +162,7 @@ type Network struct {
 	UUID                string          `xml:"uuid,omitempty"`
 	MAC                 *NetworkMAC     `xml:"mac"`
 	Bridge              *NetworkBridge  `xml:"bridge"`
+	VirtualPort         *VirtualPort    `xml:"virtualport"`
 	Forward             *NetworkForward `xml:"forward"`
 	Domain              *NetworkDomain  `xml:"domain"`
 	IPs                 []NetworkIP     `xml:"ip"`
diff --git a/network_test.go b/network_test.go
index 3efb278..10cce66 100644
--- a/network_test.go
+++ b/network_test.go
@@ -65,6 +65,14 @@ var networkTestData = []struct {
 			Bridge: &NetworkBridge{
 				Name: "virbr0",
 			},
+			VirtualPort: &VirtualPort{
+				Type: "openvswitch",
+				Parameters: []VirtualPortParameters{
+					VirtualPortParameters{
+						InterfaceID: "09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f",
+					},
+				},
+			},
 			Forward: &NetworkForward{
 				Mode: "nat",
 				NAT: &NetworkForwardNAT{
@@ -175,6 +183,9 @@ var networkTestData = []struct {
 			`<network>`,
 			`  <name>test</name>`,
 			`  <bridge name="virbr0"></bridge>`,
+			`  <virtualport type="openvswitch">`,
+			`    <parameters interfaceid="09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f"></parameters>`,
+			`  </virtualport>`,
 			`  <forward mode="nat">`,
 			`    <nat>`,
 			`      <address start="1.2.3.4" end="1.2.3.10"></address>`,


Best,
Karol







More information about the libvir-list mailing list