vif = ['type=ioemu, ip=192.168.122.101, vifname=vifvm102.0, mac=00:16:3e:f1:51:45, rate=12800KB/s, bridge=br0']
If i replace it to following then it works fine.
vif = ['type=ioemu, rate=12800KB/s, bridge=br0']
here are logs
bridge=br0
'[' -z br0 ']'
RET=0
ip link show br0
vifname=vifvm102.0
'[' vifvm102.0 ']'
'[' online ']'
ip link show vifvm102.0
'[' 0 -eq 1 ']'
case "$command" in
setup_virtual_bridge_port tap-vifvm102.0
_setup_bridge_port tap-vifvm102.0 1
local dev=tap-vifvm102.0
local virtual=1
ip link set tap-vifvm102.0 down
do_or_die ip link set vif37.0 name vifvm102.0
ip link set vif37.0 name vifvm102.0
'[' 1 -ne 0 ']'
ip link set tap-vifvm102.0 address fe:ff:ff:ff:ff:ff
RTNETLINK answers: Device or resource busy
fatal ip link set vif37.0 name 'vifvm102.0 failed'
_xenstore_write backend/vif/37/0/hotplug-error 'ip link set vif37.0 name vifvm102.0 failed' backend/vif/37/0/hotplug-status error
log debug 'Writing backend/vif/37/0/hotplug-error' 'ip link set vif37.0 name vifvm102.0 failed' backend/vif/37/0/hotplug-status 'error to xenstore.'
local level=debug
shift