Merge pull request #72 from aplsms/feature-tap_custom_txqueuelen
Feature: automatically set txqueuelen for all tap* network interfaces
diff --git a/README.rst b/README.rst
index f9dede9..c16d319 100644
--- a/README.rst
+++ b/README.rst
@@ -888,6 +888,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 ad695ae..bed9a3f 100644
--- a/linux/network/interface.sls
+++ b/linux/network/interface.sls
@@ -292,3 +292,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 %}