diff --git a/qbg/lldp_vdpnl.c b/qbg/lldp_vdpnl.c --- a/qbg/lldp_vdpnl.c +++ b/qbg/lldp_vdpnl.c @@ -351,14 +351,15 @@ return vdpnl_error(rc, nlh, len); vdpnl_reply1(&p, nlh, len); vf_ports = mynla_nest_start(nlh, IFLA_VF_PORTS); - vf_port = mynla_nest_start(nlh, IFLA_VF_PORT); /* Iterate over all profiles */ do { rc = vdp_status(++i, &p); - if (rc == 1) + if (rc == 1) { + vf_port = mynla_nest_start(nlh, IFLA_VF_PORT); vdpnl_reply2(&p, nlh); - if (rc == 0) { mynla_nest_end(nlh, vf_port); + } + if (rc == 0) { mynla_nest_end(nlh, vf_ports); } } while (rc == 1);