--upload ${CACHE_DIR}/$kvmfornfv_kernel_rpm:/root/ \
     --upload ${BUILD_ROOT}/patches/puppet-neutron-vpp-ml2.patch:/usr/share/openstack-puppet/modules/neutron/ \
     --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 <  puppet-neutron-vpp-ml2.patch" \
+    --upload ${BUILD_ROOT}/patches/puppet-neutron-vpp-ml2-type_drivers-setting.patch:/usr/share/openstack-puppet/modules/neutron/ \
+    --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 <  puppet-neutron-vpp-ml2-type_drivers-setting.patch" \
     -a overcloud-full_build.qcow2
 
 mv -f overcloud-full_build.qcow2 overcloud-full.qcow2
 
--- /dev/null
+From 43261a48367ea693cfb4b6ab6f04b52e819bb5f7 Mon Sep 17 00:00:00 2001
+From: Feng Pan <fpan@redhat.com>
+Date: Mon, 8 May 2017 23:14:27 -0400
+Subject: [PATCH] Add ml2 type_drivers setting
+
+Change-Id: Ie47a1ace6302d7eccd3ead676c4e1cde7e82c5d2
+---
+ manifests/agents/ml2/vpp.pp | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/manifests/agents/ml2/vpp.pp b/manifests/agents/ml2/vpp.pp
+index faae279..0842783 100644
+--- a/manifests/agents/ml2/vpp.pp
++++ b/manifests/agents/ml2/vpp.pp
+@@ -42,6 +42,11 @@
+ #   in the vpp config.
+ #   Defaults to false.
+ #
++# [*type_drivers*]
++#   (optional) List of network type driver entrypoints to be loaded
++#   Could be an array that can contain flat, vlan or vxlan
++#   Defaults to $::os_service_default.
++#
+ class neutron::agents::ml2::vpp (
+   $package_ensure   = 'present',
+   $enabled          = true,
+@@ -51,6 +56,7 @@ class neutron::agents::ml2::vpp (
+   $etcd_port        = $::os_service_default,
+   $etcd_user        = $::os_service_default,
+   $etcd_pass        = $::os_service_default,
++  $type_drivers     = $::os_service_default,
+   $purge_config     = false,
+ ) {
+   include ::neutron::deps
+@@ -61,11 +67,12 @@ class neutron::agents::ml2::vpp (
+   }
+ 
+   neutron_agent_vpp {
+-    'ml2_vpp/physnets': value  => $physnets;
++    'ml2_vpp/physnets':  value => $physnets;
+     'ml2_vpp/etcd_host': value => $etcd_host;
+     'ml2_vpp/etcd_port': value => $etcd_port;
+     'ml2_vpp/etcd_user': value => $etcd_user;
+     'ml2_vpp/etcd_pass': value => $etcd_pass;
++    'ml2/type_drivers':  value => join(any2array($type_drivers), ',');
+   }
+ 
+   package { 'neutron-vpp-agent':
+-- 
+2.9.3
+