diff --git a/VERSION b/VERSION
index 781dcb0..65087b4 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.1.3
+1.1.4
diff --git a/vfioveth b/vfioveth
old mode 100755
new mode 100644
index c84165d..029e633
--- a/vfioveth
+++ b/vfioveth
@@ -22,6 +22,18 @@
 	echo $mac
 }
 
+add_vlan() {
+	vfpci=$(echo $CNI_CONF | jq -r '.deviceID')
+        local pf=$(readlink /sys/devices/pci*/*/$vfpci/physfn | awk '{print substr($1,4)}')
+        local pfName=$(ls /sys/devices/pci*/*/$pf/net/ | head -1)
+        local idx=$(ls -l /sys/devices/pci*/*/$pf | awk -v vf=$vfpci 'substr($11,4)==vf {print substr($9,7)}')
+
+        vlan=$(echo $CNI_CONF | jq -r '.vlan // empty')
+        if [ ! -z "$vlan" ]; then
+	        ip link set $pfName vf $idx vlan $vlan
+        fi
+}
+
 ipam() {
 	local plugin=$(echo $CNI_CONF | jq -r '.ipam.type')
 	local res=$(echo $"$CNI_CONF" | "$plugin" | jq -c '.')
@@ -50,17 +62,31 @@
 	ip netns exec $CNI_CONTAINERID ip link del $CNI_IFNAME
 }
 
+delete_vlan() {
+	vfpci=$(echo $CNI_CONF | jq -r '.deviceID')
+        local pf=$(readlink /sys/devices/pci*/*/$vfpci/physfn | awk '{print substr($1,4)}')
+        local pfName=$(ls /sys/devices/pci*/*/$pf/net/ | head -1)
+        local idx=$(ls -l /sys/devices/pci*/*/$pf | awk -v vf=$vfpci 'substr($11,4)==vf {print substr($9,7)}')
+
+        vlan=$(echo $CNI_CONF | jq -r '.vlan // empty')
+        if [ ! -z "$vlan" ]; then
+                ip link set $pfName vf $idx vlan 0
+        fi
+}
+
 case $CNI_COMMAND in
 ADD)
 	res=$(ipam)
 	ip=$(echo $res | jq -r '.ips[0].address')
 	add_pair_ns $ip
+	add_vlan
 	echo '{"cniVersion":"0.3.1"}' | jq -c --arg ip $ip '.ips[0].address = $ip' >&3
 	;;
 DEL)
 	set +o errexit
 	ipam
 	delete_pair_ns
+	delete_vlan
 	set -o errexit
 	;;
 *)
