
If openvz kernel requries specification of a NIC name for inside the container, then this is an implemntation detail that the libvirt OpenVZ driver will have to deal with. It can auto-assign them to be eth0, eth1, etc. This is not exposed in the libvirt XML though, since it is not relevant to the host admin, only apps inside the guest.
* absolutely ignore the <target dev=".."> in openvz XML description
As I said before this needs to reflect the name of the interface on the host side. It can be ignored when creating a guest, since for the majority of uses cases it can be safely auto-generated. It must be filled in when dumping XML for a guest, so the host admin knows which NIC in the host corresponds to the guest.
Here is the patch, that implements the following behaviour * interface name inside container is automatically generated and equals ethN, where N is the number of that interface within current domain * mac address of that interface inside container is generated automatically by function openvzGenerateMac * if <target dev=""> is specified, use it; otherwise, use the default openvz name, i.e., vethN.M for interface ethM in container with veid N * if <mac address='...'> specified, use it; otherwise, vzctl will generate it automatically * <target dev> and <mac address> are (re)stored (from)to $veid.conf Anton