From: zhangjl02 Date: Wed, 7 Jul 2021 09:18:16 +0000 (+0800) Subject: virDomain: interface: add virDomainNetDefIsOvsport X-Git-Tag: v7.6.0-rc1~236 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b9cbf5587ecb693779d9bfdaf1bc7184028318aa;p=thirdparty%2Flibvirt.git virDomain: interface: add virDomainNetDefIsOvsport Tell whether a port definition is an ovs managed virtual port Signed-off-by: Jinsheng Zhang Reviewed-by: Michal Privoznik --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 2d8ae7e860..f1d4ef021c 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -29107,6 +29107,17 @@ virDomainNetGetActualVirtPortProfile(const virDomainNetDef *iface) } } +/* Check whether the port is an ovs managed port */ +bool +virDomainNetDefIsOvsport(const virDomainNetDef *net) +{ + const virNetDevVPortProfile *vport = virDomainNetGetActualVirtPortProfile(net); + virDomainNetType actualType = virDomainNetGetActualType(net); + + return (actualType == VIR_DOMAIN_NET_TYPE_BRIDGE) && vport && + vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH; +} + const virNetDevBandwidth * virDomainNetGetActualBandwidth(const virDomainNetDef *iface) { diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index c31531c93b..f3a4d0fa93 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3612,6 +3612,8 @@ int virDomainNetGetActualDirectMode(const virDomainNetDef *iface); virDomainHostdevDef *virDomainNetGetActualHostdev(virDomainNetDef *iface); const virNetDevVPortProfile * virDomainNetGetActualVirtPortProfile(const virDomainNetDef *iface); +bool +virDomainNetDefIsOvsport(const virDomainNetDef *net); const virNetDevBandwidth * virDomainNetGetActualBandwidth(const virDomainNetDef *iface); const virNetDevVlan *virDomainNetGetActualVlan(const virDomainNetDef *iface); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index cc7533a707..3c624a46fe 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -519,6 +519,7 @@ virDomainNetDefActualFromNetworkPort; virDomainNetDefActualToNetworkPort; virDomainNetDefFormat; virDomainNetDefFree; +virDomainNetDefIsOvsport; virDomainNetDefNew; virDomainNetDefToNetworkPort; virDomainNetDHCPInterfaces;