[PATCHv2 1/4] virDomain: interface: add virDomainNetDefIsOvsport

Michal Prívozník mprivozn at redhat.com
Fri Jul 2 15:46:21 UTC 2021


On 7/1/21 10:42 AM, zhangjl02 wrote:
> From: zhangjl02 <zhangjl02 at 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




More information about the libvir-list mailing list