On 7/1/21 10:42 AM, zhangjl02 wrote:
From: zhangjl02 <zhangjl02(a)inspur.com>
Tell whether a port definition is an ovs managed virtual port
---
src/conf/domain_conf.c | 8 ++++++++
src/conf/domain_conf.h | 2 ++
src/libvirt_private.syms | 1 +
3 files changed, 11 insertions(+)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index d78f846a52..7fe72fb3f2 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -29126,6 +29126,14 @@ virDomainNetGetActualVirtPortProfile(const virDomainNetDef
*iface)
}
}
+/* Check whether the port is an ovs managed port */
+bool
+virDomainNetDefIsOvsport(virDomainNetDef *net, int actualType) {
+ const virNetDevVPortProfile *vport = virDomainNetGetActualVirtPortProfile(net);
+ return (actualType == VIR_DOMAIN_NET_TYPE_BRIDGE) && vport &&
+ vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH;
+}
+
Couple of notes:
1) We like to separate variable declaration block and code with an empty line.
2) The opening curly brace should go onto a new line. I wonder why 'ninja check'
did not catch this. Or did you not try?
3) I think that actualType argument is redundant. Why hot just query it inside the
function, e.g. like this:
virDomainNetType actualType = virDomainNetGetActualType(net);
So this is what I think should be squashed in:
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 20c60659cd..5a27cd9d7d 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -29128,9 +29128,12 @@ virDomainNetGetActualVirtPortProfile(const virDomainNetDef
*iface)
/* Check whether the port is an ovs managed port */
bool
-virDomainNetDefIsOvsport(virDomainNetDef *net, int actualType) {
+virDomainNetDefIsOvsport(const virDomainNetDef *net)
+{
const virNetDevVPortProfile *vport = virDomainNetGetActualVirtPortProfile(net);
- return (actualType == VIR_DOMAIN_NET_TYPE_BRIDGE) && vport &&
+ virDomainNetType actualType = virDomainNetGetActualType(net);
+
+ return (actualType == VIR_DOMAIN_NET_TYPE_BRIDGE) && vport &&
vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH;
}
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 12ad98ec8c..2a36c5acf1 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -3611,7 +3611,7 @@ virDomainHostdevDef *virDomainNetGetActualHostdev(virDomainNetDef
*iface);
const virNetDevVPortProfile *
virDomainNetGetActualVirtPortProfile(const virDomainNetDef *iface);
bool
-virDomainNetDefIsOvsport(virDomainNetDef *net, int actualType);
+virDomainNetDefIsOvsport(const virDomainNetDef *net);
const virNetDevBandwidth *
virDomainNetGetActualBandwidth(const virDomainNetDef *iface);
const virNetDevVlan *virDomainNetGetActualVlan(const virDomainNetDef *iface);
Michal