Marek Marczykowski-Górecki wrote: > virDomainNetFindIdx no longer returns info whether device was not found, > or there was multiple matches. Additionally it already handle error > reporting. Introduce virDomainHasNet which does a simple task, without > implicit error reporting. > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx> > --- > src/conf/domain_conf.c | 21 +++++++++++++++++++++ > src/conf/domain_conf.h | 1 + > src/libvirt_private.syms | 1 + > 3 files changed, 23 insertions(+) > > diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c > index 9b7ae3f..c430e03 100644 > --- a/src/conf/domain_conf.c > +++ b/src/conf/domain_conf.c > @@ -11908,6 +11908,27 @@ virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net) > return matchidx; > } > > +bool virDomainHasNet(virDomainDefPtr def, virDomainNetDefPtr net) > Nit: libvirt style is to have return type on separate line. > +{ > + size_t i; > + bool PCIAddrSpecified = virDomainDeviceAddressIsValid(&net->info, > + VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI); > + > + for (i = 0; i < def->nnets; i++) { > + if (virMacAddrCmp(&def->nets[i]->mac, &net->mac)) > + continue; > + > + if (PCIAddrSpecified) { > Braces here are fine, where the single statement spans multiple lines. > + if (virDevicePCIAddressEqual(&def->nets[i]->info.addr.pci, > + &net->info.addr.pci)) { > + return true; > + } > But not needed here. ACK. Will fix the nits before pushing. Regards, Jim > + } else { > + return true; > + } > + } > + return false; > +} > > void > virDomainNetRemoveHostdev(virDomainDefPtr def, > diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h > index 02ddd93..36c8131 100644 > --- a/src/conf/domain_conf.h > +++ b/src/conf/domain_conf.h > @@ -2601,6 +2601,7 @@ bool virDomainHasDiskMirror(virDomainObjPtr vm); > > int virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net); > virDomainNetDefPtr virDomainNetFind(virDomainDefPtr def, const char *device); > +bool virDomainHasNet(virDomainDefPtr def, virDomainNetDefPtr net); > int virDomainNetInsert(virDomainDefPtr def, virDomainNetDefPtr net); > virDomainNetDefPtr virDomainNetRemove(virDomainDefPtr def, size_t i); > void virDomainNetRemoveHostdev(virDomainDefPtr def, virDomainNetDefPtr net); > diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms > index ba05cc6..5fe6ae0 100644 > --- a/src/libvirt_private.syms > +++ b/src/libvirt_private.syms > @@ -292,6 +292,7 @@ virDomainGraphicsTypeToString; > virDomainGraphicsVNCSharePolicyTypeFromString; > virDomainGraphicsVNCSharePolicyTypeToString; > virDomainHasDiskMirror; > +virDomainHasNet; > virDomainHostdevCapsTypeToString; > virDomainHostdevDefAlloc; > virDomainHostdevDefClear; > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list