Xen hypervisor itself doesn't has any networking support (in fact, no any other device drivers except the console). All the networking infrastructure is done in dom0.
Dom0 and domU use the split network driver to communicate. Dom0 will create vif. using netback, and connect it with the virtual interface in domU, which is initialed by netfront.
Dom0 also has vif0.0, vif0.1, etc and veth0, veth1, etc. But it's absolutely different things, and nothing to do with netback/netfront. They are created by the net loopback driver, mainly for dom0 to communicate with the bridged networking. The net loopback driver is obsolete in xen 3.2+ (dom0 will use the bridge directly).
The net loopback driver usually compiled to the kernel. To prevent it from creating the looped vifs, by passing "netloop.nloopbacks=0" to the kernel command line.
You can attach virtual network interface to Dom0, just as for domU:
# xm network-attach 0
By default, the newly attached vif will named vif0.0. So the name will fail duo to conflicting with the loopback vifs. To make it work, either prevent the net loopback driver from creating these vifs, or specify a different vif name when attaching:
# xm network-attach 0 vifname=<uniq-vif-name>
Even after netback create the vif, then netfront driver in Dom0 still cannot initial it. See the codes in drivers/xen/netfront/netfront.c:netif_init:
Xen Dom0 Networking
Xen hypervisor itself doesn't has any networking support (in fact, no any other device drivers except the console). All the networking infrastructure is done in dom0.
Dom0 and domU use the split network driver to communicate. Dom0 will create vif. using netback, and connect it with the virtual interface in domU, which is initialed by netfront.
Dom0 also has vif0.0, vif0.1, etc and veth0, veth1, etc. But it's absolutely different things, and nothing to do with netback/netfront. They are created by the net loopback driver, mainly for dom0 to communicate with the bridged networking. The net loopback driver is obsolete in xen 3.2+ (dom0 will use the bridge directly).
The net loopback driver usually compiled to the kernel. To prevent it from creating the looped vifs, by passing "netloop.nloopbacks=0" to the kernel command line.
You can attach virtual network interface to Dom0, just as for domU:
By default, the newly attached vif will named vif0.0. So the name will fail duo to conflicting with the loopback vifs. To make it work, either prevent the net loopback driver from creating these vifs, or specify a different vif name when attaching:
Even after netback create the vif, then netfront driver in Dom0 still cannot initial it. See the codes in drivers/xen/netfront/netfront.c:netif_init:
if (is_initial_xendomain()) return 0;Reference
Categories
Feeds
Tags
Copyright © 2012 Zhigang Wang. Some right reserved.
The views expressed on this web site are my own and do not necessarily reflect the views of Oracle.