
On Tue, Jul 2, 2019 at 9:11 AM Erik Skultety <eskultet@redhat.com> wrote:
On Fri, Jun 28, 2019 at 10:01:04PM +0200, Ilias Stamatis wrote:
Signed-off-by: Ilias Stamatis <stamatis.iliass@gmail.com> ---
The only thing changed since v1 is calling virDomainObjGetOneDef to get the appropriate def pointer.
src/test/test_driver.c | 104 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+)
diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 4b1f2724a0..dd756ed8bd 100755 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -1964,6 +1964,109 @@ static int testDomainGetInfo(virDomainPtr domain, return ret; }
+ +static int +testDomainGetInterfaceParameters(virDomainPtr dom, + const char *device, + virTypedParameterPtr params, + int *nparams, + unsigned int flags) +{ + size_t i; + virDomainObjPtr vm = NULL; + virDomainDefPtr def = NULL; + virDomainNetDefPtr net = NULL; + int ret = -1; + + virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | + VIR_DOMAIN_AFFECT_CONFIG | + VIR_TYPED_PARAM_STRING_OKAY, -1); + + if ((*nparams) == 0) { + *nparams = 7; + return 0; + } + + if (!(vm = testDomObjFromDomain(dom))) + return -1; + + if (!(def = virDomainObjGetOneDef(vm, flags))) + goto cleanup; + + if (!(net = virDomainNetFind(def, device))) + goto cleanup; + + for (i = 0; i < *nparams && i < 7; i++) { + switch (i) { + case 0: /* inbound.average */ + if (virTypedParameterAssign(¶ms[i], + VIR_DOMAIN_BANDWIDTH_IN_AVERAGE, + VIR_TYPED_PARAM_UINT, 0) < 0) + goto cleanup; + if (net->bandwidth && net->bandwidth->in) + params[i].value.ui = net->bandwidth->in->average; + break;
Okay, we'll need a macro ^here too. Contrary to what I said in the response to the other GetXParameters, we don't need to make the macro too generic to suit every need, since in ^this particular case, we could also place the 'if' clause in it too.
Regards, Erik
Or we could collect the values in the beginning and then use the generic macro I suggested on the other e-mail. What do you think? Ilias