On 09/20/2018 04:52 AM, Frank Wang wrote:
Hi All,
I'd like to know what determines the type of virtual NIC in libvirt ?
There was a problem I encountered, the vm can't get the mirror traffic
while the virtual port in openvswitch is veth, If the virtual port is
tun, the everything is fine.
[root@allinone-247 ~]# ethtool -i vn62f717800
driver: veth
version: 1.0
firmware-version:
expansion-rom-version:
bus-info:
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
I uninstall the veth kernel module, then restart vm, then the vm can
receive the mirror traffic
[root@allinone-247 ~]# ethtool -i vn62f717800
driver: tun
version: 1.6
firmware-version:
expansion-rom-version:
bus-info: tap
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
so, I'm wondering if there are configuration options which can be
configured to use which type of virtual NIC(tap or veth).
Any comments would be appreciate.
From IRC, here is the <interface> you posted:
<interface type="bridge">
<mac address="00:16:3e:73:30:07"/>
<source bridge="managevSwitch"/>
<vlan>
<tag id="0"/>
</vlan>
<virtualport type="openvswitch">
<parameters interfaceid="8a344c7762a32b2d0162db9d09f42efa"/>
</virtualport>
<target dev="vnfa3b798b1"/>
<model type="virtio"/>
<address type="pci" domain="0x0000" bus="0x0"
function="0x0"
slot="0x11"/>
</interface>
If you are creating a qemu/kvm virtual machine, the above interface
config will *always* get you a tap device, and if you are creating an
LXC virtual machine it will always get you a veth device. This is a
necessity of the way the two technologies expose the network device in
the guest; if you are getting a veth device for use with qemu/kvm, or a
tap device for use with LXC, then there is something going on that I
don't understand.