diff --git a/linux/files/ovs_bridge b/linux/files/ovs_bridge
new file mode 100644
-index 0000000..575d38f
+index 0000000..216581f
--- /dev/null
+++ b/linux/files/ovs_bridge
-@@ -0,0 +1,12 @@
+@@ -0,0 +1,10 @@
+auto {{ bridge_name }}
+allow-ovs {{ bridge_name }}
+iface {{ bridge_name }} inet static
+ ovs_type OVSBridge
+ address {{ bridge.address }}
+ netmask {{ bridge.netmask }}
-+ {%- if bridge.gateway is defined %}
-+ gateway {{ bridge.gateway }}
-+ {%- endif %}
-+ {%- if bridge.ovs_options is defined %}
-+ ovs_options {{ bridge.ovs_options }}
++ mtu {{ bridge.get('mtu', '1500') }}
++ {%- if bridge.datapath_type is defined %}
++ ovs_extra set Bridge ${IFACE} datapath_type={{ bridge.datapath_type }}
+ {%- endif %}
diff --git a/linux/files/ovs_port b/linux/files/ovs_port
index 222ca8e..efb0307 100644
mtu {{ port.get('mtu', '1500') }}
ovs_bridge {{ port.bridge }}
diff --git a/linux/network/interface.sls b/linux/network/interface.sls
-index 3e79847..dc7180a 100644
+index fa37e5e..b5ed1ae 100644
--- a/linux/network/interface.sls
+++ b/linux/network/interface.sls
-@@ -72,6 +72,34 @@ remove_cloud_init_file:
+@@ -91,6 +91,34 @@ add_int_{{ int_name }}_to_ovs_dpdk_bridge_{{ interface_name }}:
ovs_bridge_{{ interface_name }}:
openvswitch_bridge.present:
- name: {{ interface_name }}