Hi.
I rewrite functions taken from vzctl in the new patch, so this:
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
is true, while that:
the functions openvzGenerateMac and
openvzGenerateVethName are taken from vzctl sources and slightly
changed then
is not true anymore.
+static char *
+openvzGenerateMac(void)
+{
+ char mac[6] = {
+ 0x52,
+ 0x54,
+ 0x00,
How did you get 0x52, 0x54, 0x00?
+ if (net->type == VIR_DOMAIN_NET_TYPE_BRIDGE) {
+ static int vnetNo = 0;
Libvirt may be use as library in applications. If some will call create
2 containers, then first container will have eth0...ethN
second will have ethN+1...
Other looks good.