tests/qtest: failover: check missing guest feature
If QEMU provides the VIRTIO_NET_F_STANDBY feature but the guest doesn't the primary device must be kept hidden Signed-off-by: Laurent Vivier <lvivier@redhat.com> Message-Id: <20220203141537.972317-5-lvivier@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
93262464d2
commit
78475083f7
@ -404,6 +404,38 @@ static void test_enabled(void)
|
|||||||
machine_stop(qts);
|
machine_stop(qts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_guest_off(void)
|
||||||
|
{
|
||||||
|
QTestState *qts;
|
||||||
|
QVirtioPCIDevice *vdev;
|
||||||
|
uint64_t features;
|
||||||
|
|
||||||
|
qts = machine_start(BASE_MACHINE
|
||||||
|
"-netdev user,id=hs0 "
|
||||||
|
"-device virtio-net,bus=root0,id=standby0,"
|
||||||
|
"failover=on,netdev=hs0,mac="MAC_STANDBY0" "
|
||||||
|
"-netdev user,id=hs1 "
|
||||||
|
"-device virtio-net,bus=root1,id=primary0,"
|
||||||
|
"failover_pair_id=standby0,netdev=hs1,mac="MAC_PRIMARY0" ",
|
||||||
|
2);
|
||||||
|
|
||||||
|
check_one_card(qts, true, "standby0", MAC_STANDBY0);
|
||||||
|
check_one_card(qts, false, "primary0", MAC_PRIMARY0);
|
||||||
|
|
||||||
|
features = ~(QVIRTIO_F_BAD_FEATURE |
|
||||||
|
(1ull << VIRTIO_RING_F_INDIRECT_DESC) |
|
||||||
|
(1ull << VIRTIO_RING_F_EVENT_IDX) |
|
||||||
|
(1ull << VIRTIO_NET_F_STANDBY));
|
||||||
|
|
||||||
|
vdev = start_virtio_net_internal(qts, 1, 0, &features);
|
||||||
|
|
||||||
|
check_one_card(qts, true, "standby0", MAC_STANDBY0);
|
||||||
|
check_one_card(qts, false, "primary0", MAC_PRIMARY0);
|
||||||
|
|
||||||
|
qos_object_destroy((QOSGraphObject *)vdev);
|
||||||
|
machine_stop(qts);
|
||||||
|
}
|
||||||
|
|
||||||
static void test_hotplug_1(void)
|
static void test_hotplug_1(void)
|
||||||
{
|
{
|
||||||
QTestState *qts;
|
QTestState *qts;
|
||||||
@ -1351,6 +1383,7 @@ int main(int argc, char **argv)
|
|||||||
test_on_mismatch);
|
test_on_mismatch);
|
||||||
qtest_add_func("failover-virtio-net/params/off", test_off);
|
qtest_add_func("failover-virtio-net/params/off", test_off);
|
||||||
qtest_add_func("failover-virtio-net/params/enabled", test_enabled);
|
qtest_add_func("failover-virtio-net/params/enabled", test_enabled);
|
||||||
|
qtest_add_func("failover-virtio-net/params/guest_off", test_guest_off);
|
||||||
|
|
||||||
/* hotplug tests */
|
/* hotplug tests */
|
||||||
qtest_add_func("failover-virtio-net/hotplug/1", test_hotplug_1);
|
qtest_add_func("failover-virtio-net/hotplug/1", test_hotplug_1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user