---
title: 启动虚拟机，虚拟机网络不通
description: "在为机密虚拟机配置网桥后，虚拟机成功启动，并可通过virsh console进入Guest，网卡初始化正常。但Guest与Host之间未能建立有效的网络连通性，表现为双方无法通过IP地址进行通信。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/cVMcont/kunpengtee_16_0046.html
sourcePath: /source/zh/kunpengcctrustzone/tee/cVMcont/kunpengtee_16_0046.html
indexId: d4ba30c741311b6c1603fff9c86c9fc851817030e8996186753b4cb74bd7cef665
---
# 启动虚拟机，虚拟机网络不通

#### 问题现象描述

在为机密虚拟机配置网桥后，虚拟机成功启动，并可通过virsh console进入Guest，网卡初始化正常。但Guest与Host之间未能建立有效的网络连通性，表现为双方无法通过IP地址进行通信。


#### 关键过程、根本原因

QEMU默认为virtio-net设备启用event_idx功能，其主要目的是减少虚拟机频繁退出并通知后端处理数据的次数，从而提升virtio-net的性能。然而，virtCCA方案引入了SWIOTLB机制，并引入与cvm退出相关的过程，这些操作涉及到安全世界与非安全世界之间的切换，增加前后端之间vring状态同步的时延。在极端情况下，后端可能未能及时将vring状态更新到前端，导致前端基于event_idx机制的判断无需发送Kick；而此时，后端的Host正处于睡眠状态，等待Kick操作，从而导致网络死锁。


#### 结论、解决方案及效果

1. 进入机密虚拟机。

```
virsh console
cvm_uefi
```


2. 卸载驱动。

```
rmmod virtio_net
```


3. 重新加载驱动。

```
modprobe virtio_net
```


  对于频繁启动销毁机密虚拟机等压力测试场景，推荐关闭virtio-net的event_idx机制以提升virtio网络稳定性，网卡配置参考libvirt方式启动中的默认虚拟机配置。
