Index: /drbl-virt/sbin/drbl_PXE_PV-VM_deploy.sh
===================================================================
--- /drbl-virt/sbin/drbl_PXE_PV-VM_deploy.sh	(revision 182)
+++ /drbl-virt/sbin/drbl_PXE_PV-VM_deploy.sh	(revision 183)
@@ -12,5 +12,5 @@
 source /opt/drbl-virt/conf/drbl-virt.conf
 source $Work_Path/functions_drbl_virt
-
+source ./functions_drbl_virt
 # [Main]
 # = 0. Variables setup =
@@ -32,7 +32,9 @@
     Host_last_IP=""
     get_Host_IP_range
+
     # == Get VM number, IP range & prefix name ==
     declare -i VM_IP_range=""
     declare -i Host_last_IP_4=""
+    declare -i VM_Host_totoal_nu=""
     VM_first_IP=""
     VM_last_IP=""
@@ -41,7 +43,11 @@
     create_VM_IP_table 
 
-done
+    # == Generate MAC address  ==
+    # MAC address [00:16:3e:xx:xx:xx] is for Xen use
+    generate_Xen_MAC_address
+    
 
 
+done
 
 # = 1. Copy VM fs =
Index: /drbl-virt/sbin/functions_drbl_virt
===================================================================
--- /drbl-virt/sbin/functions_drbl_virt	(revision 182)
+++ /drbl-virt/sbin/functions_drbl_virt	(revision 183)
@@ -236,5 +236,5 @@
 #/etc/drbl-virt/etc/IP_VM_eth
 VM_prefix_eth=$(echo $eth |  sed 's/eth//g')
-declare -i VM_Host_totoal_nu=$((${Host_last_IP_4}-1+${VM_IP_range}))
+VM_Host_totoal_nu=$((${Host_last_IP_4}-1+${VM_IP_range}))
 if [ -e /opt/drbl-virt/etc/IP_VM_$eth ]; then
     mv /opt/drbl-virt/etc/IP_VM_$eth /opt/drbl-virt/etc/IP_VM_${eth}.$(date +%Y-%m-%d-%H-%M-%S).drbl-virt_bak
@@ -244,5 +244,4 @@
 declare -i VM_IP_2=""
 declare -i VM_IP_3=""
-
 
 # 2 bit
@@ -268,5 +267,5 @@
             VM_IP_3=$i
             echo "${eth_network_f3}.${VM_IP_3} ${VM_prefix_name}${VM_IP_0}${VM_IP_1}${VM_IP_2}${VM_IP_3}" >> /opt/drbl-virt/etc/IP_VM_$eth
-        elif [ $i -lt 100 ]; then
+        elif [ $i -ge 10 ] && [ $i -lt 100 ]; then
             VM_IP_1=0
             VM_IP_2=$i
@@ -282,5 +281,44 @@
 }
 
-
-
-
+function generate_Xen_MAC_address(){
+echo "eth $eth"
+echo "VM_Host_totoal_nu $VM_Host_totoal_nu"
+echo "Host_last_IP_4 $Host_last_IP_4"
+echo "VM_prefix_eth $VM_prefix_eth"
+
+# /opt/drbl-virt/etc/macadr-VM-ethX.txt
+# MAC address [00:16:3e:xx:xx:xx] is for Xen use
+declare -i Xen_MAC_1="0"
+declare -i Xen_MAC_2="$VM_prefix_eth"
+declare -i Xen_MAC_3="0"
+declare -i Xen_MAC_4="0"
+Xen_MAC_5=""
+Xen_MAC_6=""
+
+# backup
+mv /opt/drbl-virt/etc/macadr-VM-$eth.txt /opt/drbl-virt/etc/macadr-VM-$eth.txt.$(date +%Y-%m-%d-%H-%M-%S).drbl-virt_bak
+
+# generate MAC
+for (( i=0 ; i<="$VM_Host_totoal_nu" ; i++ ))
+do
+    if [ $i -lt 10 ]; then
+        Xen_MAC_5=0
+        Xen_MAC_6=$i
+        echo "00:16:3e:${Xen_MAC_1}${Xen_MAC_2}:${Xen_MAC_3}${Xen_MAC_4}:${Xen_MAC_5}${Xen_MAC_6}" >> /opt/drbl-virt/etc/macadr-VM-$eth.txt
+    elif [ $i -ge 10 ] && [ $i -le 15 ] ; then
+        Xen_MAC_5=0
+        # translate 10(dec) to 16(hex)
+        printf '%X\n' $i > /tmp/drbl-virt_MAC
+        Xen_MAC_6=$(cat /tmp/drbl-virt_MAC)
+        echo "00:16:3e:${Xen_MAC_1}${Xen_MAC_2}:${Xen_MAC_3}${Xen_MAC_4}:${Xen_MAC_5}${Xen_MAC_6}" >> /opt/drbl-virt/etc/macadr-VM-$eth.txt
+    else
+        printf '%X\n' $i > /tmp/drbl-virt_MAC
+        Xen_MAC_5=$(cat /tmp/drbl-virt_MAC)
+        echo "00:16:3e:${Xen_MAC_1}${Xen_MAC_2}:${Xen_MAC_3}${Xen_MAC_4}:${Xen_MAC_5}" >> /opt/drbl-virt/etc/macadr-VM-$eth.txt
+    fi
+done
+
+
+}
+
+
