1. vhost vring设置
VHOST_SET_VRING_KICK:
建立virtio前端到vhost后端的通知机制;
VHOST_SET_VRING_CALL:
建立vhost后端到virtio前端的通知机制;
2. VHOST_SET_VRING_KICK 原理
vhost后端驱动使用,如vsock注册的收发包kick函数,
vsock->vqs[VSOCK_VQ_TX].handle_kick = vhost_vsock_handle_tx_kick; //用于host收包
vsock->vqs[VSOCK_VQ_RX].handle_kick = vhost_vsock_handle_rx_kick; //用于host发包
下面步骤解释了evenfd与kick之间如何建立的联系。
1) handle_kick 注册到哪里了?
VSOCK_VQ_RX = 0, /* for host to guest data */
VSOCK_VQ_TX = 1, /* for guest to host data */