Feature: automatically set txqueuelen for all tap* network interfaces
Config:

linux:
  network:
    tap_custom_txqueuelen: 10000

in case of configuration parameter defined will create file:

/etc/udev/rules.d/60-net-txqueue.rules

with content:

KERNEL==”tap[0-9a-z\-]*", RUN+="/sbin/ip link set %k txqueuelen 10000"
diff --git a/README.rst b/README.rst
index 22b8b1a..7860bdf 100644
--- a/README.rst
+++ b/README.rst
@@ -771,6 +771,14 @@
           - timeout: 2
           - attempts: 2
 
+**setting custom TX queue length for tap interfaces**
+
+.. code-block:: yaml
+
+    linux:
+      network:
+        tap_custom_txqueuelen: 10000
+
 DPDK OVS interfaces
 --------------------
 
diff --git a/linux/files/60-net-txqueue.rules b/linux/files/60-net-txqueue.rules
new file mode 100644
index 0000000..7805c9c
--- /dev/null
+++ b/linux/files/60-net-txqueue.rules
@@ -0,0 +1 @@
+KERNEL==”tap[0-9a-z\-]*", RUN+="/sbin/ip link set %k txqueuelen {{ network.tap_custom_txqueuelen }}"
\ No newline at end of file
diff --git a/linux/network/interface.sls b/linux/network/interface.sls
index a72f472..089ab9e 100644
--- a/linux/network/interface.sls
+++ b/linux/network/interface.sls
@@ -285,3 +285,13 @@
   - enable: false
 
 {%- endif %}
+
+{%- if network.tap_custom_txqueuelen is defined %}
+
+/etc/udev/rules.d/60-net-txqueue.rules:
+  file.managed:
+  - source: salt://linux/files/60-net-txqueue.rules
+  - mode: 755
+  - template: jinja
+
+{%- endif %}