上文针对Qemu在前端网络流路径的建立方面做了具体的描写叙述。数据包从Host的物理网卡经过Host Linux内核中的Bridge, 经过Tap设备到达了Qemu的用户态空间。而Qemu是怎样把数据包送进Guest中的呢,这里必定要说到到虚拟网卡的建立。
当命令行传入nic相关參数时,Qemu就会解析网络相关的參数后进入虚拟网卡的创建流程。而在上文中提到对于全部-net类型的设备,都视作一个net client来对待。而在net client的建立之前,须要先创建Qemu内部的hub和相应的port,来关联每个net client,而对于每个创建的-net类型的设备都是能够能够配置其接口的vlan号,从而控制数据包在当中配置的vlan内部进行转发。从而做到多个虚拟设备之间的switch。